mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
zebra: Do not flush an existing vni configuration trying to remove wrong vni
Before:
```
pc.donatas.net(config)# do sh run | include vni
vni 1
pc.donatas.net(config)# no vni 2
pc.donatas.net(config)# do sh run | include vni
pc.donatas.net(config)#
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 44fe3981ee
)
This commit is contained in:
parent
274b522fdd
commit
0af2a5fd00
|
@ -2351,12 +2351,32 @@ DEFPY_YANG (vni_mapping,
|
||||||
"VNI-ID\n"
|
"VNI-ID\n"
|
||||||
"prefix-routes-only\n")
|
"prefix-routes-only\n")
|
||||||
{
|
{
|
||||||
if (!no)
|
const struct lyd_node *dnode;
|
||||||
|
const char *vrf;
|
||||||
|
|
||||||
|
if (!no) {
|
||||||
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/l3vni-id", NB_OP_MODIFY,
|
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/l3vni-id", NB_OP_MODIFY,
|
||||||
vni_str);
|
vni_str);
|
||||||
else
|
} else {
|
||||||
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/l3vni-id", NB_OP_DESTROY,
|
if (vty->node == CONFIG_NODE) {
|
||||||
NULL);
|
if (yang_dnode_existsf(vty->candidate_config->dnode,
|
||||||
|
"/frr-vrf:lib/vrf[name='%s']/frr-zebra:zebra[l3vni-id='%lu']",
|
||||||
|
VRF_DEFAULT_NAME, vni))
|
||||||
|
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/l3vni-id",
|
||||||
|
NB_OP_DESTROY, NULL);
|
||||||
|
} else {
|
||||||
|
dnode = yang_dnode_get(vty->candidate_config->dnode, VTY_CURR_XPATH);
|
||||||
|
if (dnode) {
|
||||||
|
vrf = yang_dnode_get_string(dnode, "name");
|
||||||
|
|
||||||
|
if (yang_dnode_existsf(vty->candidate_config->dnode,
|
||||||
|
"/frr-vrf:lib/vrf[name='%s']/frr-zebra:zebra[l3vni-id='%lu']",
|
||||||
|
vrf, vni))
|
||||||
|
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/l3vni-id",
|
||||||
|
NB_OP_DESTROY, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (filter)
|
if (filter)
|
||||||
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/prefix-only",
|
nb_cli_enqueue_change(vty, "./frr-zebra:zebra/prefix-only",
|
||||||
|
|
Loading…
Reference in a new issue