]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd, lib, ospfd, pimd, zebra: Use nexthop_types_t
authorDonald Sharp <sharpd@cumulusnetwroks.com>
Fri, 2 Sep 2016 14:32:14 +0000 (10:32 -0400)
committerDonald Sharp <sharpd@cumulusnetwroks.com>
Fri, 2 Sep 2016 14:36:28 +0000 (10:36 -0400)
Use the 'enum nexthop_types_t' instead of
the zebra.h #defines.  And remove code from
zebra.h that does not belong there.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
bgpd/bgp_nht.c
isisd/isis_zebra.c
lib/zclient.c
lib/zebra.h
ospfd/ospf_zebra.c
pimd/pim_zlookup.c
zebra/zebra_rnh.c
zebra/zserv.c

index 42885165c721eaea7372ed3b5ec7ef50e7a57063..11b59fb3e140e544713b045e9a5f4217455baa24 100644 (file)
@@ -397,25 +397,23 @@ bgp_parse_nexthop_update (int command, vrf_id_t vrf_id)
          nexthop->type = stream_getc (s);
          switch (nexthop->type)
            {
-           case ZEBRA_NEXTHOP_IPV4:
+           case NEXTHOP_TYPE_IPV4:
              nexthop->gate.ipv4.s_addr = stream_get_ipv4 (s);
              break;
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
              nexthop->ifindex = stream_getl (s);
              break;
-            case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+            case NEXTHOP_TYPE_IPV4_IFINDEX:
              nexthop->gate.ipv4.s_addr = stream_get_ipv4 (s);
              nexthop->ifindex = stream_getl (s);
              break;
-#ifdef HAVE_IPV6
-            case ZEBRA_NEXTHOP_IPV6:
+            case NEXTHOP_TYPE_IPV6:
              stream_get (&nexthop->gate.ipv6, s, 16);
              break;
-            case ZEBRA_NEXTHOP_IPV6_IFINDEX:
+            case NEXTHOP_TYPE_IPV6_IFINDEX:
              stream_get (&nexthop->gate.ipv6, s, 16);
              nexthop->ifindex = stream_getl (s);
              break;
-#endif
             default:
               /* do nothing */
               break;
index 81f9d869301e3e008cb2e530c6a96784b4e20912..0e5a7ff3b7b8c52a921425f66f846c5d86c178de 100644 (file)
@@ -278,12 +278,12 @@ isis_zebra_route_add_ipv4 (struct prefix *prefix,
          /* FIXME: can it be ? */
          if (nexthop->ip.s_addr != INADDR_ANY)
            {
-             stream_putc (stream, ZEBRA_NEXTHOP_IPV4);
+             stream_putc (stream, NEXTHOP_TYPE_IPV4);
              stream_put_in_addr (stream, &nexthop->ip);
            }
          else
            {
-             stream_putc (stream, ZEBRA_NEXTHOP_IFINDEX);
+             stream_putc (stream, NEXTHOP_TYPE_IFINDEX);
              stream_putl (stream, nexthop->ifindex);
            }
        }
index 0259af597106bf4a1730abd8cd1da75a306ae4c1..dd13587d74e9257909375c9e2b66f00bd0587880 100644 (file)
@@ -32,6 +32,7 @@
 #include "zclient.h"
 #include "memory.h"
 #include "table.h"
+#include "nexthop.h"
 
 /* Zebra client events. */
 enum event {ZCLIENT_SCHEDULE, ZCLIENT_READ, ZCLIENT_CONNECT};
@@ -746,7 +747,7 @@ zapi_ipv4_route (u_char cmd, struct zclient *zclient, struct prefix_ipv4 *p,
       if (CHECK_FLAG (api->flags, ZEBRA_FLAG_BLACKHOLE))
         {
           stream_putc (s, 1);
-          stream_putc (s, ZEBRA_NEXTHOP_BLACKHOLE);
+          stream_putc (s, NEXTHOP_TYPE_BLACKHOLE);
           /* XXX assert(api->nexthop_num == 0); */
           /* XXX assert(api->ifindex_num == 0); */
         }
@@ -755,12 +756,12 @@ zapi_ipv4_route (u_char cmd, struct zclient *zclient, struct prefix_ipv4 *p,
 
       for (i = 0; i < api->nexthop_num; i++)
         {
-          stream_putc (s, ZEBRA_NEXTHOP_IPV4);
+          stream_putc (s, NEXTHOP_TYPE_IPV4);
           stream_put_in_addr (s, api->nexthop[i]);
         }
       for (i = 0; i < api->ifindex_num; i++)
         {
-          stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+          stream_putc (s, NEXTHOP_TYPE_IFINDEX);
           stream_putl (s, api->ifindex[i]);
         }
     }
@@ -813,7 +814,7 @@ zapi_ipv4_route_ipv6_nexthop (u_char cmd, struct zclient *zclient,
       if (CHECK_FLAG (api->flags, ZEBRA_FLAG_BLACKHOLE))
         {
           stream_putc (s, 1);
-          stream_putc (s, ZEBRA_NEXTHOP_BLACKHOLE);
+          stream_putc (s, NEXTHOP_TYPE_BLACKHOLE);
           /* XXX assert(api->nexthop_num == 0); */
           /* XXX assert(api->ifindex_num == 0); */
         }
@@ -822,12 +823,12 @@ zapi_ipv4_route_ipv6_nexthop (u_char cmd, struct zclient *zclient,
 
       for (i = 0; i < api->nexthop_num; i++)
        {
-         stream_putc (s, ZEBRA_NEXTHOP_IPV6);
+         stream_putc (s, NEXTHOP_TYPE_IPV6);
          stream_write (s, (u_char *)api->nexthop[i], 16);
        }
       for (i = 0; i < api->ifindex_num; i++)
        {
-         stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+         stream_putc (s, NEXTHOP_TYPE_IFINDEX);
          stream_putl (s, api->ifindex[i]);
        }
     }
@@ -879,7 +880,7 @@ zapi_ipv6_route (u_char cmd, struct zclient *zclient, struct prefix_ipv6 *p,
       if (CHECK_FLAG (api->flags, ZEBRA_FLAG_BLACKHOLE))
         {
           stream_putc (s, 1);
-          stream_putc (s, ZEBRA_NEXTHOP_BLACKHOLE);
+          stream_putc (s, NEXTHOP_TYPE_BLACKHOLE);
           /* XXX assert(api->nexthop_num == 0); */
           /* XXX assert(api->ifindex_num == 0); */
         }
@@ -888,12 +889,12 @@ zapi_ipv6_route (u_char cmd, struct zclient *zclient, struct prefix_ipv6 *p,
 
       for (i = 0; i < api->nexthop_num; i++)
        {
-         stream_putc (s, ZEBRA_NEXTHOP_IPV6);
+         stream_putc (s, NEXTHOP_TYPE_IPV6);
          stream_write (s, (u_char *)api->nexthop[i], 16);
        }
       for (i = 0; i < api->ifindex_num; i++)
        {
-         stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+         stream_putc (s, NEXTHOP_TYPE_IFINDEX);
          stream_putl (s, api->ifindex[i]);
        }
     }
index 4b48454835bafdf2a37ef7798904ebc28e2fdfda..546f0dd3d75a00e208169cd5537d694bb01c7f21 100644 (file)
@@ -493,14 +493,6 @@ extern const char *zserv_command_string (unsigned int command);
 #define ZEBRA_FLAG_REJECT             0x80
 #define ZEBRA_FLAG_SCOPE_LINK         0x100
 
-/* Zebra nexthop flags. */
-#define ZEBRA_NEXTHOP_IFINDEX            1
-#define ZEBRA_NEXTHOP_IPV4               2
-#define ZEBRA_NEXTHOP_IPV4_IFINDEX       3
-#define ZEBRA_NEXTHOP_IPV6               4
-#define ZEBRA_NEXTHOP_IPV6_IFINDEX       5
-#define ZEBRA_NEXTHOP_BLACKHOLE          6
-
 #ifndef INADDR_LOOPBACK
 #define        INADDR_LOOPBACK 0x7f000001      /* Internet address 127.0.0.1.  */
 #endif
index f945a4acb726f6ad086b50e97104dd76f2a8b036..a31ef5f7071d323e66e6e29fd2d7320c41edcaab 100644 (file)
@@ -35,6 +35,7 @@
 #include "plist.h"
 #include "log.h"
 #include "lib/bfd.h"
+#include "nexthop.h"
 
 #include "ospfd/ospfd.h"
 #include "ospfd/ospf_interface.h"
@@ -393,18 +394,18 @@ ospf_zebra_add (struct prefix_ipv4 *p, struct ospf_route *or)
              (path->nexthop.s_addr != INADDR_ANY &&
               path->ifindex != 0))
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IPV4_IFINDEX);
+             stream_putc (s, NEXTHOP_TYPE_IPV4_IFINDEX);
              stream_put_in_addr (s, &path->nexthop);
              stream_putl (s, path->ifindex);
            }
          else if (path->nexthop.s_addr != INADDR_ANY)
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IPV4);
+             stream_putc (s, NEXTHOP_TYPE_IPV4);
              stream_put_in_addr (s, &path->nexthop);
            }
          else
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+             stream_putc (s, NEXTHOP_TYPE_IFINDEX);
              if (path->ifindex)
                stream_putl (s, path->ifindex);
              else
