]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Take ge/le into consideration when checking the prefix with the prefix-list
authorDonatas Abraitis <donatas@opensourcerouting.org>
Tue, 10 Dec 2024 14:28:26 +0000 (16:28 +0200)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Tue, 17 Dec 2024 16:32:34 +0000 (16:32 +0000)
Without the fix:

```
show ip prefix-list test_1 10.20.30.96/27 first-match
 <no result>

show ip prefix-list test_2 192.168.1.2/32 first-match
 <no result>
```

With the fix:

```
ip prefix-list test_1 seq 10 permit 10.20.30.64/26 le 27
!
end
donatas# show ip prefix-list test_1 10.20.30.96/27
   seq 10 permit 10.20.30.64/26 le 27 (hit count: 1, refcount: 0)
donatas# show ip prefix-list test_1 10.20.30.64/27
   seq 10 permit 10.20.30.64/26 le 27 (hit count: 2, refcount: 0)
donatas# show ip prefix-list test_1 10.20.30.64/28
donatas# show ip prefix-list test_1 10.20.30.126/26
   seq 10 permit 10.20.30.64/26 le 27 (hit count: 3, refcount: 0)
donatas# show ip prefix-list test_1 10.20.30.126/30
donatas#
```

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

lib/plist.c

index 618d92b5494ff2af0673311efff95887325483e3..3fc8e2a1ffac2bf08692c4efdf8c16345fd68a85 100644 (file)
@@ -1140,8 +1140,10 @@ static int vty_show_prefix_list_prefix(struct vty *vty, afi_t afi,
                match = 0;
 
                if (type == normal_display || type == first_match_display)
-                       if (prefix_same(&p, &pentry->prefix))
+                       if (prefix_list_entry_match(pentry, &p, false)) {
+                               pentry->hitcnt++;
                                match = 1;
+                       }
 
                if (type == longer_display) {
                        if ((p.family == pentry->prefix.family)