]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: Consolidate on 32 bits as the flag size for route flags 7414/head
authorDonald Sharp <sharpd@nvidia.com>
Thu, 15 Oct 2020 17:41:30 +0000 (13:41 -0400)
committerDonald Sharp <sharpd@nvidia.com>
Thu, 29 Oct 2020 13:13:59 +0000 (09:13 -0400)
When we get a route for installation via any method we should
consolidate on 32 bits as the flag size, since we have
actually more than 8 bits of data to bass around.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
zebra/kernel_socket.c
zebra/rib.h
zebra/rt_netlink.c
zebra/zebra_rib.c

index 8fd0c96bd9225159843bdd7a626a6bfc96e8ae08..9d74aeca285090f995b55f1670080ca13f179514 100644 (file)
@@ -1001,7 +1001,7 @@ static int rtm_read_mesg(struct rt_msghdr *rtm, union sockunion *dest,
 void rtm_read(struct rt_msghdr *rtm)
 {
        int flags;
-       uint8_t zebra_flags;
+       uint32_t zebra_flags;
        union sockunion dest, mask, gate;
        char ifname[INTERFACE_NAMSIZ + 1];
        short ifnlen = 0;
index c02156b378d4f50a4951bf0d434e5f6e5ec237eb..3bce62bfa8c2a4c226e553fe8020fd118cabd7d0 100644 (file)
@@ -366,7 +366,7 @@ extern void rib_uninstall_kernel(struct route_node *rn, struct route_entry *re);
  * All rib_add function will not just add prefix into RIB, but
  * also implicitly withdraw equal prefix of same type. */
 extern int rib_add(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
-                  unsigned short instance, int flags, struct prefix *p,
+                  unsigned short instance, uint32_t flags, struct prefix *p,
                   struct prefix_ipv6 *src_p, const struct nexthop *nh,
                   uint32_t nhe_id, uint32_t table_id, uint32_t metric,
                   uint32_t mtu, uint8_t distance, route_tag_t tag);
@@ -382,10 +382,11 @@ extern int rib_add_multipath_nhe(afi_t afi, safi_t safi, struct prefix *p,
                                 struct nhg_hash_entry *nhe);
 
 extern void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
-                      unsigned short instance, int flags, struct prefix *p,
-                      struct prefix_ipv6 *src_p, const struct nexthop *nh,
-                      uint32_t nhe_id, uint32_t table_id, uint32_t metric,
-                      uint8_t distance, bool fromkernel, bool connected_down);
+                      unsigned short instance, uint32_t flags,
+                      struct prefix *p, struct prefix_ipv6 *src_p,
+                      const struct nexthop *nh, uint32_t nhe_id,
+                      uint32_t table_id, uint32_t metric, uint8_t distance,
+                      bool fromkernel, bool connected_down);
 
 extern struct route_entry *rib_match(afi_t afi, safi_t safi, vrf_id_t vrf_id,
                                     union g_addr *addr,
index 19fe7b518028aeff0ab946e36d52cc1c35b9a172..ef51989a0c3586b8455ebb64e87ad7282df88021 100644 (file)
@@ -574,7 +574,7 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id,
        int len;
        struct rtmsg *rtm;
        struct rtattr *tb[RTA_MAX + 1];
-       uint8_t flags = 0;
+       uint32_t flags = 0;
        struct prefix p;
        struct prefix_ipv6 src_p = {};
        vrf_id_t vrf_id;
index 08daddb16408efb0065218704984a36442abbe7d..ff19e3f593dc87f51953e0872f036f4dd9e2770d 100644 (file)
@@ -3053,7 +3053,7 @@ int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *p,
 }
 
 void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
-               unsigned short instance, int flags, struct prefix *p,
+               unsigned short instance, uint32_t flags, struct prefix *p,
                struct prefix_ipv6 *src_p, const struct nexthop *nh,
                uint32_t nhe_id, uint32_t table_id, uint32_t metric,
                uint8_t distance, bool fromkernel, bool connected_down)
@@ -3282,7 +3282,7 @@ void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
 
 
 int rib_add(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
-           unsigned short instance, int flags, struct prefix *p,
+           unsigned short instance, uint32_t flags, struct prefix *p,
            struct prefix_ipv6 *src_p, const struct nexthop *nh,
            uint32_t nhe_id, uint32_t table_id, uint32_t metric, uint32_t mtu,
            uint8_t distance, route_tag_t tag)