@@ -414,18 +415,18 @@ ospf_zebra_add (struct prefix_ipv4 *p, struct ospf_route *or)
           if (path->nexthop.s_addr != INADDR_ANY &&
              path->ifindex != 0)
             {
-              stream_putc (s, ZEBRA_NEXTHOP_IPV4_IFINDEX);
+              stream_putc (s, NEXTHOP_TYPE_IPV4_IFINDEX);
               stream_put_in_addr (s, &path->nexthop);
              stream_putl (s, path->ifindex);
             }
           else if (path->nexthop.s_addr != INADDR_ANY)
             {
-              stream_putc (s, ZEBRA_NEXTHOP_IPV4);
+              stream_putc (s, NEXTHOP_TYPE_IPV4);
               stream_put_in_addr (s, &path->nexthop);
             }
           else
             {
-              stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+              stream_putc (s, NEXTHOP_TYPE_IFINDEX);
               if (path->ifindex)
                 stream_putl (s, path->ifindex);
               else
@@ -514,18 +515,18 @@ ospf_zebra_delete (struct prefix_ipv4 *p, struct ospf_route *or)
          if (path->nexthop.s_addr != INADDR_ANY &&
              path->ifindex != 0)
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IPV4_IFINDEX);
+             stream_putc (s, NEXTHOP_TYPE_IPV4_IFINDEX);
              stream_put_in_addr (s, &path->nexthop);
              stream_putl (s, path->ifindex);
            }
          else if (path->nexthop.s_addr != INADDR_ANY)
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IPV4);
+             stream_putc (s, NEXTHOP_TYPE_IPV4);
              stream_put_in_addr (s, &path->nexthop);
            }
          else
            {
-             stream_putc (s, ZEBRA_NEXTHOP_IFINDEX);
+             stream_putc (s, NEXTHOP_TYPE_IFINDEX);
              stream_putl (s, path->ifindex);
            }
 
