Commit Graph

36476 Commits

Author SHA1 Message Date
Louis Scalbert
e9c4b33119 tests: bgp_set_aspath_exclude check rule modif
No need to do 'no set as-path exclude' to replace the current rule by
another. The code is supposed to support the replacement.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-09-11 18:02:47 +02:00
Louis Scalbert
f102fb7aef tests: bgp_set_aspath_exclude check rule modif crash
Check that the following does not cause a crash:

> route-map r2 permit 6
>  set as-path exclude 65555
>  set as-path exclude as-path-access-list NON-EXISTING

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-09-10 15:18:00 +02:00
Louis Scalbert
5e1b7f5a69 bgpd: fix as-path exclude modify crash
Fix a crash when modifying a route-map with set as-path exclude without
as-path-access-list:

> router(config)# route-map routemaptest deny 1
> router(config-route-map)# set as-path exclude 33 34 35
> router(config-route-map)# set as-path exclude as-path-access-list test

> #0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
> #1  0x00007fb3959327de in core_handler (signo=11, siginfo=0x7ffd122da530, context=0x7ffd122da400) at lib/sigevent.c:258
> #2  <signal handler called>
> #3  0x000055ab2762a1bd in as_list_list_del (h=0x55ab27897680 <as_exclude_list_orphan>, item=0x55ab28204e20) at ./bgpd/bgp_aspath.h:77
> #4  0x000055ab2762d1a8 in as_exclude_remove_orphan (ase=0x55ab28204e20) at bgpd/bgp_aspath.c:1574
> #5  0x000055ab27550538 in route_aspath_exclude_free (rule=0x55ab28204e20) at bgpd/bgp_routemap.c:2366
> #6  0x00007fb39591f00c in route_map_rule_delete (list=0x55ab28203498, rule=0x55ab28204170) at lib/routemap.c:1357
> #7  0x00007fb39591f87c in route_map_add_set (index=0x55ab28203460, set_name=0x55ab276ad2aa "as-path exclude", set_arg=0x55ab281e4f70 "as-path-access-list test") at lib/routemap.c:1674
> #8  0x00007fb39591d3f3 in generic_set_add (index=0x55ab28203460, command=0x55ab276ad2aa "as-path exclude", arg=0x55ab281e4f70 "as-path-access-list test", errmsg=0x7ffd122db870 "",
>     errmsg_len=8192) at lib/routemap.c:533
> #9  0x000055ab2755e78e in lib_route_map_entry_set_action_rmap_set_action_exclude_as_path_modify (args=0x7ffd122db290) at bgpd/bgp_routemap_nb_config.c:2427
> #10 0x00007fb3958fe417 in nb_callback_modify (context=0x55ab28205aa0, nb_node=0x55ab27cb31e0, event=NB_EV_APPLY, dnode=0x55ab28202690, resource=0x55ab27c32148, errmsg=0x7ffd122db870 "",
>     errmsg_len=8192) at lib/northbound.c:1538
> #11 0x00007fb3958ff0ab in nb_callback_configuration (context=0x55ab28205aa0, event=NB_EV_APPLY, change=0x55ab27c32110, errmsg=0x7ffd122db870 "", errmsg_len=8192) at lib/northbound.c:1888
> #12 0x00007fb3958ff5e4 in nb_transaction_process (event=NB_EV_APPLY, transaction=0x55ab28205aa0, errmsg=0x7ffd122db870 "", errmsg_len=8192) at lib/northbound.c:2016
> #13 0x00007fb3958fddba in nb_candidate_commit_apply (transaction=0x55ab28205aa0, save_transaction=true, transaction_id=0x0, errmsg=0x7ffd122db870 "", errmsg_len=8192)
>     at lib/northbound.c:1356
> #14 0x00007fb3958fdef0 in nb_candidate_commit (context=..., candidate=0x55ab27c2c9a0, save_transaction=true, comment=0x0, transaction_id=0x0, errmsg=0x7ffd122db870 "", errmsg_len=8192)
>     at lib/northbound.c:1389
> #15 0x00007fb3959045ba in nb_cli_classic_commit (vty=0x55ab281f6680) at lib/northbound_cli.c:57
> #16 0x00007fb395904b5a in nb_cli_apply_changes_internal (vty=0x55ab281f6680, xpath_base=0x7ffd122dfd10 "/frr-route-map:lib/route-map[name='routemaptest']/entry[sequence='1']",
>     clear_pending=false) at lib/northbound_cli.c:184
> #17 0x00007fb395904ebf in nb_cli_apply_changes (vty=0x55ab281f6680, xpath_base_fmt=0x0) at lib/northbound_cli.c:240
> --Type <RET> for more, q to quit, c to continue without paging--
> #18 0x000055ab27557d2e in set_aspath_exclude_access_list_magic (self=0x55ab2775c300 <set_aspath_exclude_access_list_cmd>, vty=0x55ab281f6680, argc=5, argv=0x55ab28204c80,
>     as_path_filter_name=0x55ab28202040 "test") at bgpd/bgp_routemap.c:6397
> #19 0x000055ab2754bdea in set_aspath_exclude_access_list (self=0x55ab2775c300 <set_aspath_exclude_access_list_cmd>, vty=0x55ab281f6680, argc=5, argv=0x55ab28204c80)
>     at ./bgpd/bgp_routemap_clippy.c:856
> #20 0x00007fb39589435d in cmd_execute_command_real (vline=0x55ab281e61f0, vty=0x55ab281f6680, cmd=0x0, up_level=0) at lib/command.c:1003
> #21 0x00007fb3958944be in cmd_execute_command (vline=0x55ab281e61f0, vty=0x55ab281f6680, cmd=0x0, vtysh=0) at lib/command.c:1062
> #22 0x00007fb395894a0c in cmd_execute (vty=0x55ab281f6680, cmd=0x55ab28200f20 "set as-path exclude as-path-access-list test", matched=0x0, vtysh=0) at lib/command.c:1228
> #23 0x00007fb39595242c in vty_command (vty=0x55ab281f6680, buf=0x55ab28200f20 "set as-path exclude as-path-access-list test") at lib/vty.c:625
> #24 0x00007fb3959541c5 in vty_execute (vty=0x55ab281f6680) at lib/vty.c:1388
> #25 0x00007fb3959563db in vtysh_read (thread=0x7ffd122e2bb0) at lib/vty.c:2400
> #26 0x00007fb39594b785 in event_call (thread=0x7ffd122e2bb0) at lib/event.c:1996
> #27 0x00007fb3958d1365 in frr_run (master=0x55ab27b56d70) at lib/libfrr.c:1231
> #28 0x000055ab2747f1cc in main (argc=3, argv=0x7ffd122e2e08) at bgpd/bgp_main.c:555

