diff options
Diffstat (limited to 'bgpd/bgp_open.c')
| -rw-r--r-- | bgpd/bgp_open.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bgpd/bgp_open.c b/bgpd/bgp_open.c index 02026a004a..af3c0486e5 100644 --- a/bgpd/bgp_open.c +++ b/bgpd/bgp_open.c @@ -1536,8 +1536,11 @@ bgp_open_capability (struct stream *s, struct peer *peer) if (peer->afc[afi][safi]) { stream_putw (s, afi); - stream_putc (s, safi); - stream_putc (s, 0); //Forwarding is not retained as of now. + stream_putc (s, (safi == SAFI_MPLS_VPN) ? SAFI_MPLS_LABELED_VPN : safi); + if (bgp_flag_check(peer->bgp, BGP_FLAG_GR_PRESERVE_FWD)) + stream_putc (s, RESTART_F_BIT); + else + stream_putc (s, 0); } } |
