Merge pull request #15301 from opensourcerouting/fix/fqdn_capability_dynamic

bgpd: Send FQDN capability via dynamic capability if enabled
This commit is contained in:
Donald Sharp 2024-02-06 11:36:03 -05:00 committed by GitHub
commit e369d2cca8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 4 deletions

View File

@ -1534,7 +1534,8 @@ void bgp_capability_send(struct peer *peer, afi_t afi, safi_t safi,
iana_safi2str(pkt_safi));
break;
case CAPABILITY_CODE_FQDN:
if (hostname) {
if (CHECK_FLAG(peer->flags, PEER_FLAG_CAPABILITY_FQDN) &&
hostname) {
SET_FLAG(peer->cap, PEER_CAP_HOSTNAME_ADV);
stream_putc(s, action);
stream_putc(s, CAPABILITY_CODE_FQDN);

View File

@ -5746,17 +5746,24 @@ DEFPY (neighbor_capability_fqdn,
"Advertise fqdn capability to the peer\n")
{
struct peer *peer;
int ret;
peer = peer_and_group_lookup_vty(vty, neighbor);
if (!peer)
return CMD_WARNING_CONFIG_FAILED;
if (no)
return peer_flag_unset_vty(vty, neighbor,
ret = peer_flag_unset_vty(vty, neighbor,
PEER_FLAG_CAPABILITY_FQDN);
else
return peer_flag_set_vty(vty, neighbor,
ret = peer_flag_set_vty(vty, neighbor,
PEER_FLAG_CAPABILITY_FQDN);
bgp_capability_send(peer, AFI_IP, SAFI_UNICAST, CAPABILITY_CODE_FQDN,
no ? CAPABILITY_ACTION_UNSET
: CAPABILITY_ACTION_SET);
return ret;
}
/* neighbor capability extended next hop encoding */

View File

@ -4574,7 +4574,7 @@ static const struct peer_flag_action peer_flag_action_list[] = {
{PEER_FLAG_AIGP, 0, peer_change_none},
{PEER_FLAG_GRACEFUL_SHUTDOWN, 0, peer_change_none},
{PEER_FLAG_CAPABILITY_SOFT_VERSION, 0, peer_change_none},
{PEER_FLAG_CAPABILITY_FQDN, 0, peer_change_reset},
{PEER_FLAG_CAPABILITY_FQDN, 0, peer_change_none},
{0, 0, 0}};
static const struct peer_flag_action peer_af_flag_action_list[] = {