Commit Graph

2581 Commits

Author SHA1 Message Date
Jafar Al-Gharaibeh
cf2a2762b8
Merge pull request #12179 from LabNConsulting/working/lb/p2mp-improvements
ospf: optimization for FRR's P2MP mode
2022-10-26 22:46:10 -05:00
Lou Berger
675ba67d89 topotests: test_ospf_p2mp.py - check for full adjacencies and basic DB info
Signed-off-by: Lou Berger <lberger@labn.net>
2022-10-25 15:31:40 +00:00
Wayne Morrison
eaeba5e868 bgpd: fixed misaligned columns in BGP routes table
Column headers in BGP routes table are not aligned with data when
RPKI status is available.  This was fixed to insert a space at the
beginning of the header and at the beginning of lines that do not
have RPKI status.

This fix requires that several testing templates be adjusted to
match the new output.

Signed-off-by: Wayne Morrison <wmorrison@netgate.com>
2022-10-25 10:45:35 -04:00
Donatas Abraitis
695f387ed8
Merge pull request #11673 from cscarpitta/srv6-per-vrf-sid
bgpd: add support for SRv6 L3VPN for IPv4 and IPv6 address families using a single SID
2022-10-24 17:30:10 +03:00
Kuldeep Kashyap
0074297916 tests: Add lib changes to support bgp local asn feature
Added lib changes to support bgp local
asn feature config changes

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-10-21 09:23:03 +05:30
Kuldeep Kashyap
a65b1a7573 tests: Add bgp local asn test suite
Adding test to verify functionality
of local asn bgp feature.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-10-21 09:22:49 +05:30
Lou Berger
0b242b118f topotests: ospfapi - enahnce test to cover explicit delete and 0 len opaque LSAs
Signed-off-by: Lou Berger <lberger@labn.net>
2022-10-19 18:34:34 +00:00
Carmine Scarpitta
b3c5e11c8d tests: Add tests for no sid vpn per-vrf export
This commit extends the `bgp_srv6l3vpn_to_bgp_vrf3` topotest by adding
two tests:
* prevent bgpd from exporting routes from a VRF to the VPN RIB
  (`no sid vpn per-vrf export`);
* enable bgpd to export routes from a VRF to the VPN RIB
  (`sid vpn per-vrf export auto`).

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-18 16:08:24 +02:00
Carmine Scarpitta
589c6e949e tests: add new topotest to verify SRv6 locators
This commit adds a new topotest to verify the functionality of SRv6
locators with custom bits length parameters.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-18 16:08:23 +02:00
Carmine Scarpitta
3a94d672fc tests: add new topotest for SRv6-L3VPN (IPv4/IPv6)
This commit adds a new topotest which tests SRv6 L3VPN for IPv4 and
IPv6 address families using a single SID.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-18 16:08:23 +02:00
Carmine Scarpitta
0fa6b4c0ba tests: add test for SRv6 End.DT46 behavior
This commit adds a new test case to the
test_zebra_seg6local_route topotest. The new test case performs two
operations:
* try to install a seg6local route with an End.DT46 action
* verify that the route is created correctly

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-18 16:08:23 +02:00
Donatas Abraitis
d37fb926de
Merge pull request #12113 from donaldsharp/network_statement
bgpd: Allow `network XXX` to work with bgp suppress-fib-pending
2022-10-14 10:12:18 +03:00
Russ White
07735ca345
Merge pull request #11980 from isabelladeleon12/set_overload_startup
isisd: Add support for set-overload on-startup
2022-10-13 10:59:24 -04:00
Isabella de Leon
450841fe05 isisd: Add JSON object functions to save overload status between restarts.
Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-10-12 16:57:32 -07:00
Donald Sharp
4801fc4670 bgpd: Allow network XXX to work with bgp suppress-fib-pending
When bgp is using `bgp suppress-fib-pending` and the end
operator is using network statements, bgp was not sending
the network'ed prefix'es to it's peers.  Fix this.

Also update the test cases for bgp_suppress_fib to test
this new corner case( I am sure that there are going to
be others that will need to be added ).

