]> git.puffer.fish Git - mirror/frr.git/commitdiff
include: Update rtnetlink.h to latest kernel
authorDonald Sharp <sharpd@nvidia.com>
Fri, 18 Sep 2020 19:07:02 +0000 (15:07 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Tue, 22 Sep 2020 19:57:43 +0000 (15:57 -0400)
The rtnetlink.h header has changed in the kernel.  Let's pull it in
we need this for OFFLOAD and TRAP

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
include/linux/rtnetlink.h

index eddbc045049af98584848ef71969b7788e1eabc7..9b814c92de123911aad41564cb290fa099bb0c0c 100644 (file)
@@ -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 */