Carmine Scarpitta
e3282e26e4
tests: Fix warnings in bgp_srv6l3vpn_to_bgp_vrf3
...
When performing the `bgp_srv6l3vpn_to_bgp_vrf3` topotest, the following
warnings are observed:
```
2024-07-21 08:01:51,390 WARNING: r1: Router(r1): proc failed: rc 127 pid 52974
args: /usr/bin/nsenter --mount=/proc/52322/ns/mnt --net=/proc/52322/ns/net --uts=/proc/52322/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/r1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/r1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,522 WARNING: r2: Router(r2): proc failed: rc 127 pid 52984
args: /usr/bin/nsenter --mount=/proc/52397/ns/mnt --net=/proc/52397/ns/net --uts=/proc/52397/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/r2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/r2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,632 WARNING: ce1: Router(ce1): proc failed: rc 127 pid 52994
args: /usr/bin/nsenter --mount=/proc/52472/ns/mnt --net=/proc/52472/ns/net --uts=/proc/52472/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,757 WARNING: ce2: Router(ce2): proc failed: rc 127 pid 53004
args: /usr/bin/nsenter --mount=/proc/52547/ns/mnt --net=/proc/52547/ns/net --uts=/proc/52547/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,878 WARNING: ce3: Router(ce3): proc failed: rc 127 pid 53014
args: /usr/bin/nsenter --mount=/proc/52622/ns/mnt --net=/proc/52622/ns/net --uts=/proc/52622/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce3/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce3/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,997 WARNING: ce4: Router(ce4): proc failed: rc 127 pid 53024
args: /usr/bin/nsenter --mount=/proc/52697/ns/mnt --net=/proc/52697/ns/net --uts=/proc/52697/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce4/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce4/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,109 WARNING: ce5: Router(ce5): proc failed: rc 127 pid 53034
args: /usr/bin/nsenter --mount=/proc/52772/ns/mnt --net=/proc/52772/ns/net --uts=/proc/52772/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce5/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce5/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,225 WARNING: ce6: Router(ce6): proc failed: rc 127 pid 53044
args: /usr/bin/nsenter --mount=/proc/52847/ns/mnt --net=/proc/52847/ns/net --uts=/proc/52847/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce6/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf3/ce6/setup.sh: No such file or directory
stderr: *empty*
````
This occurs because the topotest attempts to execute the `setup.sh`
file, and the file does not exist.
Let's fix the issue by checking if the `setup.sh` file exists and
executing it only if it does.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-07-21 09:43:06 +02:00
Carmine Scarpitta
5d76346266
tests: Fix warnings in bgp_srv6l3vpn_to_bgp_vrf2
...
When performing the `bgp_srv6l3vpn_to_bgp_vrf2` topotest, the following
warnings are observed:
```
2024-07-21 08:01:51,390 WARNING: r1: Router(r1): proc failed: rc 127 pid 52974
args: /usr/bin/nsenter --mount=/proc/52322/ns/mnt --net=/proc/52322/ns/net --uts=/proc/52322/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/r1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/r1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,522 WARNING: r2: Router(r2): proc failed: rc 127 pid 52984
args: /usr/bin/nsenter --mount=/proc/52397/ns/mnt --net=/proc/52397/ns/net --uts=/proc/52397/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/r2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/r2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,632 WARNING: ce1: Router(ce1): proc failed: rc 127 pid 52994
args: /usr/bin/nsenter --mount=/proc/52472/ns/mnt --net=/proc/52472/ns/net --uts=/proc/52472/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,757 WARNING: ce2: Router(ce2): proc failed: rc 127 pid 53004
args: /usr/bin/nsenter --mount=/proc/52547/ns/mnt --net=/proc/52547/ns/net --uts=/proc/52547/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,878 WARNING: ce3: Router(ce3): proc failed: rc 127 pid 53014
args: /usr/bin/nsenter --mount=/proc/52622/ns/mnt --net=/proc/52622/ns/net --uts=/proc/52622/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce3/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce3/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,997 WARNING: ce4: Router(ce4): proc failed: rc 127 pid 53024
args: /usr/bin/nsenter --mount=/proc/52697/ns/mnt --net=/proc/52697/ns/net --uts=/proc/52697/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce4/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce4/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,109 WARNING: ce5: Router(ce5): proc failed: rc 127 pid 53034
args: /usr/bin/nsenter --mount=/proc/52772/ns/mnt --net=/proc/52772/ns/net --uts=/proc/52772/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce5/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce5/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,225 WARNING: ce6: Router(ce6): proc failed: rc 127 pid 53044
args: /usr/bin/nsenter --mount=/proc/52847/ns/mnt --net=/proc/52847/ns/net --uts=/proc/52847/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce6/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf2/ce6/setup.sh: No such file or directory
stderr: *empty*
````
This occurs because the topotest attempts to execute the `setup.sh`
file, and the file does not exist.
Let's fix the issue by checking if the `setup.sh` file exists and
executing it only if it does.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-07-21 09:42:52 +02:00
Carmine Scarpitta
44ee7a4abe
tests: Fix warnings in bgp_srv6l3vpn_to_bgp_vrf
...
When performing the `bgp_srv6l3vpn_to_bgp_vrf` topotest, the following
warnings are observed:
```
2024-07-21 08:01:51,390 WARNING: r1: Router(r1): proc failed: rc 127 pid 52974
args: /usr/bin/nsenter --mount=/proc/52322/ns/mnt --net=/proc/52322/ns/net --uts=/proc/52322/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,522 WARNING: r2: Router(r2): proc failed: rc 127 pid 52984
args: /usr/bin/nsenter --mount=/proc/52397/ns/mnt --net=/proc/52397/ns/net --uts=/proc/52397/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/r2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,632 WARNING: ce1: Router(ce1): proc failed: rc 127 pid 52994
args: /usr/bin/nsenter --mount=/proc/52472/ns/mnt --net=/proc/52472/ns/net --uts=/proc/52472/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce1/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,757 WARNING: ce2: Router(ce2): proc failed: rc 127 pid 53004
args: /usr/bin/nsenter --mount=/proc/52547/ns/mnt --net=/proc/52547/ns/net --uts=/proc/52547/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce2/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,878 WARNING: ce3: Router(ce3): proc failed: rc 127 pid 53014
args: /usr/bin/nsenter --mount=/proc/52622/ns/mnt --net=/proc/52622/ns/net --uts=/proc/52622/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce3/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce3/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:51,997 WARNING: ce4: Router(ce4): proc failed: rc 127 pid 53024
args: /usr/bin/nsenter --mount=/proc/52697/ns/mnt --net=/proc/52697/ns/net --uts=/proc/52697/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce4/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce4/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,109 WARNING: ce5: Router(ce5): proc failed: rc 127 pid 53034
args: /usr/bin/nsenter --mount=/proc/52772/ns/mnt --net=/proc/52772/ns/net --uts=/proc/52772/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce5/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce5/setup.sh: No such file or directory
stderr: *empty*
2024-07-21 08:01:52,225 WARNING: ce6: Router(ce6): proc failed: rc 127 pid 53044
args: /usr/bin/nsenter --mount=/proc/52847/ns/mnt --net=/proc/52847/ns/net --uts=/proc/52847/ns/uts -F /bin/bash -c /bin/bash /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce6/setup.sh
stdout: /bin/bash: /media/workspace/frr/tests/topotests/bgp_srv6l3vpn_to_bgp_vrf/ce6/setup.sh: No such file or directory
stderr: *empty*
````
This occurs because the topotest attempts to execute the `setup.sh`
file, and the file does not exist.
Let's fix the issue by checking if the `setup.sh` file exists and
executing it only if it does.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-07-21 09:42:32 +02:00
Nathan Bahr
ddc1c2eeae
tests: OSPFv3 hello tests investigation, make assert output unique
...
These failing tests are hard to track down. Added numbering to each assert
to easily tell where the test fails.
Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
2024-07-17 12:37:06 -05:00
Donatas Abraitis
c6c0403c61
tests: Check if VRF instance has a different ASN than a default VRF
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-15 16:10:57 +03:00
Donatas Abraitis
7540364e58
tests: Check if multiple VRF instances can have different ASNs
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-15 16:10:57 +03:00
Jafar Al-Gharaibeh
ad7a1f9487
tests: tweak timers to avoid frequent failures on slow CI hardware
...
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2024-07-12 11:36:52 -05:00
Russ White
52376aa4b6
Merge pull request #16229 from anlancs/ripd/fix-header-show
...
ripd/ripngd: use common header for display command
2024-07-09 16:12:30 -04:00
Mark Stapp
7d08b29721
Merge pull request #16342 from pguibert6WIND/duplicate_fib_proposal
...
Duplicate fib proposal
2024-07-09 13:48:37 -04:00
Russ White
685712df44
Merge pull request #16241 from zhou-run/202406191740
...
isisd: The neighbor entry still displays the deleted hostname of the neighbor.
2024-07-09 11:40:26 -04:00
Russ White
22db85a714
Merge pull request #16258 from opensourcerouting/tsan-20240620
...
lib, tests: fix some b0rked tests, then fix TSAN warnings
2024-07-09 11:36:24 -04:00
Russ White
29aba901d6
Merge pull request #16352 from opensourcerouting/fix/rename_test
...
tests: Rename BGP OAD test function
2024-07-08 23:16:20 -04:00
Philippe Guibert
731f74e35f
zebra, topotests: do not set nexthop's FIB flag when DUPLICATE present
...
The bgp_duplicate_nexthop test installs routes with nexthop's
flags set to both DUPLICATE and FIB: this should not happen.
The DUPLICATE flag of a nexthop indicates this nexthop is already
used in the same nexthop-group, and there is no need to install it
twice in the system; having the FIB flag set indicates that the
nexthop is installed in the system. This is why both flags should
not be set on the same nexthop.
This case happens at installation time, but can also happen
at update time.
- Fix this by not setting the FIB flag value when the DUPLICATE
flag is present.
- Modify the bgp_duplicate_test to check that the FIB flag is not
present on duplicated nexthops.
- Modify the bgp_peer_type_multipath_relax test.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-07-08 15:42:02 +02:00
Philippe Guibert
7dfe12eef8
topotests: bgp_peer_type_multipath_relax, adds the duplicate flag
...
During the bgp_peer_type_multipath_relax_test, the test does not
check the 'duplicate' flag value of the duplicate nexthop.
Fix this by adding the duplicate value in the expected json files.
Fixes: ee88563ac2
("bgpd: Add 'bgp bestpath peer-type multipath-relax'")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-07-08 15:15:59 +02:00
zhou-run
f54970ff43
isisd: The neighbor entry still displays the deleted hostname of the neighbor
...
1. The lsp_update_data() function will check for the presence of the ISIS_TLV_DYNAMIC_HOSTNAME in the LSP, and then call isis_dynhn_insert() to add a hostname entry corresponding to the LSP ID. However, when the ISIS_TLV_DYNAMIC_HOSTNAME is not present in the LSP, the hostname entry corresponding to the LSP ID should also be deleted.
2. The command “show isis neighbor” invokes isis_adj_name() to display the System ID or hostname, but it does not check the area->dynhostname flag.
3. When the LSP expires and is removed, the corresponding hostname entry should also be deleted.
4. The TLV for LSP fragmentation will not contain the hostname and should be skipped.
Signed-off-by: zhou-run <zhou.run@h3c.com>
2024-07-08 15:53:46 +08:00
Donatas Abraitis
6477f73c0b
tests: Rename BGP OAD test function
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-07 18:26:30 +03:00
Donatas Abraitis
cd9bb4dd7e
tests: Extended bgp_remote_as_auto topotest with unnumbered case
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-05 15:57:52 +03:00
anlan_cs
b707ed8fe9
tests: update tests for ripd and ripngd
...
Since the displayed header of "show ip rip" and "show ipv6 ripng" are changed,
we should update tests of ripd and ripngd.
Signed-off-by: anlan_cs <vic.lan@pica8.com>
2024-07-05 09:54:06 +08:00
Donatas Abraitis
0dfe25697f
bgpd: Implement neighbor X remote-as auto
...
In some cases (large scale) it's desired to avoid changing configurations, but
let the BGP to automatically handle ASN changes.
`auto` means the peering can be iBGP or eBGP. It will be automatically detected
and adjusted from the OPEN message.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-04 14:42:19 +03:00
Russ White
59e8f199e9
Merge pull request #16331 from opensourcerouting/feature/bgp_dampening_topotests
...
tests: Add basic BGP per-safi dampening topotest
2024-07-03 07:23:09 -04:00
Donatas Abraitis
7bde7a698c
tests: Add basic BGP per-safi dampening topotest
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-07-02 17:57:06 +03:00
Donatas Abraitis
9ab41861ce
Merge pull request #16099 from Pdoijode/pdoijode/bgp-gr2
...
Implement BGP-wide configuration for graceful restart
2024-07-02 16:40:29 +02:00
Russ White
410947f6a7
Merge pull request #15677 from cscarpitta/isis-srv6-sid-manager
...
isisd: Extend IS-IS to communicate with the SRv6 SID Manager to allocate/release SRv6 SIDs
2024-07-02 08:32:05 -04:00
vivek
b5682ffbf0
*: Add and use option for graceful (re)start
...
Add a new start option "-K" to libfrr to denote a graceful start,
and use it in zebra and bgpd.
zebra will use this option to denote a planned FRR graceful restart
(supporting only bgpd currently) to wait for a route sync completion
from bgpd before cleaning up old stale routes from the FIB. An optional
timer provides an upper-bounds for this cleanup.
bgpd will use this option to denote either a planned FRR graceful
restart or a bgpd-only graceful restart, and this will drive the BGP
GR restarting router procedures.
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
2024-07-01 13:02:52 -07:00
Pooja Jagadeesh Doijode
ecbca1ae1b
tests: Updated topotest and documentation
...
Added topotest and documentation for BGP wide GR configurations
Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2024-07-01 13:02:52 -07:00
Donatas Abraitis
dd6a679e3a
tests: Test if RFC 8212 is not involved for BGP confederations
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-06-27 22:53:24 +03:00
Russ White
cc3519f3e6
Merge pull request #16182 from pguibert6WIND/isis_show_route_paths_json
...
Isis show route paths json
2024-06-25 11:57:15 -04:00
Russ White
7a87166178
Merge pull request #15838 from fdumontet6WIND/fix_regexx_exclude
...
bgpd: fix "bgp as-pah access-list" with "set aspath exclude" set/unset issue
2024-06-24 17:08:17 -04:00
Philippe Guibert
d0a142aae4
isisd: override json fields for monitored paths
...
The json output for isis route paths should use caml format.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-06-21 15:40:23 +02:00
Philippe Guibert
ea6ad95ab5
topotests: isis_topo1_vrf, align json support on 'show isis topology' command
...
Add the json support from ISIS vty command.
> show isis vrf vrf1 topology json
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-06-21 15:40:23 +02:00
Philippe Guibert
cd68ea3447
topotests: isis_topo1, use 'show isis topology json' command
...
Add the json support from ISIS vty command.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-06-21 15:40:23 +02:00
Philippe Guibert
3a2554e4a2
isisd: add json support to display spf paths in 'show isis route'
...
The 'show isis route json' command never displays the list of
paths. Add the json support for this sub-part.
> # show isis route json
> [..]
> "ipv6-paths":[
> {
> "Vertex":"rt1",
> "Type":"",
> "Metric":0,
> "Next-Hop":"",
> "Interface":"",
> "Parent":""
> },
> {
> "Vertex":"2001:db8:1000::1\/128",
> "Type":"IP6 internal",
> "Metric":0,
> "Next-Hop":"",
> "Interface":"",
> "Parent":"rt1(4)"
> },
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-06-21 15:40:23 +02:00
Philippe Guibert
df723ccfb7
isisd: show isis route uses ttable for paths
...
This is a preliminary commit, so that route paths are visible from json.
Before:
> IS-IS paths to level-1 routers that speak IPv6
> Vertex Type Metric Next-Hop Interface Parent
> rt1
> 2001:db8:1000::1/128 IP6 internal 0 rt1(4)
> rt2 TE-IS 10 rt2 eth-rt2 rt1(4)
> rt3 TE-IS 10 rt3 eth-rt3 rt1(4)
> 2001:db8:1000::2/128 IP6 internal 20 rt2 eth-rt2 rt2(4)
> 2001:db8:1000::3/128 IP6 internal 20 rt3 eth-rt3 rt3(4)
After:
> Vertex Type Metric Next-Hop Interface Parent
> -------------------------------------------------------------------------
> rt1
> 2001:db8:1000::1/128 IP6 internal 0 rt1(4)
> rt2 TE-IS 10 rt2 eth-rt2 rt1(4)
> rt3 TE-IS 10 rt3 eth-rt3 rt1(4)
> 2001:db8:1000::2/128 IP6 internal 20 rt2 eth-rt2 rt2(4)
> 2001:db8:1000::3/128 IP6 internal 20 rt3 eth-rt3 rt3(4)
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-06-21 15:40:23 +02:00
Acee Lindem
c494702929
ospfd: Improve OSPF neighbor retransmission list granularity and precision
...
The current OSPF neighbor retransmission operates on a single per-neighbor
periodic timer that sends all LSAs on the list when it expires.
Additionally, since it skips the first retransmission of received LSAs so
that at least the retransmission interval (resulting in a delay of between
the retransmission interval and twice the interval. In environments where
the links are lossy on P2MP networks with "delay-reflood" configured (which
relies on neighbor retransmission in partial meshs), the implementation
is sub-optimal (to say the least).
This commit reimplements OSPF neighbor retransmission as follows:
1. A new data structure making use the application managed
typesafe.h doubly linked list implements an OSPF LSA
list where each node includes a timestamp.
2. The existing neighbor LS retransmission LSDB data structure
is augmented with a pointer to the list node on the LSA
list to faciliate O(1) removal when the LSA is acknowledged.
3. The neighbor LS retransmission timer is set to the expiration
timer of the LSA at the top of the list.
4. When the timer expires, LSAs are retransmitted that within
the window of the current time and a small delta (50 milli-secs
default). The LSAs that are retransmited are given an updated
retransmission time and moved to the end of the LSA list.
5. Configuration is added to set the "retransmission-window" to a
value other than 50 milliseconds.
6. Neighbor and interface LSA retransmission counters are added
to provide insight into the lossiness of the links. However,
these will increment quickly on non-fully meshed P2MP networks
with "delay-reflood" configured.
7. Added a topotest to exercise the implementation on a non-fully
meshed P2MP network with "delay-reflood" configured. The
alternative was to use existing mechanisms to instroduce loss
but these seem less determistic in a topotest.
Signed-off-by: Acee Lindem <acee@lindem.com>
2024-06-20 15:31:07 +00:00
David Lamparter
e14c94f2b7
tests: fix TSAN warnings in atomlist test
...
The atomlist test consists of a sequence of (MT) sub-tests, from which
counters are collected and verified. TSAN doesn't know that these
counters are synchronized by way of the sub-test starting and finishing,
so it complains. Just use atomics to get rid of the warning.
(This is solely an issue with the test, not the atomlist code. There
are no warnings from that.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-06-20 15:44:46 +02:00
David Lamparter
4836ac0714
tests: silence TSAN warning on test_seqlock exit
...
TSAN warns about leaving the second thread dangling. Doesn't really
matter, but just add a pthread_join to get rid of the warning.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-06-20 11:16:10 +02:00
David Lamparter
8aeac1f005
tests/lib: fix seqlock test
...
seqlock_bump() used to return the value before bumping, but that's
unhelpful if you were to actually need it. I had changed it to return
the value after, but the update to the test got lost at some point.
The return value is not in fact used anywhere in FRR, so while it is
a bug, it has zero impact.
NB: yes, test_seqlock is not run, which sounds wrong. The problem here
is that (a) the test itself uses sleeps and is timing sensitive, which
would raise false positives. And (b), the test is meaningless if
executed once. It needs to be run millions of times under various
conditions (e.g. load) to catch rare races, and it needs to be run on
machines with "odd" memory models (in this case I used BE ppc32 and
ppc64 systems as test platforms.)
Fixes: 6046b690b5
("lib/seqlock: avoid syscalls in no-waiter cases")
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-06-20 11:02:19 +02:00
Donald Sharp
a1b21f526a
Merge pull request #16227 from y-bharath14/srib-topotest-e
...
tests: Avoid importing unused modules
2024-06-18 15:52:38 -04:00
Carmine Scarpitta
9e1803a772
tests: Update IS-IS SRv6 topotests
...
The locator is no longer split in multiple chunks.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2024-06-18 18:33:29 +02:00
Russ White
ae4e030813
Merge pull request #16236 from opensourcerouting/fix/recursive_weighted_ecmp
...
zebra: Set the weight for non-recursive next-hop
2024-06-18 11:14:00 -04:00
Russ White
627a8ac091
Merge pull request #16153 from pguibert6WIND/bgp_recursive_duplicate
...
bgpd: fix do not skip paths with same nexthop
2024-06-18 11:00:41 -04:00
Russ White
66ad4aaf3d
Merge pull request #16172 from LabNConsulting/dleroy/nhrpd-auth-support
...
nhrpd: add cisco-authentication password support
2024-06-18 10:04:24 -04:00
Russ White
e9e8a4baa4
Merge pull request #16194 from opensourcerouting/fix/bfd_profile_shutdown
...
bgpd: Do not start BGP session if BFD profile is in shutdown state
2024-06-18 09:57:00 -04:00
Russ White
b94fc2d2d6
Merge pull request #16195 from opensourcerouting/fix/drop_recent_confdate
...
ospfd: Drop `interfaceIp` from `show ip ospf neigh json`
2024-06-18 09:56:19 -04:00
Donatas Abraitis
6d5d4f7000
tests: Check if recursive weighted ECMP works
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-06-18 12:16:54 +03:00
Y Bharath
8381dbd9e2
tests: Avoid importing unused modules
...
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2024-06-17 15:42:59 +05:30
Donatas Abraitis
e8ce036a7b
Merge pull request #16202 from y-bharath14/srib-topotest-d
...
tests: suppress unused variables at topotests
2024-06-14 10:25:25 +03:00
Jafar Al-Gharaibeh
2e02bd2366
Merge pull request #16184 from LabNConsulting/chopps/fe-notify-select
...
mgmtd: add notification selection to front-end API
2024-06-13 00:20:09 -05:00
Y Bharath
a63bfb7566
tests: supress unused variables at topotests
...
For code maintainability, suppressed unused variables with "_"
Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2024-06-12 13:56:34 +05:30
Christian Hopps
27e369487e
tests: add native session-req/reply support to fe_client.py
...
Use this to test new native message format for creating sessions.
Signed-off-by: Christian Hopps <chopps@labn.net>
2024-06-11 10:37:31 -04:00