diff options
| author | Mark Stapp <mjs@voltanet.io> | 2020-09-23 16:06:37 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-23 16:06:37 -0400 | 
| commit | ccda0eadac743dd4e9b02d6c28b226ef6e8f90b3 (patch) | |
| tree | 7e7dc46fa6e9c96e0a34296fa5d43139817fb170 /include | |
| parent | 4020564a3cc230d4ef14d39b69d15e1c967d33e7 (diff) | |
| parent | 5a3cf85391b3665b5344d577e98aaa29a1927818 (diff) | |
Merge pull request #7155 from donaldsharp/TRAP
Offload/Trap
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/rtnetlink.h | 78 | 
1 files changed, 52 insertions, 26 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index eddbc04504..9b814c92de 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -164,6 +164,20 @@ enum {  	RTM_GETNEXTHOP,  #define RTM_GETNEXTHOP	RTM_GETNEXTHOP +	RTM_NEWLINKPROP = 108, +#define RTM_NEWLINKPROP	RTM_NEWLINKPROP +	RTM_DELLINKPROP, +#define RTM_DELLINKPROP	RTM_DELLINKPROP +	RTM_GETLINKPROP, +#define RTM_GETLINKPROP	RTM_GETLINKPROP + +	RTM_NEWVLAN = 112, +#define RTM_NEWNVLAN	RTM_NEWVLAN +	RTM_DELVLAN, +#define RTM_DELVLAN	RTM_DELVLAN +	RTM_GETVLAN, +#define RTM_GETVLAN	RTM_GETVLAN +  	__RTM_MAX,  #define RTM_MAX		(((__RTM_MAX + 3) & ~3) - 1)  }; @@ -172,7 +186,7 @@ enum {  #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. @@ -212,7 +226,7 @@ struct rtmsg {  	unsigned char		rtm_table;	/* Routing table id */  	unsigned char		rtm_protocol;	/* Routing protocol; see below	*/ -	unsigned char		rtm_scope;	/* See below */ +	unsigned char		rtm_scope;	/* See below */	  	unsigned char		rtm_type;	/* See below	*/  	unsigned		rtm_flags; @@ -243,12 +257,12 @@ enum {  /* 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	*/ +#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. @@ -257,22 +271,23 @@ enum {     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 */ -#define RTPROT_MROUTED	17      /* Multicast daemon */ -#define RTPROT_BABEL	42      /* Babel daemon */ -#define RTPROT_BGP	186     /* BGP Routes */ -#define RTPROT_ISIS	187     /* ISIS Routes */ -#define RTPROT_OSPF	188     /* OSPF Routes */ -#define RTPROT_RIP	189     /* RIP Routes */ -#define RTPROT_EIGRP	192     /* EIGRP Routes */ +#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 */ +#define RTPROT_MROUTED		17	/* Multicast daemon */ +#define RTPROT_KEEPALIVED	18	/* Keepalived daemon */ +#define RTPROT_BABEL		42	/* Babel daemon */ +#define RTPROT_BGP		186	/* BGP Routes */ +#define RTPROT_ISIS		187	/* ISIS Routes */ +#define RTPROT_OSPF		188	/* OSPF Routes */ +#define RTPROT_RIP		189	/* RIP Routes */ +#define RTPROT_EIGRP		192	/* EIGRP Routes */  /* rtm_scope @@ -302,6 +317,8 @@ enum rt_scope_t {  #define RTM_F_PREFIX		0x800	/* Prefix addresses		*/  #define RTM_F_LOOKUP_TABLE	0x1000	/* set rtm_table to FIB lookup result */  #define RTM_F_FIB_MATCH	        0x2000	/* return full fib lookup match */ +#define RTM_F_OFFLOAD		0x4000	/* route is offloaded */ +#define RTM_F_TRAP		0x8000	/* route is trapping packets */  /* Reserved table identifiers */ @@ -523,7 +540,7 @@ struct ifinfomsg {  };  /******************************************************************** - *		prefix information + *		prefix information    ****/  struct prefixmsg { @@ -537,7 +554,7 @@ struct prefixmsg {  	unsigned char	prefix_pad3;  }; -enum +enum   {  	PREFIX_UNSPEC,  	PREFIX_ADDRESS, @@ -593,11 +610,17 @@ enum {  	TCA_HW_OFFLOAD,  	TCA_INGRESS_BLOCK,  	TCA_EGRESS_BLOCK, +	TCA_DUMP_FLAGS,  	__TCA_MAX  };  #define TCA_MAX (__TCA_MAX - 1) +#define TCA_DUMP_FLAGS_TERSE (1 << 0) /* Means that in dump user gets only basic +				       * data necessary to identify the objects +				       * (handle, cookie, etc.) and stats. +				       */ +  #define TCA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))  #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) @@ -714,6 +737,8 @@ enum rtnetlink_groups {  #define RTNLGRP_IPV6_MROUTE_R	RTNLGRP_IPV6_MROUTE_R  	RTNLGRP_NEXTHOP,  #define RTNLGRP_NEXTHOP		RTNLGRP_NEXTHOP +	RTNLGRP_BRVLAN, +#define RTNLGRP_BRVLAN		RTNLGRP_BRVLAN  	__RTNLGRP_MAX  };  #define RTNLGRP_MAX	(__RTNLGRP_MAX - 1) @@ -753,6 +778,7 @@ enum {  #define RTEXT_FILTER_BRVLAN	(1 << 1)  #define RTEXT_FILTER_BRVLAN_COMPRESSED	(1 << 2)  #define	RTEXT_FILTER_SKIP_STATS	(1 << 3) +#define RTEXT_FILTER_MRP	(1 << 4)  /* End of information exported to user level */  | 
