]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/linux/ipv6.h
[IPV6]: Cache source address as well in ipv6_pinfo{}.
[net-next-2.6.git] / include / linux / ipv6.h
index 9c8f4c9ed4298d35d90e08f00ec9274370acf50d..02d14a3ff2aff93203be27619a56ae42ff6f0bd6 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _IPV6_H
 #define _IPV6_H
 
-#include <linux/config.h>
 #include <linux/in6.h>
 #include <asm/byteorder.h>
 
@@ -145,6 +144,15 @@ struct ipv6_devconf {
        __s32           max_desync_factor;
 #endif
        __s32           max_addresses;
+       __s32           accept_ra_defrtr;
+       __s32           accept_ra_pinfo;
+#ifdef CONFIG_IPV6_ROUTER_PREF
+       __s32           accept_ra_rtr_pref;
+       __s32           rtr_probe_interval;
+#ifdef CONFIG_IPV6_ROUTE_INFO
+       __s32           accept_ra_rt_info_max_plen;
+#endif
+#endif
        void            *sysctl;
 };
 
@@ -167,6 +175,11 @@ enum {
        DEVCONF_MAX_DESYNC_FACTOR,
        DEVCONF_MAX_ADDRESSES,
        DEVCONF_FORCE_MLD_VERSION,
+       DEVCONF_ACCEPT_RA_DEFRTR,
+       DEVCONF_ACCEPT_RA_PINFO,
+       DEVCONF_ACCEPT_RA_RTR_PREF,
+       DEVCONF_RTR_PROBE_INTERVAL,
+       DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN,
        DEVCONF_MAX
 };
 
@@ -229,6 +242,9 @@ struct ipv6_pinfo {
        struct in6_addr         rcv_saddr;
        struct in6_addr         daddr;
        struct in6_addr         *daddr_cache;
+#ifdef CONFIG_IPV6_SUBTREES
+       struct in6_addr         *saddr_cache;
+#endif
 
        __u32                   flow_label;
        __u32                   frag_size;