mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 21:50:39 +00:00
bgpd: fix BFD configuration update on TTL change
When altering the TTL of a eBGP peer also update the BFD configuration. This was only working when the configuration happened after the peer connection had been established. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
parent
ca30ac7fc3
commit
4ba37eb691
16
bgpd/bgpd.c
16
bgpd/bgpd.c
@ -4752,6 +4752,10 @@ int peer_ebgp_multihop_set(struct peer *peer, int ttl)
|
|||||||
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
||||||
else
|
else
|
||||||
bgp_session_reset(peer);
|
bgp_session_reset(peer);
|
||||||
|
|
||||||
|
/* Reconfigure BFD peer with new TTL. */
|
||||||
|
if (peer->bfd_config)
|
||||||
|
bgp_peer_bfd_update_source(peer);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
group = peer->group;
|
group = peer->group;
|
||||||
@ -4766,6 +4770,10 @@ int peer_ebgp_multihop_set(struct peer *peer, int ttl)
|
|||||||
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
||||||
else
|
else
|
||||||
bgp_session_reset(peer);
|
bgp_session_reset(peer);
|
||||||
|
|
||||||
|
/* Reconfigure BFD peer with new TTL. */
|
||||||
|
if (peer->bfd_config)
|
||||||
|
bgp_peer_bfd_update_source(peer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -4799,6 +4807,10 @@ int peer_ebgp_multihop_unset(struct peer *peer)
|
|||||||
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
BGP_NOTIFY_CEASE_CONFIG_CHANGE);
|
||||||
else
|
else
|
||||||
bgp_session_reset(peer);
|
bgp_session_reset(peer);
|
||||||
|
|
||||||
|
/* Reconfigure BFD peer with new TTL. */
|
||||||
|
if (peer->bfd_config)
|
||||||
|
bgp_peer_bfd_update_source(peer);
|
||||||
} else {
|
} else {
|
||||||
group = peer->group;
|
group = peer->group;
|
||||||
for (ALL_LIST_ELEMENTS(group->peer, node, nnode, peer)) {
|
for (ALL_LIST_ELEMENTS(group->peer, node, nnode, peer)) {
|
||||||
@ -4815,6 +4827,10 @@ int peer_ebgp_multihop_unset(struct peer *peer)
|
|||||||
else
|
else
|
||||||
bgp_session_reset(peer);
|
bgp_session_reset(peer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Reconfigure BFD peer with new TTL. */
|
||||||
|
if (peer->bfd_config)
|
||||||
|
bgp_peer_bfd_update_source(peer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user