]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/net/ip6_fib.h
[SCTP]: Stop claiming that this is a "reference implementation"
[linux-2.6-omap-h63xx.git] / include / net / ip6_fib.h
index 7be4f4e3a0f2241b27ebb72aa69d0582a93a9fff..d8d85b13364dd23e3c6772a506465e71812c7685 100644 (file)
@@ -58,6 +58,7 @@ struct fib6_node
        __u16                   fn_bit;         /* bit key */
        __u16                   fn_flags;
        __u32                   fn_sernum;
+       struct rt6_info         *rr_ptr;
 };
 
 #ifndef CONFIG_IPV6_SUBTREES
@@ -83,7 +84,6 @@ struct rt6_info
 {
        union {
                struct dst_entry        dst;
-               struct rt6_info         *next;
        } u;
 
        struct inet6_dev                *rt6i_idev;
@@ -99,12 +99,21 @@ struct rt6_info
        u32                             rt6i_flags;
        u32                             rt6i_metric;
        atomic_t                        rt6i_ref;
+
+       /* more non-fragment space at head required */
+       unsigned short                  rt6i_nfheader_len;
+
+       u8                              rt6i_protocol;
+
        struct fib6_table               *rt6i_table;
 
        struct rt6key                   rt6i_dst;
-       struct rt6key                   rt6i_src;
 
-       u8                              rt6i_protocol;
+#ifdef CONFIG_XFRM
+       u32                             rt6i_flow_cache_genid;
+#endif
+
+       struct rt6key                   rt6i_src;
 };
 
 static inline struct inet6_dev *ip6_dst_idev(struct dst_entry *dst)
@@ -215,12 +224,20 @@ extern void                       fib6_run_gc(unsigned long dummy);
 
 extern void                    fib6_gc_cleanup(void);
 
-extern void                    fib6_init(void);
+extern int                     fib6_init(void);
 
-extern void                    fib6_rules_init(void);
+#ifdef CONFIG_IPV6_MULTIPLE_TABLES
+extern int                     fib6_rules_init(void);
 extern void                    fib6_rules_cleanup(void);
-extern int                     fib6_rules_dump(struct sk_buff *,
-                                               struct netlink_callback *);
-
+#else
+static inline int               fib6_rules_init(void)
+{
+       return 0;
+}
+static inline void              fib6_rules_cleanup(void)
+{
+       return ;
+}
+#endif
 #endif
 #endif