mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 05:21:31 +00:00
bgpd, lib, ospfd, pimd, zebra: Use nexthop_types_t
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>
This commit is contained in:
parent
5b2c166731
commit
5b30316ea5
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user