mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 04:18:56 +00:00
bgpd: Fix match peer
when switching between IPv4/IPv6/interface
Without this patch we MUST follow this sequence:
```
no match peer 10.0.0.1
match peer 2a01::1
```
Otherwise, both IPv4/IPv6 values are set/compiled, thus when printing the
configuration in show running, we see the first one (IPv4).
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit edfc03614f
)
This commit is contained in:
parent
90165b9dae
commit
8b6ba46120
@ -5219,27 +5219,23 @@ DEFPY_YANG (match_peer,
|
||||
|
||||
nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL);
|
||||
|
||||
if (addrv4_str) {
|
||||
snprintf(
|
||||
xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-ipv4-address",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value, NB_OP_MODIFY,
|
||||
addrv4_str);
|
||||
} else if (addrv6_str) {
|
||||
snprintf(
|
||||
xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-ipv6-address",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value, NB_OP_MODIFY,
|
||||
addrv6_str);
|
||||
} else {
|
||||
snprintf(
|
||||
xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-interface",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value, NB_OP_MODIFY, intf);
|
||||
}
|
||||
snprintf(xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-ipv4-address",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value,
|
||||
addrv4_str ? NB_OP_MODIFY : NB_OP_DESTROY,
|
||||
addrv4_str);
|
||||
snprintf(xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-ipv6-address",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value,
|
||||
addrv6_str ? NB_OP_MODIFY : NB_OP_DESTROY,
|
||||
addrv6_str);
|
||||
snprintf(xpath_value, sizeof(xpath_value),
|
||||
"%s/rmap-match-condition/frr-bgp-route-map:peer-interface",
|
||||
xpath);
|
||||
nb_cli_enqueue_change(vty, xpath_value,
|
||||
intf ? NB_OP_MODIFY : NB_OP_DESTROY, intf);
|
||||
|
||||
return nb_cli_apply_changes(vty, NULL);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user