Fixes: #12112
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-10-12 14:56:27 -04:00
Isabella de Leon
4afc783610 isisd: Add expected behavior with set-overload-bit
Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-10-12 10:52:27 -07:00
Donatas Abraitis
46dbf9d0c0 bgpd: Implement ACCEPT_OWN extended community
TL;DR: rfc7611.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-10-12 17:48:43 +03:00
Donatas Abraitis
87d54383c5
Merge pull request #12059 from achernavin22/fix-max-med-on-startup
bgpd: fix "bgp max-med on-startup"
2022-10-12 16:19:06 +03:00
Russ White
b6aa61ba3c
Merge pull request #11981 from proelbtn/add-support-to-change-function-length
bgpd: Add support to change Segment Routing function length
2022-10-12 08:44:29 -04:00
Alexander Chernavin
05ab8ceda4 bgpd: fix "bgp max-med on-startup"
Currently, if `bgp max-med on-startup` is configured, after BGP session
is established for the first time, a timer for the specified time is
started. When the timer is expired, an UPDATE message should be sent to
reflect changes in the routes' MED value. The problem is that the routes
are being suppressed because based on the attributes they look like they
have not changed. However, in the case of max-med, the value is copied
to the packet directly from `bgp->maxmed_value`, not from the
attributes. Thus, changes in this case cannot be detected by comparing
attributes.

With this fix, avoid route suppressing when the `max-med on-startup`
timer expires and initiates an UPDATE.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2022-10-11 10:45:06 +00:00
Kuldeep Kashyap
84ab38367d tests: Applied black formatting
Applied black formatting to suites,
which were missing.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-10-11 12:17:54 +05:30
Kuldeep Kashyap
d63c7094e4 tests: Updated assert message for better debugging
Updating topojson script's assert messages,
which will help in better debugging, when
test will fail.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
2022-10-11 06:07:48 +05:30
Donald Sharp
a61f4f48c7 tests: nhid is interfering with pattern match
The bgp_gr_restart_retain_routes test is looking for specific output
that does not include the routes nexthop id:

    def _bgp_check_kernel_retained_routes():
        output = (
            r2.cmd("ip route show 172.16.255.1/32 proto bgp dev r2-eth0")
            .replace("\n", "")
            .rstrip()
        )
        expected = "172.16.255.1 via 192.168.255.1 metric 20"
        diff = topotest.get_textdiff(
            output, expected, "Actual IP Routing Table", "Expected IP RoutingTable"
        )
        if diff:
            return False
        return True

While the output includes nexthop group id's now:

root@r2:# ip route show 172.16.255.1 proto bgp dev r2-eth0
172.16.255.1 nhid 8 via 192.168.255.1 metric 20

Let's just mark r2 as not to use nexthop groups for installation
and this test issue will go away.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-10-08 10:35:35 -04:00
Mark Stapp
9daf964bc8
Merge pull request #12062 from fdumontet6WIND/hash_list
lib: hash list add function fix
2022-10-07 07:30:46 -04:00
Ryoga Saito
be6985adcb tests: Add func-bits for compatibility
In order to minimize the changes of test files, this PR adds `func-bits`
parameters on the SRv6 locator definition.

Signed-off-by: Ryoga Saito <ryoga.saito@linecorp.com>
2022-10-07 18:26:53 +09:00
Isabella de Leon
910dab7c30 tests: Add test to cover set-overload-bit on-startup functionality
Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2022-10-06 14:27:00 -07:00
Russ White
a00621d8b9
Merge pull request #12034 from opensourcerouting/fix/gr_hard_notification
bgpd: Do not send Deconfig/Shutdown message when restarting
2022-10-06 10:05:11 -04:00
Russ White
a8ef436639
Merge pull request #12040 from opensourcerouting/fix/bgp_local_as_remote_as
bgpd: Allow using remote-as the same as local-as
2022-10-06 10:03:26 -04:00
David Lamparter
27a6fc4221 tests: make hash collision test collide harder
The issue fixed in the previous commit now correctly triggers a failure:
("assertion (list_add(&head, &itm[j]) == &itm[j]) failed")

Turns out the "shitty" hash function was not shitty enough.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-10-06 15:28:26 +02:00
Donatas Abraitis
b022cf7352
Merge pull request #11838 from Pdoijode/v6-gua-nh-bgp-update
bgpd: BGP does not update next-hop when global V6 address is configured
2022-10-06 10:04:37 +03:00
Donatas Abraitis
18e427bc59 tests: Check if the routes in the kernel are retained for GR as well
Not only in BGP table.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-30 09:51:07 +03:00
Donatas Abraitis
95098d9611 bgpd: Do not send Deconfig/Shutdown message when restarting
We might disable sending unconfig/shutdown notifications when
Graceful-Restart is enabled and negotiated.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-30 09:50:21 +03:00
Pdoijode
bc6d1b151f bgpd: BGP does not update next-hop when global V6 address is configured
When primary global v6 unicast address is configured on an
unnumbered interface, BGP does not re-advertise updates out
with the new global v6 address as the nexthop