Fixes: 094dcc3cda ("bgpd: fix "bgp as-pah access-list" with "set aspath exclude" set/unset issues")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-09-10 14:07:06 +02:00
Jafar Al-Gharaibeh
3c173dfef2
Merge pull request #16777 from LabNConsulting/chopps/pytest-config-update
tests: add asyncio default config param to quiet warning
2024-09-09 20:48:05 -04:00
Christian Hopps
df2133f803 tests: add asyncio default config param to quiet warning
Update the topotest doc to the latest pytest* pkg versions
known to work together

Signed-off-by: Christian Hopps <chopps@labn.net>
2024-09-09 16:35:28 -04:00
Donald Sharp
fbd743197a
Merge pull request #16764 from LabNConsulting/chopps/fix-clang-sa-warning
lib: fix clang SA warnings
2024-09-08 20:06:26 -04:00
Russ White
80d3a2b120
Merge pull request #15679 from cscarpitta/test-srv6-sid-manager
tests: Add topotest to validate the sharing of an SRv6 locator among multiple protocols
2024-09-08 15:09:50 -04:00
Donatas Abraitis
7779937850
Merge pull request #16756 from sri-mohan1/srib-24-frr-a
bgpd: changes for code maintainability
2024-09-08 20:42:59 +03:00
Christian Hopps
035843705b lib: fix clang SA warnings
Also, cleanup some unreachable code in `nb_op_sib_next()`.

