Commit Graph

3348 Commits

Author SHA1 Message Date
Christian Hopps
f3d6edc7ee lib: darr: add new access and str functions
- darr_last(), and darr_strdup_cap().
- strcat, strdup, strlen, strnul equivs.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-28 17:52:57 +00:00
Christian Hopps
1bb6f21208 tests: add debugs and count in static_simple test
Also add option to use unified config.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-28 17:52:57 +00:00
Donald Sharp
1aa6c5ec23 tests: Stop some warning messages on test runs
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-21 10:24:23 -05:00
Donald Sharp
7477d8732f tests: Auto generate support bundle when a test fails
Tests can fail, let's be proactive and gather up a support
bundle when they fail.  It will help diagnose the problem
to some extent.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-21 10:22:22 -05:00
Xiao Liang
4538247c99 tests: Check for 0.0.0.0/1 in bgp_default_route
Ensure that 0.0.0.0/1 route can be advertised along with
default-originate.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
2023-12-18 15:14:33 +08:00
Donatas Abraitis
a912f8fab7
Merge pull request #15015 from donaldsharp/test_ospf_suppress_fa_cleanup
tests: ospf_suppress_fa sleeps, convert to run_and_expect
2023-12-15 07:01:27 +02:00
Donald Sharp
db4bdf7a3a
Merge pull request #15023 from opensourcerouting/fix/drop_redundant_vrf_name
bgpd: Drop redundant VRF name printing for `show bgp summary`
2023-12-14 20:26:52 -05:00
Olivier Dugeon
55ad785753 tests: Update OSPF TE topotests
The OSPF TE topotest is using switches to interconnect router. During the test,
interfaces are shutdown on some routers to simulate link failure and check that
the TED is correctly updated. However, the switche between router avoid the
detection by the neighbor router that the interface is down i.e. the interface
line remains up as it is conneted to the switch and not to the router.

This patch update the tested topology by removing the switch and connect
directly the router excepted the inter AS link on R3. Interface are also
renamed accordingly.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
2023-12-14 18:39:16 +01:00
Donald Sharp
48df84a044 tests: ospf_suppress_fa sleeps, convert to run_and_expect
The test_ospf_suppres_fa.py script is using straight
up sleeps before testing that the next step worked properly.
On a unloaded test system this will work 100% of the time
on a loaded test system this will have random failures.
Convert the test to use run_and_expect and give each
section of the test 30 seconds to get to the next state
appropriately instead of 10.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-14 10:42:45 -05:00
Donatas Abraitis
f97abbdc69 tests: Adopt topotests for show bgp summary non-JSON output
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-12-14 15:09:39 +02:00
Louis Scalbert
73ce39c443 topotests: tmp fix delay in bgp_peer_type_multipath_relax
Workaround an issue in bgp_peer_type_multipath_relax.

Link: https://github.com/FRRouting/frr/issues/14895
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 11:39:32 +01:00
Louis Scalbert
a54d18cb1c topotests: remove python2 support
Remove python2 support

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
5d1d44d18a topotests: convert bgp_ecmp_topo1 to python3
Convert bgp_ecmp_topo1 to python3

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
75a849fc0d topotests: convert exabgp scripts to python3
Convert exabgp scripts to python3

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
5383945609 topotests: cleanup bgp_peer_type_multipath_relax
Cleanup bgp_peer_type_multipath_relax to make it more readable.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
da8333d9bb topotests: convert bgp_peer_type_multipath_relax to exabgp 4
Convert bgp_peer_type_multipath_relax to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
5533f18dc6 topotests: convert bgp_prefix_sid2 to exabgp 4
Convert bgp_prefix_sid2 to exabgp 4

Do not advertise prefixes to exabgp to avoid an issue where exabgp
resets the bgp session with the following notification:

