After graceful restart procedure, when BGP speaker has finished to send its VPNv4 routes to the restarting peer, it also sends End-Of-Rib message for afi=AFI_IPv4 safi=SAFI_MPLS_VPN.
Signed-off-by: Julien Courtat <julien.cour...@6wind.com> --- bgpd/bgp_packet.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c index f0f5273..08c8351 100644 --- a/bgpd/bgp_packet.c +++ b/bgpd/bgp_packet.c @@ -343,7 +343,7 @@ bgp_update_packet_eor (struct peer *peer, afi_t afi, safi_t safi) stream_putc (s, BGP_ATTR_MP_UNREACH_NLRI); stream_putc (s, 3); stream_putw (s, afi); - stream_putc (s, safi); + stream_putc (s, (safi == SAFI_MPLS_VPN) ? SAFI_MPLS_LABELED_VPN : safi); } bgp_packet_set_size (s); @@ -798,8 +798,7 @@ bgp_write_packet (struct peer *peer) PEER_CAP_RESTART_BIT_RCV) && CHECK_FLAG (adv->binfo->peer->cap, PEER_CAP_RESTART_BIT_ADV)) - && ! CHECK_FLAG (adv->binfo->flags, BGP_INFO_STALE) - && safi != SAFI_MPLS_VPN) + && ! CHECK_FLAG (adv->binfo->flags, BGP_INFO_STALE)) { if (CHECK_FLAG (adv->binfo->peer->af_sflags[afi][safi], PEER_STATUS_EOR_RECEIVED)) @@ -816,8 +815,7 @@ bgp_write_packet (struct peer *peer) if (CHECK_FLAG (peer->cap, PEER_CAP_RESTART_RCV)) { if (peer->afc_nego[afi][safi] && peer->synctime - && ! CHECK_FLAG (peer->af_sflags[afi][safi], PEER_STATUS_EOR_SEND) - && safi != SAFI_MPLS_VPN) + && ! CHECK_FLAG (peer->af_sflags[afi][safi], PEER_STATUS_EOR_SEND)) { SET_FLAG (peer->af_sflags[afi][safi], PEER_STATUS_EOR_SEND); return bgp_update_packet_eor (peer, afi, safi); -- 2.1.4 _______________________________________________ Quagga-dev mailing list Quagga-dev@lists.quagga.net https://lists.quagga.net/mailman/listinfo/quagga-dev