Signed-off-by: Christian Hopps <chopps@labn.net>
2024-09-07 22:12:03 -04:00
Jafar Al-Gharaibeh
63148da2a6
Merge pull request #16762 from LabNConsulting/chopps/diag-diff
improve @retry decorator
2024-09-07 14:30:24 -04:00
Christian Hopps
956edf6fbf tests: log json diff output at debug level while retrying
Signed-off-by: Christian Hopps <chopps@labn.net>
2024-09-07 07:13:37 -04:00
Christian Hopps
987100333a tests: optionally pass seconds_left to retrying functions
This allows retrying functions to possibly change their logging level
for diagnostics.

In order to maintain backward compatibility with this longstanding
function we catch the specific exception of it not being handled by the
retrying function and call again w/o the argument.

Signed-off-by: Christian Hopps <chopps@labn.net>
2024-09-07 07:09:27 -04:00
Carmine Scarpitta
c7f47536e6 tests: Add SRv6 SID Manager mem leak testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
c6c8efb22c tests: Add SRv6 SID Manager ping testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
f1a63df5a5 tests: Add SRv6 SID Manager VPN RIB testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
d00be6af22 tests: Add SRv6 SID Manager SRv6 loc testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
0a3be6a2bd tests: Add SRv6 SID Manager RIB IPv6 testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
583c34c4ea tests: Add SRv6 SID Manager RIB IPv4 testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
bbd59ed8a1 tests: Add SRv6 SID Manager ISIS adj testcase
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:34 +02:00
Carmine Scarpitta
55c9b65c89 tests: SRv6 SID Manager check rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:28 +02:00
Carmine Scarpitta
d6d8005395 tests: SRv6 SID Manager open json
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:24:11 +02:00
Carmine Scarpitta
1168c5a747 tests: SRv6 SID Manager check ping
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:23:56 +02:00
Carmine Scarpitta
d157212a21 tests: SRv6 SID Manager json cmp
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:23:37 +02:00
Carmine Scarpitta
fccfda2263 tests: SRv6 SID Manager teardown module
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:23:18 +02:00
Carmine Scarpitta
7d7678d251 tests: SRv6 SID Manager setup module
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:22:58 +02:00
Carmine Scarpitta
eea0da439d tests: SRv6 SID Manager build topology
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:22:39 +02:00
Carmine Scarpitta
9edf6005f6 tests: Add SRv6 SID Manager topotest
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:22:02 +02:00
Carmine Scarpitta
7b4de98caf tests: Add json to verify rt6 vpn rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
39acb03521 tests: Add json to verify rt6 vrf20 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
ac89710bc4 tests: Add json to verify rt6 vrf10 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
379dacdbe3 tests: Add json to verify rt6 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
c9e42806ca tests: Add json to verify rt6 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
639e0c9b31 tests: Add json to verify rt6 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
459b974ad0 tests: Add json to verify rt6 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
0b08195a31 tests: Add zebra configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
e0e1dd8ac2 tests: Add sharp configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
70e38f7450 tests: Add ISIS configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
27d1fa8351 tests: Add BGP configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
4e126ab88a tests: Add json to verify rt5 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
0eb7062890 tests: Add json to verify rt5 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
1e885f0fd8 tests: Add json to verify rt5 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
7b156dd2c9 tests: Add json to verify rt5 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
f5d8c37f0d tests: Add zebra configuration for rt5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
42feb8d7c8 tests: Add ISIS configuration for rt5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
a056dfd996 tests: Add json to verify rt4 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
d13777e8ee tests: Add json to verify rt4 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
a7eb091662 tests: Add json to verify rt4 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
fa3d41963f tests: Add json to verify rt4 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
f443c489d4 tests: Add zebra configuration for rt4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00
Carmine Scarpitta
e2141d0d08 tests: Add ISIS configuration for rt4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-09-06 23:08:03 +02:00