]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: Adjust only `any` flag for prefix-list entries if destroying 13035/head
authorDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 17 Mar 2023 12:48:35 +0000 (14:48 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Sat, 18 Mar 2023 11:31:55 +0000 (11:31 +0000)
Before this patch, if we destroy `any` flag for a prefix-list entry, we always
set destination as 0.0.0.0/0 and/or ::/0.

This means that, if we switch from `ip prefix-list r1-2 seq 5 deny any` to
`ip prefix-list r1-2 seq 5 permit 10.10.10.10/32` we will have
`permit any` eventually, which broke ACLs.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 61c07b9d43529f69f48ca54f4f0213cff52b5d0a)

lib/filter_cli.c
lib/filter_nb.c

index 5accea3f02378fbd55f0106b71df02c8f0ad4873..3b896e3aa20f376968fc5d9cb5b0d1594d3d5718 100644 (file)
@@ -1340,6 +1340,7 @@ DEFPY_YANG(
                                vty, "./ipv4-prefix-length-lesser-or-equal",
                                NB_OP_DESTROY, NULL);
                }
+               nb_cli_enqueue_change(vty, "./any", NB_OP_DESTROY, NULL);
        } else {
                nb_cli_enqueue_change(vty, "./any", NB_OP_CREATE, NULL);
        }
index cfe3105380ed41a125e2a679d28c741f732cb361..fecbd50ed38343e877142410cf49f324d0ba9635 100644 (file)
@@ -1644,7 +1644,7 @@ static int lib_prefix_list_entry_any_destroy(struct nb_cb_destroy_args *args)
        /* Start prefix entry update procedure. */
        prefix_list_entry_update_start(ple);
 
-       prefix_list_entry_set_empty(ple);
+       ple->any = false;
 
        /* Finish prefix entry update procedure. */
        prefix_list_entry_update_finish(ple);