diff options
| author | David Howells <dhowells@redhat.com> | 2012-10-13 10:46:48 +0100 | 
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2012-10-13 10:46:48 +0100 | 
| commit | 607ca46e97a1b6594b29647d98a32d545c24bdff (patch) | |
| tree | 30f4c0784bfddb57332cdc0678bd06d1e77fa185 /include/linux/rtnetlink.h | |
| parent | 08cce05c5a91f5017f4edc9866cf026908c73f9f (diff) | |
| download | olio-linux-3.10-607ca46e97a1b6594b29647d98a32d545c24bdff.tar.xz olio-linux-3.10-607ca46e97a1b6594b29647d98a32d545c24bdff.zip  | |
UAPI: (Scripted) Disintegrate include/linux
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'include/linux/rtnetlink.h')
| -rw-r--r-- | include/linux/rtnetlink.h | 611 | 
1 files changed, 1 insertions, 610 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index db71c4ad862..7002bbfd5d4 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -1,616 +1,10 @@  #ifndef __LINUX_RTNETLINK_H  #define __LINUX_RTNETLINK_H -#include <linux/types.h> -#include <linux/netlink.h> -#include <linux/if_link.h> -#include <linux/if_addr.h> -#include <linux/neighbour.h> - -/* rtnetlink families. Values up to 127 are reserved for real address - * families, values above 128 may be used arbitrarily. - */ -#define RTNL_FAMILY_IPMR		128 -#define RTNL_FAMILY_IP6MR		129 -#define RTNL_FAMILY_MAX			129 - -/**** - *		Routing/neighbour discovery messages. - ****/ - -/* Types of messages */ - -enum { -	RTM_BASE	= 16, -#define RTM_BASE	RTM_BASE - -	RTM_NEWLINK	= 16, -#define RTM_NEWLINK	RTM_NEWLINK -	RTM_DELLINK, -#define RTM_DELLINK	RTM_DELLINK -	RTM_GETLINK, -#define RTM_GETLINK	RTM_GETLINK -	RTM_SETLINK, -#define RTM_SETLINK	RTM_SETLINK - -	RTM_NEWADDR	= 20, -#define RTM_NEWADDR	RTM_NEWADDR -	RTM_DELADDR, -#define RTM_DELADDR	RTM_DELADDR -	RTM_GETADDR, -#define RTM_GETADDR	RTM_GETADDR - -	RTM_NEWROUTE	= 24, -#define RTM_NEWROUTE	RTM_NEWROUTE -	RTM_DELROUTE, -#define RTM_DELROUTE	RTM_DELROUTE -	RTM_GETROUTE, -#define RTM_GETROUTE	RTM_GETROUTE - -	RTM_NEWNEIGH	= 28, -#define RTM_NEWNEIGH	RTM_NEWNEIGH -	RTM_DELNEIGH, -#define RTM_DELNEIGH	RTM_DELNEIGH -	RTM_GETNEIGH, -#define RTM_GETNEIGH	RTM_GETNEIGH - -	RTM_NEWRULE	= 32, -#define RTM_NEWRULE	RTM_NEWRULE -	RTM_DELRULE, -#define RTM_DELRULE	RTM_DELRULE -	RTM_GETRULE, -#define RTM_GETRULE	RTM_GETRULE - -	RTM_NEWQDISC	= 36, -#define RTM_NEWQDISC	RTM_NEWQDISC -	RTM_DELQDISC, -#define RTM_DELQDISC	RTM_DELQDISC -	RTM_GETQDISC, -#define RTM_GETQDISC	RTM_GETQDISC - -	RTM_NEWTCLASS	= 40, -#define RTM_NEWTCLASS	RTM_NEWTCLASS -	RTM_DELTCLASS, -#define RTM_DELTCLASS	RTM_DELTCLASS -	RTM_GETTCLASS, -#define RTM_GETTCLASS	RTM_GETTCLASS - -	RTM_NEWTFILTER	= 44, -#define RTM_NEWTFILTER	RTM_NEWTFILTER -	RTM_DELTFILTER, -#define RTM_DELTFILTER	RTM_DELTFILTER -	RTM_GETTFILTER, -#define RTM_GETTFILTER	RTM_GETTFILTER - -	RTM_NEWACTION	= 48, -#define RTM_NEWACTION   RTM_NEWACTION -	RTM_DELACTION, -#define RTM_DELACTION   RTM_DELACTION -	RTM_GETACTION, -#define RTM_GETACTION   RTM_GETACTION - -	RTM_NEWPREFIX	= 52, -#define RTM_NEWPREFIX	RTM_NEWPREFIX - -	RTM_GETMULTICAST = 58, -#define RTM_GETMULTICAST RTM_GETMULTICAST - -	RTM_GETANYCAST	= 62, -#define RTM_GETANYCAST	RTM_GETANYCAST - -	RTM_NEWNEIGHTBL	= 64, -#define RTM_NEWNEIGHTBL	RTM_NEWNEIGHTBL -	RTM_GETNEIGHTBL	= 66, -#define RTM_GETNEIGHTBL	RTM_GETNEIGHTBL -	RTM_SETNEIGHTBL, -#define RTM_SETNEIGHTBL	RTM_SETNEIGHTBL - -	RTM_NEWNDUSEROPT = 68, -#define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT - -	RTM_NEWADDRLABEL = 72, -#define RTM_NEWADDRLABEL RTM_NEWADDRLABEL -	RTM_DELADDRLABEL, -#define RTM_DELADDRLABEL RTM_DELADDRLABEL -	RTM_GETADDRLABEL, -#define RTM_GETADDRLABEL RTM_GETADDRLABEL - -	RTM_GETDCB = 78, -#define RTM_GETDCB RTM_GETDCB -	RTM_SETDCB, -#define RTM_SETDCB RTM_SETDCB - -	__RTM_MAX, -#define RTM_MAX		(((__RTM_MAX + 3) & ~3) - 1) -}; - -#define RTM_NR_MSGTYPES	(RTM_MAX + 1 - RTM_BASE) -#define RTM_NR_FAMILIES	(RTM_NR_MSGTYPES >> 2) -#define RTM_FAM(cmd)	(((cmd) - RTM_BASE) >> 2) - -/*  -   Generic structure for encapsulation of optional route information. -   It is reminiscent of sockaddr, but with sa_family replaced -   with attribute type. - */ - -struct rtattr { -	unsigned short	rta_len; -	unsigned short	rta_type; -}; - -/* Macros to handle rtattributes */ - -#define RTA_ALIGNTO	4 -#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) ) -#define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) && \ -			 (rta)->rta_len >= sizeof(struct rtattr) && \ -			 (rta)->rta_len <= (len)) -#define RTA_NEXT(rta,attrlen)	((attrlen) -= RTA_ALIGN((rta)->rta_len), \ -				 (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rta)->rta_len))) -#define RTA_LENGTH(len)	(RTA_ALIGN(sizeof(struct rtattr)) + (len)) -#define RTA_SPACE(len)	RTA_ALIGN(RTA_LENGTH(len)) -#define RTA_DATA(rta)   ((void*)(((char*)(rta)) + RTA_LENGTH(0))) -#define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0)) - - - - -/****************************************************************************** - *		Definitions used in routing table administration. - ****/ - -struct rtmsg { -	unsigned char		rtm_family; -	unsigned char		rtm_dst_len; -	unsigned char		rtm_src_len; -	unsigned char		rtm_tos; - -	unsigned char		rtm_table;	/* Routing table id */ -	unsigned char		rtm_protocol;	/* Routing protocol; see below	*/ -	unsigned char		rtm_scope;	/* See below */	 -	unsigned char		rtm_type;	/* See below	*/ - -	unsigned		rtm_flags; -}; - -/* rtm_type */ - -enum { -	RTN_UNSPEC, -	RTN_UNICAST,		/* Gateway or direct route	*/ -	RTN_LOCAL,		/* Accept locally		*/ -	RTN_BROADCAST,		/* Accept locally as broadcast, -				   send as broadcast */ -	RTN_ANYCAST,		/* Accept locally as broadcast, -				   but send as unicast */ -	RTN_MULTICAST,		/* Multicast route		*/ -	RTN_BLACKHOLE,		/* Drop				*/ -	RTN_UNREACHABLE,	/* Destination is unreachable   */ -	RTN_PROHIBIT,		/* Administratively prohibited	*/ -	RTN_THROW,		/* Not in this table		*/ -	RTN_NAT,		/* Translate this address	*/ -	RTN_XRESOLVE,		/* Use external resolver	*/ -	__RTN_MAX -}; - -#define RTN_MAX (__RTN_MAX - 1) - - -/* rtm_protocol */ - -#define RTPROT_UNSPEC	0 -#define RTPROT_REDIRECT	1	/* Route installed by ICMP redirects; -				   not used by current IPv4 */ -#define RTPROT_KERNEL	2	/* Route installed by kernel		*/ -#define RTPROT_BOOT	3	/* Route installed during boot		*/ -#define RTPROT_STATIC	4	/* Route installed by administrator	*/ - -/* Values of protocol >= RTPROT_STATIC are not interpreted by kernel; -   they are just passed from user and back as is. -   It will be used by hypothetical multiple routing daemons. -   Note that protocol values should be standardized in order to -   avoid conflicts. - */ - -#define RTPROT_GATED	8	/* Apparently, GateD */ -#define RTPROT_RA	9	/* RDISC/ND router advertisements */ -#define RTPROT_MRT	10	/* Merit MRT */ -#define RTPROT_ZEBRA	11	/* Zebra */ -#define RTPROT_BIRD	12	/* BIRD */ -#define RTPROT_DNROUTED	13	/* DECnet routing daemon */ -#define RTPROT_XORP	14	/* XORP */ -#define RTPROT_NTK	15	/* Netsukuku */ -#define RTPROT_DHCP	16      /* DHCP client */ - -/* rtm_scope - -   Really it is not scope, but sort of distance to the destination. -   NOWHERE are reserved for not existing destinations, HOST is our -   local addresses, LINK are destinations, located on directly attached -   link and UNIVERSE is everywhere in the Universe. - -   Intermediate values are also possible f.e. interior routes -   could be assigned a value between UNIVERSE and LINK. -*/ - -enum rt_scope_t { -	RT_SCOPE_UNIVERSE=0, -/* User defined values  */ -	RT_SCOPE_SITE=200, -	RT_SCOPE_LINK=253, -	RT_SCOPE_HOST=254, -	RT_SCOPE_NOWHERE=255 -}; - -/* rtm_flags */ - -#define RTM_F_NOTIFY		0x100	/* Notify user of route change	*/ -#define RTM_F_CLONED		0x200	/* This route is cloned		*/ -#define RTM_F_EQUALIZE		0x400	/* Multipath equalizer: NI	*/ -#define RTM_F_PREFIX		0x800	/* Prefix addresses		*/ - -/* Reserved table identifiers */ - -enum rt_class_t { -	RT_TABLE_UNSPEC=0, -/* User defined values */ -	RT_TABLE_COMPAT=252, -	RT_TABLE_DEFAULT=253, -	RT_TABLE_MAIN=254, -	RT_TABLE_LOCAL=255, -	RT_TABLE_MAX=0xFFFFFFFF -}; - - -/* Routing message attributes */ - -enum rtattr_type_t { -	RTA_UNSPEC, -	RTA_DST, -	RTA_SRC, -	RTA_IIF, -	RTA_OIF, -	RTA_GATEWAY, -	RTA_PRIORITY, -	RTA_PREFSRC, -	RTA_METRICS, -	RTA_MULTIPATH, -	RTA_PROTOINFO, /* no longer used */ -	RTA_FLOW, -	RTA_CACHEINFO, -	RTA_SESSION, /* no longer used */ -	RTA_MP_ALGO, /* no longer used */ -	RTA_TABLE, -	RTA_MARK, -	__RTA_MAX -}; - -#define RTA_MAX (__RTA_MAX - 1) - -#define RTM_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg)))) -#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg)) - -/* RTM_MULTIPATH --- array of struct rtnexthop. - * - * "struct rtnexthop" describes all necessary nexthop information, - * i.e. parameters of path to a destination via this nexthop. - * - * At the moment it is impossible to set different prefsrc, mtu, window - * and rtt for different paths from multipath. - */ - -struct rtnexthop { -	unsigned short		rtnh_len; -	unsigned char		rtnh_flags; -	unsigned char		rtnh_hops; -	int			rtnh_ifindex; -}; - -/* rtnh_flags */ - -#define RTNH_F_DEAD		1	/* Nexthop is dead (used by multipath)	*/ -#define RTNH_F_PERVASIVE	2	/* Do recursive gateway lookup	*/ -#define RTNH_F_ONLINK		4	/* Gateway is forced on link	*/ - -/* Macros to handle hexthops */ - -#define RTNH_ALIGNTO	4 -#define RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) ) -#define RTNH_OK(rtnh,len) ((rtnh)->rtnh_len >= sizeof(struct rtnexthop) && \ -			   ((int)(rtnh)->rtnh_len) <= (len)) -#define RTNH_NEXT(rtnh)	((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len))) -#define RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len)) -#define RTNH_SPACE(len)	RTNH_ALIGN(RTNH_LENGTH(len)) -#define RTNH_DATA(rtnh)   ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0))) - -/* RTM_CACHEINFO */ - -struct rta_cacheinfo { -	__u32	rta_clntref; -	__u32	rta_lastuse; -	__s32	rta_expires; -	__u32	rta_error; -	__u32	rta_used; - -#define RTNETLINK_HAVE_PEERINFO 1 -	__u32	rta_id; -	__u32	rta_ts; -	__u32	rta_tsage; -}; - -/* RTM_METRICS --- array of struct rtattr with types of RTAX_* */ - -enum { -	RTAX_UNSPEC, -#define RTAX_UNSPEC RTAX_UNSPEC -	RTAX_LOCK, -#define RTAX_LOCK RTAX_LOCK -	RTAX_MTU, -#define RTAX_MTU RTAX_MTU -	RTAX_WINDOW, -#define RTAX_WINDOW RTAX_WINDOW -	RTAX_RTT, -#define RTAX_RTT RTAX_RTT -	RTAX_RTTVAR, -#define RTAX_RTTVAR RTAX_RTTVAR -	RTAX_SSTHRESH, -#define RTAX_SSTHRESH RTAX_SSTHRESH -	RTAX_CWND, -#define RTAX_CWND RTAX_CWND -	RTAX_ADVMSS, -#define RTAX_ADVMSS RTAX_ADVMSS -	RTAX_REORDERING, -#define RTAX_REORDERING RTAX_REORDERING -	RTAX_HOPLIMIT, -#define RTAX_HOPLIMIT RTAX_HOPLIMIT -	RTAX_INITCWND, -#define RTAX_INITCWND RTAX_INITCWND -	RTAX_FEATURES, -#define RTAX_FEATURES RTAX_FEATURES -	RTAX_RTO_MIN, -#define RTAX_RTO_MIN RTAX_RTO_MIN -	RTAX_INITRWND, -#define RTAX_INITRWND RTAX_INITRWND -	__RTAX_MAX -}; - -#define RTAX_MAX (__RTAX_MAX - 1) - -#define RTAX_FEATURE_ECN	0x00000001 -#define RTAX_FEATURE_SACK	0x00000002 -#define RTAX_FEATURE_TIMESTAMP	0x00000004 -#define RTAX_FEATURE_ALLFRAG	0x00000008 - -struct rta_session { -	__u8	proto; -	__u8	pad1; -	__u16	pad2; - -	union { -		struct { -			__u16	sport; -			__u16	dport; -		} ports; - -		struct { -			__u8	type; -			__u8	code; -			__u16	ident; -		} icmpt; - -		__u32		spi; -	} u; -}; - -/**** - *		General form of address family dependent message. - ****/ - -struct rtgenmsg { -	unsigned char		rtgen_family; -}; - -/***************************************************************** - *		Link layer specific messages. - ****/ - -/* struct ifinfomsg - * passes link level specific information, not dependent - * on network protocol. - */ - -struct ifinfomsg { -	unsigned char	ifi_family; -	unsigned char	__ifi_pad; -	unsigned short	ifi_type;		/* ARPHRD_* */ -	int		ifi_index;		/* Link index	*/ -	unsigned	ifi_flags;		/* IFF_* flags	*/ -	unsigned	ifi_change;		/* IFF_* change mask */ -}; - -/******************************************************************** - *		prefix information  - ****/ - -struct prefixmsg { -	unsigned char	prefix_family; -	unsigned char	prefix_pad1; -	unsigned short	prefix_pad2; -	int		prefix_ifindex; -	unsigned char	prefix_type; -	unsigned char	prefix_len; -	unsigned char	prefix_flags; -	unsigned char	prefix_pad3; -}; - -enum  -{ -	PREFIX_UNSPEC, -	PREFIX_ADDRESS, -	PREFIX_CACHEINFO, -	__PREFIX_MAX -}; - -#define PREFIX_MAX	(__PREFIX_MAX - 1) - -struct prefix_cacheinfo { -	__u32	preferred_time; -	__u32	valid_time; -}; - - -/***************************************************************** - *		Traffic control messages. - ****/ - -struct tcmsg { -	unsigned char	tcm_family; -	unsigned char	tcm__pad1; -	unsigned short	tcm__pad2; -	int		tcm_ifindex; -	__u32		tcm_handle; -	__u32		tcm_parent; -	__u32		tcm_info; -}; - -enum { -	TCA_UNSPEC, -	TCA_KIND, -	TCA_OPTIONS, -	TCA_STATS, -	TCA_XSTATS, -	TCA_RATE, -	TCA_FCNT, -	TCA_STATS2, -	TCA_STAB, -	__TCA_MAX -}; - -#define TCA_MAX (__TCA_MAX - 1) - -#define TCA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg)))) -#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) - -/******************************************************************** - *		Neighbor Discovery userland options - ****/ - -struct nduseroptmsg { -	unsigned char	nduseropt_family; -	unsigned char	nduseropt_pad1; -	unsigned short	nduseropt_opts_len;	/* Total length of options */ -	int		nduseropt_ifindex; -	__u8		nduseropt_icmp_type; -	__u8		nduseropt_icmp_code; -	unsigned short	nduseropt_pad2; -	unsigned int	nduseropt_pad3; -	/* Followed by one or more ND options */ -}; - -enum { -	NDUSEROPT_UNSPEC, -	NDUSEROPT_SRCADDR, -	__NDUSEROPT_MAX -}; - -#define NDUSEROPT_MAX	(__NDUSEROPT_MAX - 1) - -#ifndef __KERNEL__ -/* RTnetlink multicast groups - backwards compatibility for userspace */ -#define RTMGRP_LINK		1 -#define RTMGRP_NOTIFY		2 -#define RTMGRP_NEIGH		4 -#define RTMGRP_TC		8 - -#define RTMGRP_IPV4_IFADDR	0x10 -#define RTMGRP_IPV4_MROUTE	0x20 -#define RTMGRP_IPV4_ROUTE	0x40 -#define RTMGRP_IPV4_RULE	0x80 - -#define RTMGRP_IPV6_IFADDR	0x100 -#define RTMGRP_IPV6_MROUTE	0x200 -#define RTMGRP_IPV6_ROUTE	0x400 -#define RTMGRP_IPV6_IFINFO	0x800 - -#define RTMGRP_DECnet_IFADDR    0x1000 -#define RTMGRP_DECnet_ROUTE     0x4000 - -#define RTMGRP_IPV6_PREFIX	0x20000 -#endif - -/* RTnetlink multicast groups */ -enum rtnetlink_groups { -	RTNLGRP_NONE, -#define RTNLGRP_NONE		RTNLGRP_NONE -	RTNLGRP_LINK, -#define RTNLGRP_LINK		RTNLGRP_LINK -	RTNLGRP_NOTIFY, -#define RTNLGRP_NOTIFY		RTNLGRP_NOTIFY -	RTNLGRP_NEIGH, -#define RTNLGRP_NEIGH		RTNLGRP_NEIGH -	RTNLGRP_TC, -#define RTNLGRP_TC		RTNLGRP_TC -	RTNLGRP_IPV4_IFADDR, -#define RTNLGRP_IPV4_IFADDR	RTNLGRP_IPV4_IFADDR -	RTNLGRP_IPV4_MROUTE, -#define	RTNLGRP_IPV4_MROUTE	RTNLGRP_IPV4_MROUTE -	RTNLGRP_IPV4_ROUTE, -#define RTNLGRP_IPV4_ROUTE	RTNLGRP_IPV4_ROUTE -	RTNLGRP_IPV4_RULE, -#define RTNLGRP_IPV4_RULE	RTNLGRP_IPV4_RULE -	RTNLGRP_IPV6_IFADDR, -#define RTNLGRP_IPV6_IFADDR	RTNLGRP_IPV6_IFADDR -	RTNLGRP_IPV6_MROUTE, -#define RTNLGRP_IPV6_MROUTE	RTNLGRP_IPV6_MROUTE -	RTNLGRP_IPV6_ROUTE, -#define RTNLGRP_IPV6_ROUTE	RTNLGRP_IPV6_ROUTE -	RTNLGRP_IPV6_IFINFO, -#define RTNLGRP_IPV6_IFINFO	RTNLGRP_IPV6_IFINFO -	RTNLGRP_DECnet_IFADDR, -#define RTNLGRP_DECnet_IFADDR	RTNLGRP_DECnet_IFADDR -	RTNLGRP_NOP2, -	RTNLGRP_DECnet_ROUTE, -#define RTNLGRP_DECnet_ROUTE	RTNLGRP_DECnet_ROUTE -	RTNLGRP_DECnet_RULE, -#define RTNLGRP_DECnet_RULE	RTNLGRP_DECnet_RULE -	RTNLGRP_NOP4, -	RTNLGRP_IPV6_PREFIX, -#define RTNLGRP_IPV6_PREFIX	RTNLGRP_IPV6_PREFIX -	RTNLGRP_IPV6_RULE, -#define RTNLGRP_IPV6_RULE	RTNLGRP_IPV6_RULE -	RTNLGRP_ND_USEROPT, -#define RTNLGRP_ND_USEROPT	RTNLGRP_ND_USEROPT -	RTNLGRP_PHONET_IFADDR, -#define RTNLGRP_PHONET_IFADDR	RTNLGRP_PHONET_IFADDR -	RTNLGRP_PHONET_ROUTE, -#define RTNLGRP_PHONET_ROUTE	RTNLGRP_PHONET_ROUTE -	RTNLGRP_DCB, -#define RTNLGRP_DCB		RTNLGRP_DCB -	__RTNLGRP_MAX -}; -#define RTNLGRP_MAX	(__RTNLGRP_MAX - 1) - -/* TC action piece */ -struct tcamsg { -	unsigned char	tca_family; -	unsigned char	tca__pad1; -	unsigned short	tca__pad2; -}; -#define TA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg)))) -#define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg)) -#define TCA_ACT_TAB 1 /* attr type must be >=1 */	 -#define TCAA_MAX 1 - -/* New extended info filters for IFLA_EXT_MASK */ -#define RTEXT_FILTER_VF		(1 << 0) - -/* End of information exported to user level */ - -#ifdef __KERNEL__  #include <linux/mutex.h>  #include <linux/netdevice.h> +#include <uapi/linux/rtnetlink.h>  extern int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, u32 group, int echo);  extern int rtnl_unicast(struct sk_buff *skb, struct net *net, u32 pid); @@ -675,7 +69,4 @@ extern int ndo_dflt_fdb_dump(struct sk_buff *skb,  			     struct netlink_callback *cb,  			     struct net_device *dev,  			     int idx); -#endif /* __KERNEL__ */ - -  #endif	/* __LINUX_RTNETLINK_H */  |