> invalid ipv6 mpls-vpn next-hop length 48 expected 24 or 40

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
811ad11a7e topotests: convert bgp_prefix_sid to exabgp 4
Convert bgp_prefix_sid to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
cfcad6fd99 topotests: convert bgp_vrf_netns to exabgp 4
Convert bgp_vrf_netns to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
9598967a0d topotests: convert bgp_vrf_md5_peering to exabgp 4
Convert bgp_vrf_md5_peering to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
d228f6a564 topotests: convert bgp_multiview_topo1 to exabgp 4
Convert bgp_multiview_topo1 to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:30 +01:00
Louis Scalbert
bc149fee3d topotests: convert bgp_ecmp_topo1 to exabgp 4
Convert bgp_ecmp_topo1 to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Louis Scalbert
c7e73e9087 topotests: create exabgp cli fifo
Create reate exabgp cli fifo even it is not used in topotests to avoid
this error message:

> 16:21:42 | 2290205 | cli             | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
> 16:21:42 | 2290205 | cli             | we scanned the following folders (the number is your PID):
> 16:21:42 | 2290205 | cli control     |  - /run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /run/0/
> 16:21:42 | 2290205 | cli control     |  - /run/
> 16:21:42 | 2290205 | cli control     |  - /var/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /var/run/0/
> 16:21:42 | 2290205 | cli control     |  - /var/run/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/0/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/0/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/
> 16:21:42 | 2290205 | cli control     | please make them in one of the folder with the following commands:
> 16:21:42 | 2290205 | cli control     | > mkfifo //run/exabgp.{in,out}
> 16:21:42 | 2290205 | cli control     | > chmod 600 //run/exabgp.{in,out}

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Louis Scalbert
a1b8727ccd topotests: log exabgp by default
Log exabgp by default in /tmp/topotests/<testname>/<peername>/exabgp.log
Level is INFO.

Note that in case the configuration syntax is invalid, exabgp does not
log into the file and exits at startup. You can check a configuration
syntax by running:

> exabgp <exabgp.cfg>

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Louis Scalbert
c040637e97 topotests: use exabgp 4.2.11 in ci
Use exabgp 4.2.11 in CI instead.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Louis Scalbert
9589fb300d topotests: look for python3 exabgp
Look for python3 exabgp instead of python2.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Louis Scalbert
92c1a102e4 topotests: require exabgp version >= 4.2.11
Require exabgp >= 4.2.11 to allow to newer version to run exabgp
topotests. Next commits will adapt the exabgp topotests when needed.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-14 10:57:29 +01:00
Donald Sharp
5be4ee9634 bgpd: Have show bgp vrf all ipv4 uni summ display vrf NAME
The vrf name was not being displayed in this output.
New output:

eva# show bgp vrf all ipv4 uni summ
BGP router identifier 0.0.0.0, local AS number 99 VRF RED vrf-id 14
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 0.0.0.0, local AS number 99 VRF GREEN vrf-id 15
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 192.168.122.1, local AS number 99 VRF default vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 0.0.0.0, local AS number 99 VRF GrEEn vrf-id -1
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never         Idle        0 N/A

Total number of neighbors 1
eva#

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-12 18:26:14 -05:00
Russ White
39ab18f1fd
Merge pull request #14966 from opensourcerouting/fix/bgpd_route-map_default_originate_peer-group
tests: Check if default-originate works combined with peer-groups + route-maps
2023-12-12 10:54:34 -05:00
Rafael Zalamena
9f1a7ba972 topotests: remove obsolete OSPFv3 area config
Don't use 'interface WORD area A.B.C.D' for enabling OSPFv3 areas on
interfaces and instead use the standardized 'ipv6 ospf6 area A.B.C.D'.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2023-12-08 10:51:32 -03:00
Donatas Abraitis
8009047698 tests: Check if default-originate works combined with peer-groups + route-maps
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-12-08 12:41:44 +02:00
Donatas Abraitis
6b79b560ab
Merge pull request #14889 from fdumontet6WIND/snmpv2
bgpd: add multiple paths support for draft ietf bgp4v2 in nlriTable
2023-12-08 06:55:52 +02:00
Donald Sharp
2df4683af0
Merge pull request #14936 from LabNConsulting/chopps/mgmt-dbg-improve
Chopps/mgmt dbg improve
2023-12-07 11:20:54 -05:00
Donatas Abraitis
24869b4a99
Merge pull request #14957 from donaldsharp/zebra_noprefixroute
Add ability to handle `noprefixroute` to zebra
2023-12-07 15:24:10 +02:00
Donald Sharp
0d5c5472c9 tests: Add a noprefixroute test
Add a simple test case to ensure that the noprefixroute
code stays working in the future.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-12-06 09:27:52 -05:00
Rafael Zalamena
cad5ee56be
Merge pull request #14922 from louis-6wind/fix-bfd-static-source
staticd: fix changing to source auto in bfd monitor
2023-12-06 09:51:32 -03:00
Chirag Shah
64745d413c pbrd: fix map seq installed flag in json
Ticket:#3638598
Testing:

