lib: Return duplicate prefix-list entry test

If we do e.g.:

ip prefix-list PL_LoopbackV4 permit 10.1.0.32/32
ip prefix-list PL_LoopbackV4 permit 10.1.0.32/32
ip prefix-list PL_LoopbackV4 permit 10.1.0.32/32

We end up, having duplicate records with a different sequence number only.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
This commit is contained in:
Donatas Abraitis 2025-03-25 13:54:24 +02:00
parent 45af7ea217
commit 8384d41144

View file

@ -1206,10 +1206,14 @@ DEFPY_YANG(
snprintf(xpath, sizeof(xpath),
"/frr-filter:lib/prefix-list[type='ipv4'][name='%s']", name);
if (seq_str == NULL) {
/* Use XPath to find the next sequence number. */
sseq = acl_get_seq(vty, xpath, false);
if (sseq < 0)
return CMD_WARNING_CONFIG_FAILED;
if (plist_is_dup(vty->candidate_config->dnode, &pda))
sseq = pda.pda_seq;
else {
/* Use XPath to find the next sequence number. */
sseq = acl_get_seq(vty, xpath, false);
if (sseq < 0)
return CMD_WARNING_CONFIG_FAILED;
}
snprintfrr(xpath_entry, sizeof(xpath_entry),
"%s/entry[sequence='%" PRId64 "']", xpath, sseq);