index 1f8cdfa07e6668623adf5ce4084942020eeaca82..86d7edbd01bb540df6c24e00061d43e3659dd97a 100644 (file)
@@ -229,8 +229,8 @@ static int zclient_read_nexthop(struct zclient *zlookup,
     --length;
 
     switch (nexthop_type) {
-    case ZEBRA_NEXTHOP_IFINDEX:
-    case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+    case NEXTHOP_TYPE_IFINDEX:
+    case NEXTHOP_TYPE_IPV4_IFINDEX:
       if (num_ifindex >= tab_size) {
        char addr_str[100];
        pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
@@ -239,7 +239,7 @@ static int zclient_read_nexthop(struct zclient *zlookup,
                 (num_ifindex + 1), tab_size, addr_str);
        return num_ifindex;
       }
-      if (nexthop_type == ZEBRA_NEXTHOP_IPV4_IFINDEX) {
+      if (nexthop_type == NEXTHOP_TYPE_IPV4_IFINDEX) {
        if (length < 4) {
          zlog_err("%s: socket %d short input expecting nexthop IPv4-addr: len=%d",
                   __func__, zlookup->sock, length);
@@ -256,7 +256,7 @@ static int zclient_read_nexthop(struct zclient *zlookup,
       nexthop_tab[num_ifindex].route_metric      = metric;
       ++num_ifindex;
       break;
-    case ZEBRA_NEXTHOP_IPV4:
+    case NEXTHOP_TYPE_IPV4:
       if (num_ifindex >= tab_size) {
        char addr_str[100];
        pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
index 7b4840164e6a5d7579071198745896e71b1169e8..ef2357b99c97d975edbbcaa64b6da287b2cf9ae7 100644 (file)
@@ -886,21 +886,21 @@ send_client (struct rnh *rnh, struct zserv *client, rnh_type_t type, vrf_id_t vr
            stream_putc (s, nexthop->type);
            switch (nexthop->type)
              {
-             case ZEBRA_NEXTHOP_IPV4:
+             case NEXTHOP_TYPE_IPV4:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                break;
-             case ZEBRA_NEXTHOP_IFINDEX:
+             case NEXTHOP_TYPE_IFINDEX:
                stream_putl (s, nexthop->ifindex);
                break;
-             case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+             case NEXTHOP_TYPE_IPV4_IFINDEX:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                stream_putl (s, nexthop->ifindex);
                break;
 #ifdef HAVE_IPV6
-             case ZEBRA_NEXTHOP_IPV6:
+             case NEXTHOP_TYPE_IPV6:
                stream_put (s, &nexthop->gate.ipv6, 16);
                break;
-             case ZEBRA_NEXTHOP_IPV6_IFINDEX:
+             case NEXTHOP_TYPE_IPV6_IFINDEX:
                stream_put (s, &nexthop->gate.ipv6, 16);
                stream_putl (s, nexthop->ifindex);
                break;
index c09cb1750785146f50ff9318f25824bd7afa80ce..480c7347111c114e6753beee6ee98a35f4de5cac 100644 (file)
@@ -758,21 +758,21 @@ zsend_nexthop_lookup (struct zserv *client, afi_t afi, safi_t safi,
            stream_putc (s, nexthop->type);
            switch (nexthop->type)
              {
-             case ZEBRA_NEXTHOP_IPV4:
+             case NEXTHOP_TYPE_IPV4:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                break;
-             case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+             case NEXTHOP_TYPE_IPV4_IFINDEX:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                stream_putl (s, nexthop->ifindex);
                break;
-             case ZEBRA_NEXTHOP_IPV6:
+             case NEXTHOP_TYPE_IPV6:
                stream_put (s, &nexthop->gate.ipv6, 16);
                break;
-             case ZEBRA_NEXTHOP_IPV6_IFINDEX:
+             case NEXTHOP_TYPE_IPV6_IFINDEX:
                stream_put (s, &nexthop->gate.ipv6, 16);
                stream_putl (s, nexthop->ifindex);
                break;
-             case ZEBRA_NEXTHOP_IFINDEX:
+             case NEXTHOP_TYPE_IFINDEX:
                stream_putl (s, nexthop->ifindex);
                break;
              default:
@@ -946,14 +946,14 @@ zsend_ipv4_nexthop_lookup_mrib (struct zserv *client, struct in_addr addr, struc
            stream_putc (s, nexthop->type);
            switch (nexthop->type)
              {
-             case ZEBRA_NEXTHOP_IPV4:
+             case NEXTHOP_TYPE_IPV4:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                break;
-             case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+             case NEXTHOP_TYPE_IPV4_IFINDEX:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                stream_putl (s, nexthop->ifindex);
                break;
-             case ZEBRA_NEXTHOP_IFINDEX:
+             case NEXTHOP_TYPE_IFINDEX:
                stream_putl (s, nexthop->ifindex);
                break;
              default:
@@ -1011,14 +1011,14 @@ zsend_ipv4_import_lookup (struct zserv *client, struct prefix_ipv4 *p,
            stream_putc (s, nexthop->type);
            switch (nexthop->type)
              {
-             case ZEBRA_NEXTHOP_IPV4:
+             case NEXTHOP_TYPE_IPV4:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                break;
-             case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+             case NEXTHOP_TYPE_IPV4_IFINDEX:
                stream_put_in_addr (s, &nexthop->gate.ipv4);
                stream_putl (s, nexthop->ifindex);
                break;
-             case ZEBRA_NEXTHOP_IFINDEX:
+             case NEXTHOP_TYPE_IFINDEX:
                stream_putl (s, nexthop->ifindex);
                break;
              default:
@@ -1177,23 +1177,23 @@ zread_ipv4_add (struct zserv *client, u_short length, struct zebra_vrf *zvrf)
 
          switch (nexthop_type)
            {
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
              ifindex = stream_getl (s);
              rib_nexthop_ifindex_add (rib, ifindex);
              break;
-           case ZEBRA_NEXTHOP_IPV4:
+           case NEXTHOP_TYPE_IPV4:
              nexthop.s_addr = stream_get_ipv4 (s);
              rib_nexthop_ipv4_add (rib, &nexthop, NULL);
              break;
-           case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+           case NEXTHOP_TYPE_IPV4_IFINDEX:
              nexthop.s_addr = stream_get_ipv4 (s);
              ifindex = stream_getl (s);
              rib_nexthop_ipv4_ifindex_add (rib, &nexthop, NULL, ifindex);
              break;
-           case ZEBRA_NEXTHOP_IPV6:
+           case NEXTHOP_TYPE_IPV6:
              stream_forward_getp (s, IPV6_MAX_BYTELEN);
              break;
-            case ZEBRA_NEXTHOP_BLACKHOLE:
+            case NEXTHOP_TYPE_BLACKHOLE:
               rib_nexthop_blackhole_add (rib);
               break;
             }
@@ -1276,19 +1276,19 @@ zread_ipv4_delete (struct zserv *client, u_short length, struct zebra_vrf *zvrf)
 
          switch (nexthop_type)
            {
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
              ifindex = stream_getl (s);
              break;
-           case ZEBRA_NEXTHOP_IPV4:
+           case NEXTHOP_TYPE_IPV4:
              nexthop.s_addr = stream_get_ipv4 (s);
              nexthop_p = (union g_addr *)&nexthop;
              break;
-           case ZEBRA_NEXTHOP_IPV4_IFINDEX:
+           case NEXTHOP_TYPE_IPV4_IFINDEX:
              nexthop.s_addr = stream_get_ipv4 (s);
              nexthop_p = (union g_addr *)&nexthop;
              ifindex = stream_getl (s);
              break;
-           case ZEBRA_NEXTHOP_IPV6:
+           case NEXTHOP_TYPE_IPV6:
              stream_forward_getp (s, IPV6_MAX_BYTELEN);
              break;
            }
@@ -1423,18 +1423,18 @@ zread_ipv4_route_ipv6_nexthop_add (struct zserv *client, u_short length, struct
 
          switch (nexthop_type)
            {
-           case ZEBRA_NEXTHOP_IPV6:
+           case NEXTHOP_TYPE_IPV6:
              stream_get (&nexthop, s, 16);
               if (nh_count < MULTIPATH_NUM) {
                nexthops[nh_count++] = nexthop;
               }
              break;
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
               if (if_count < MULTIPATH_NUM) {
                ifindices[if_count++] = stream_getl (s);
               }
              break;
-            case ZEBRA_NEXTHOP_BLACKHOLE:
+            case NEXTHOP_TYPE_BLACKHOLE:
               rib_nexthop_blackhole_add (rib);
               break;
            }
@@ -1547,18 +1547,18 @@ zread_ipv6_add (struct zserv *client, u_short length, struct zebra_vrf *zvrf)
 
          switch (nexthop_type)
            {
-           case ZEBRA_NEXTHOP_IPV6:
+           case NEXTHOP_TYPE_IPV6:
              stream_get (&nexthop, s, 16);
               if (nh_count < MULTIPATH_NUM) {
                nexthops[nh_count++] = nexthop;
               }
              break;
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
               if (if_count < MULTIPATH_NUM) {
                ifindices[if_count++] = stream_getl (s);
               }
              break;
-            case ZEBRA_NEXTHOP_BLACKHOLE:
+            case NEXTHOP_TYPE_BLACKHOLE:
               rib_nexthop_blackhole_add (rib);
               break;
            }
@@ -1654,11 +1654,11 @@ zread_ipv6_delete (struct zserv *client, u_short length, struct zebra_vrf *zvrf)
 
          switch (nexthop_type)
            {
-           case ZEBRA_NEXTHOP_IPV6:
+           case NEXTHOP_TYPE_IPV6:
              stream_get (&nexthop, s, 16);
              pnexthop = (union g_addr *)&nexthop;
              break;
-           case ZEBRA_NEXTHOP_IFINDEX:
+           case NEXTHOP_TYPE_IFINDEX:
              ifindex = stream_getl (s);
              break;
            }