Post fix:
tor-2# show pbr map json
[
  {
    "name":"global-vrf-PBR-map",
    "valid":true,
    "policies":[
      {
        "id":1,
        "sequenceNumber":10,
        "ruleNumber":309,
        "vrfUnchanged":false,
        "installed":true,   <<<< now display correct value
        "installedReason":"Valid",
        "vrfName":"sym_1",
        "matchSrc":"10.1.200.0\/24",
        "matchDst":"10.6.200.0\/24"
      }
    ]
  }

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2023-12-05 11:30:50 -08:00
Christian Hopps
38b44aeeb2 tests: client testing
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-05 13:39:40 -05:00
Donald Sharp
83018e2178
Merge pull request #14934 from LabNConsulting/chopps/new-munet-0.13.10
tests: import munet 0.13.10
2023-12-05 13:24:39 -05:00
Donald Sharp
ad80021260
Merge pull request #14920 from LabNConsulting/chopps/rr-support
tests: add support for running things under `rr`.
2023-12-05 11:42:10 -05:00
Russ White
0a79e117d6
Merge pull request #12600 from donaldsharp/local_routes
*: Introduce Local Host Routes to FRR
2023-12-05 11:00:44 -05:00
Francois Dumontet
869047f150 tests: improve test bgp_snmp_bgp4v2mib for snmp multi path support
multi path support by snmp implies change in configuration and expected
tests results.

ipv6 trap test output is now ordered to avoid radom result due to
timeline.

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-12-05 15:51:52 +01:00
Christian Hopps
6f64ebee1b tests: import munet 0.13.10
- Import 0.13.10 which adds watched logs feature, among others.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-04 07:03:49 -05:00
Christian Hopps
477b56106b tests: add support for running things under rr.
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-12-01 11:44:22 -05:00
Louis Scalbert
94640da234 topotests: test wrong bfd source in bfd_topo3
Test setting a wrong bfd source and restore the source auto parameter.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-01 14:09:00 +01:00
Louis Scalbert
8f5bf65f26 topotests: redispatch tests in bfd_topo3
Redispatch tests in bfd_topo3 in order to prepare next commit.
Cosmetic change.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-12-01 14:09:00 +01:00
Donatas Abraitis
36547f400e
Merge pull request #9012 from dlqs/lua-poly
Refactor decoder for Lua hook system
2023-11-29 15:14:46 +02:00
Donatas Abraitis
fc8a07433f
Merge pull request #14886 from LabNConsulting/aceelindem/ospf-link-local-fix
ospfd: Fix OSPF link-local opaque LSA crash and opaque memory corruption
2023-11-29 10:36:30 +02:00
Acee
5993c4aef9 ospfd: Fix OSPF link-local opaque LSA crash and opaque memory corruption
1. When an OSPF interface is deleted, remove the references in link-local
     LSA. Delete the LSA from the LSDB so that the callback has accessibily
     to the interface prior to deletion.
  2. Fix a double free for the opaque function table data structure.
  3. Assure that the opaque per-type information and opaque function table
     structures are removed at the same time since they have back pointers
     to one another.
  4. Add a topotest variation for the link-local opaque LSA crash.

Signed-off-by: Acee <aceelindem@gmail.com>
2023-11-28 16:18:55 -05:00
Russ White
e854c43b30
Merge pull request #14512 from pguibert6WIND/vpnv4_with_no_rt_export
L3VPN exportation by using 'route-map vpn export' command instead of 'rt vpn export' command
2023-11-28 08:34:58 -05:00