Signed-off-by: Pdoijode <pdoijode@nvidia.com>
2022-09-29 15:28:38 -07:00
Donatas Abraitis
f3bc47b735 tests: Check if BGP works correctly when using local-as == remote-as
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-29 21:17:44 +03:00
Madhuri Kuruganti
b9fdddb83b bgpd: conditional advertise-map unset on peer fixing warning messages
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-09-25 11:48:47 +05:30
Madhuri Kuruganti
1285c4ace9 bgpd: conditional advertise-map unset on peer not re-advertising withdrawn routes
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-09-25 11:48:47 +05:30
Donald Sharp
71d987dbb9
Merge pull request #11868 from LabNConsulting/ziemba/bgp-labelpool-performance
bgpd: improve labelpool performance at scale
2022-09-12 10:45:43 -04:00
Donald Sharp
ed11f561bc
Merge pull request #11923 from opensourcerouting/fix/aggregate-address-matching-MED
bgpd: Fix aggregate-address summary-only matching-MED-only
2022-09-12 10:31:01 -04:00
Donatas Abraitis
7462dbb0c2 tests: Validate the routes using polling for bgp_remove_private_as
Do not fail at the first shot.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-10 06:51:25 +03:00
Donald Sharp
97a0bfc5ca
Merge pull request #11915 from opensourcerouting/topotests-collect
topotests: ignore env for pytest --collect-only
2022-09-07 12:59:26 -04:00
Donatas Abraitis
f66624f5c0 bgpd: Fix aggregate-address summary-only matching-MED-only
Before it worked only when configured initially via CLI. Later, when we
receive a new route, that should match a decent MED, we just skip it, because
MED mismatch is not recalculated.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-09-07 14:39:19 +03:00
David Lamparter
3d80bd11aa topotests: ignore env for pytest --collect-only
`--collect-only` does not run any tests, so bypass env checks for it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-09-06 17:43:26 +02:00
Philippe Guibert
6fc4929e09 bgpd: associate appropriate family for redistributed connected addresses
When redistributing connected addresses, the address family has
to be figured out. The calculation was not done, the next-hop
address length was not set, and as consequence, the nexthop
is displayed like if it was an ipv6 address, which is wrong for
ipv4 addresses.

Calculate the family for connected addresses.
Change the topotests accordingly.

Fixes: ("7226bc40d606") bgpd: ignore NEXT_HOP for MP_REACH_NLRI

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:33 +02:00
Philippe Guibert
b244203fcc topotests: add bgp_vpnv4_ebgp test with 'mpls bgp forwarding'
add bgp_vpnv4_ebgp using the 'mpls bgp forwarding' interface
command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:33 +02:00
Philippe Guibert
6e616738ca topotests: add bgp vpnv4 over gre test
This test ensures that MPLS VPN routes can be installed into a
gre interface with route-map l3vpn next-hop encapsulation command
set. On the other hand, if this command is not set, incoming bgp
routes are not considered as valid.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-09-05 22:26:33 +02:00
G. Paul Ziemba
80853c2ec7 bgpd: improve labelpool performance at scale
- double the size of each new chunk request from zebra
    - use bitfields to track label allocations in a chunk
    - When allocating:
        - skip chunks with no free labels
        - search biggest chunks first
        - start search in chunk where last search ended
    - Improve API documentation in comments (bgp_lp_get() and callback)
    - Tweak formatting of "show bgp labelpool chunks"
    - Add test features (compiled conditionally on BGP_LABELPOOL_ENABLE_TESTS)

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2022-08-31 08:21:27 -07:00
Russ White
d72c279d08
Merge pull request #11833 from opensourcerouting/feature/bgp_neighbor_soo
bgpd: Add `neighbor soo` command
2022-08-30 11:17:53 -04:00
Russ White
72cb87b8e4
Merge pull request #11852 from gpnaveen/bgp_admin_dist
tests: adding bgp admin distance topotests.
2022-08-30 11:13:30 -04:00
nguggarigoud
3cf90b1be9 tests: adding bgp admin distance topotests.
This has bgp admin topotest automation suit.

Signed-off-by: nguggarigoud <nguggarigoud@vmware.com>
2022-08-28 23:34:52 -07:00
Donatas Abraitis
e317aea23f Revert "tests: Check if BGP community-list filtering works correctly"
This reverts commit b087842814.
2022-08-24 08:46:47 +03:00