summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/ipv6.h46
-rw-r--r--include/linux/rtnetlink.h16
-rw-r--r--include/net/if_inet6.h27
3 files changed, 66 insertions, 23 deletions
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index e4f91218676d..8ff8a309bd88 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -122,6 +122,52 @@ struct ipv6hdr {
struct in6_addr daddr;
};
+/*
+ * This structure contains configuration options per IPv6 link.
+ */
+struct ipv6_devconf {
+ __s32 forwarding;
+ __s32 hop_limit;
+ __s32 mtu6;
+ __s32 accept_ra;
+ __s32 accept_redirects;
+ __s32 autoconf;
+ __s32 dad_transmits;
+ __s32 rtr_solicits;
+ __s32 rtr_solicit_interval;
+ __s32 rtr_solicit_delay;
+#ifdef CONFIG_IPV6_PRIVACY
+ __s32 use_tempaddr;
+ __s32 temp_valid_lft;
+ __s32 temp_prefered_lft;
+ __s32 regen_max_retry;
+ __s32 max_desync_factor;
+#endif
+ void *sysctl;
+};
+
+/* index values for the variables in ipv6_devconf */
+enum {
+ DEVCONF_FORWARDING = 0,
+ DEVCONF_HOPLIMIT,
+ DEVCONF_MTU6,
+ DEVCONF_ACCEPT_RA,
+ DEVCONF_ACCEPT_REDIRECTS,
+ DEVCONF_AUTOCONF,
+ DEVCONF_DAD_TRANSMITS,
+ DEVCONF_RTR_SOLICITS,
+ DEVCONF_RTR_SOLICIT_INTERVAL,
+ DEVCONF_RTR_SOLICIT_DELAY,
+#ifdef CONFIG_IPV6_PRIVACY
+ DEVCONF_USE_TEMPADDR,
+ DEVCONF_TEMP_VALID_LFT,
+ DEVCONF_TEMP_PREFERED_LFT,
+ DEVCONF_REGEN_MAX_RETRY,
+ DEVCONF_MAX_DESYNC_FACTOR,
+#endif
+ DEVCONF_MAX
+};
+
#ifdef __KERNEL__
#include <linux/in6.h> /* struct sockaddr_in6 */
#include <linux/icmpv6.h>
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h
index fd8b35209ccc..502a1389f689 100644
--- a/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
@@ -508,10 +508,12 @@ enum
#define IFLA_MASTER IFLA_MASTER
IFLA_WIRELESS, /* Wireless Extension event - see wireless.h */
#define IFLA_WIRELESS IFLA_WIRELESS
+ IFLA_PROTINFO, /* Protocol specific information for a link */
+#define IFLA_PROTINFO IFLA_PROTINFO
};
-#define IFLA_MAX IFLA_WIRELESS
+#define IFLA_MAX IFLA_PROTINFO
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
@@ -545,6 +547,18 @@ enum
for IPIP tunnels, when route to endpoint is allowed to change)
*/
+/* Subtype attributes for IFLA_PROTINFO */
+enum
+{
+ IFLA_INET6_UNSPEC,
+ IFLA_INET6_FLAGS, /* link flags */
+ IFLA_INET6_CONF, /* sysctl parameters */
+ IFLA_INET6_STATS, /* statistics */
+ IFLA_INET6_MCAST, /* MC things. What of them? */
+};
+
+#define IFLA_INET6_MAX IFLA_INET6_MCAST
+
/*****************************************************************
* Traffic control messages.
****/
diff --git a/include/net/if_inet6.h b/include/net/if_inet6.h
index dd7c451f5a90..98f5c9663799 100644
--- a/include/net/if_inet6.h
+++ b/include/net/if_inet6.h
@@ -16,7 +16,12 @@
#define _NET_IF_INET6_H
#include <net/snmp.h>
+#include <linux/ipv6.h>
+/* inet6_dev.if_flags */
+
+#define IF_RA_OTHERCONF 0x80
+#define IF_RA_MANAGED 0x40
#define IF_RA_RCVD 0x20
#define IF_RS_SENT 0x10
@@ -132,28 +137,6 @@ struct ifacaddr6
#define IFA_SITE IPV6_ADDR_SITELOCAL
#define IFA_GLOBAL 0x0000U
-struct ipv6_devconf
-{
- int forwarding;
- int hop_limit;
- int mtu6;
- int accept_ra;
- int accept_redirects;
- int autoconf;
- int dad_transmits;
- int rtr_solicits;
- int rtr_solicit_interval;
- int rtr_solicit_delay;
-#ifdef CONFIG_IPV6_PRIVACY
- int use_tempaddr;
- int temp_valid_lft;
- int temp_prefered_lft;
- int regen_max_retry;
- int max_desync_factor;
-#endif
- void *sysctl;
-};
-
struct ipv6_devstat {
struct proc_dir_entry *proc_dir_entry;
DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6);