summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_open_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_open_state.c')
-rw-r--r--bgpd/bgp_open_state.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/bgpd/bgp_open_state.c b/bgpd/bgp_open_state.c
index 55d3b345..b122abfe 100644
--- a/bgpd/bgp_open_state.c
+++ b/bgpd/bgp_open_state.c
@@ -290,15 +290,19 @@ bgp_peer_open_state_receive(bgp_peer peer)
SET_FLAG (peer->cap, PEER_CAP_ORF_PREFIX_RM_RCV);
}
+ /* Dynamic Capabilities */
+ if (open_recv->can_dynamic)
+ SET_FLAG (peer->cap, PEER_CAP_DYNAMIC_RCV);
+
/* Graceful restart */
for (afi = qAFI_MIN ; afi <= qAFI_MAX ; ++afi)
for (safi = qSAFI_MIN ; safi <= qSAFI_MAX ; ++safi)
{
qafx_bit_t qb = qafx_bit(qafx_num_from_qAFI_qSAFI(afi, safi));
- if (peer->afc[afi][safi] && (qb & open_recv->can_g_restart))
+ if (peer->afc[afi][safi] && (qb & open_recv->can_preserve))
{
SET_FLAG (peer->af_cap[afi][safi], PEER_CAP_RESTART_AF_RCV);
- if (qb & open_recv->can_nfs)
+ if (qb & open_recv->has_preserved)
SET_FLAG (peer->af_cap[afi][safi], PEER_CAP_RESTART_AF_PRESERVE_RCV);
}
}