summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorG.Balaji <balajig81@gmail.com>2011-11-26 22:04:05 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2012-01-23 14:30:50 +0400
commitc7ec179a95c1ed4fcd3d3be3f981c8c20dce534a (patch)
treeadd6824e168ab26a28390a1d1b9a2c7be1484435
parentcddf391bf6839e9f093cef15508669c1f3f92122 (diff)
bgpd: IPv6 MP-BGP Routes addition and deletion
This patch contains the following: 1. Addition of IPv6 SAFI_MULTICAST BGP routes into the BGP Multicast RIB. 2. Deletion of IPv6 SAFI_MULTICAST BGP routes from the BGP Multicast RIB.
-rw-r--r--bgpd/bgp_zebra.c2
-rw-r--r--lib/zclient.c1
-rw-r--r--lib/zclient.h2
3 files changed, 5 insertions, 0 deletions
diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c
index baf76fb0..20feba0f 100644
--- a/bgpd/bgp_zebra.c
+++ b/bgpd/bgp_zebra.c
@@ -753,6 +753,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp, sa
api.flags = flags;
api.type = ZEBRA_ROUTE_BGP;
api.message = 0;
+ api.safi = safi;
SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP);
api.nexthop_num = 1;
api.nexthop = &nexthop;
@@ -869,6 +870,7 @@ bgp_zebra_withdraw (struct prefix *p, struct bgp_info *info, safi_t safi)
api.flags = flags;
api.type = ZEBRA_ROUTE_BGP;
api.message = 0;
+ api.safi = safi;
SET_FLAG (api.message, ZAPI_MESSAGE_NEXTHOP);
api.nexthop_num = 1;
api.nexthop = &nexthop;
diff --git a/lib/zclient.c b/lib/zclient.c
index 0c3461e7..3521d99e 100644
--- a/lib/zclient.c
+++ b/lib/zclient.c
@@ -538,6 +538,7 @@ zapi_ipv6_route (u_char cmd, struct zclient *zclient, struct prefix_ipv6 *p,
stream_putc (s, api->type);
stream_putc (s, api->flags);
stream_putc (s, api->message);
+ stream_putw (s, api->safi);
/* Put prefix information. */
psize = PSIZE (p->prefixlen);
diff --git a/lib/zclient.h b/lib/zclient.h
index 8b3e71af..73389ecd 100644
--- a/lib/zclient.h
+++ b/lib/zclient.h
@@ -167,6 +167,8 @@ struct zapi_ipv6
u_char message;
+ safi_t safi;
+
u_char nexthop_num;
struct in6_addr **nexthop;