Commit Graph

29685 Commits

Author SHA1 Message Date
Madhuri Kuruganti
9f2984d97c ospfd: few fixes in rSPF calc when LSA received from non root node
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:43:55 +05:30
Madhuri Kuruganti
d6b2761134 bgpd, ospfd: BGP ORR CI warning fixes
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:43:55 +05:30
Madhuri Kuruganti
a3d3a14c09 ospfd: rSPF calc and messaging for optimal route reflection
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:43:55 +05:30
Madhuri Kuruganti
70cd87ca02 bgpd: optimal router reflection cli and fsm changes
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:43:55 +05:30
Madhuri Kuruganti
2b55ff400f doc: Add documentation for BGP ORR support
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:29:24 +05:30
Madhuri Kuruganti
a5dd4bf47d lib: BGP registration with IGP for BGP ORR rSPF calc
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-12 13:29:24 +05:30
Donatas Abraitis
69c736ec06
Merge pull request #12074 from donaldsharp/lib_debugs
*: Create and use infrastructure to show debugs in lib
2022-10-12 10:38:21 +03:00
Donatas Abraitis
4b7ad630e0
Merge pull request #12091 from kuldeepkash/update_assert_msg
tests: [topojson]Update assert messages for better debugging
2022-10-12 10:37:10 +03:00
Donatas Abraitis
9cd8485420
Merge pull request #12090 from patrasar/pimv6_show_bsm_db
pim6d: Fix RpAddress in "show ipv6 pim bsm-database"
2022-10-11 21:59:22 +03:00
Donatas Abraitis
656878e513
Merge pull request #12087 from achernavin22/fix-no-match-rpki
bgpd: fix "no match rpki" in route-map
2022-10-11 17:05:19 +03:00
Donatas Abraitis
9f03e9b2e5
Merge pull request #12099 from cscarpitta/fix/remove-null-check-before-free
bgpd: Don't check for `NULL` when removing SRv6 SIDs
2022-10-11 16:39:16 +03:00
Carmine Scarpitta
944909f4f7 bgpd: Don't check for NULL when removing SRv6 SIDs
When an SRv6 locator is unset, all the SRv6 SIDs allocated from the
locator are removed. Before freeing the memory allocated for an SRv6
SID, we check if the pointer to the SID is `NULL`.

However, checking for `NULL` before freeing memory is useless.

This PR aims to improve the code's readability by removing the
useless `NULL` checks.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-11 13:06:39 +02:00
Alexander Chernavin
87c3ed1bf8 bgpd: fix "no match rpki" in route-map
With this fix, make "no match rpki" in a route-map actually remove the
node in the candidate configuration instead of creating it.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2022-10-11 10:39:50 +00:00
Donatas Abraitis
afd4d90111
Merge pull request #12084 from ak503/bgp_show_lc
bgpd: fix display bgp large-community exact-match
2022-10-11 09:56:39 +03: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
Sarita Patra
7e371efb85 pim6d: Fix RpAddress in "show ipv6 pim bsm-database"
RpAddress is showing wrong value in
"show ipv6 pim bsm-database" cli. This is fixed now.

Issue: #12089

Signed-off-by: Sarita Patra <saritap@vmware.com>
2022-10-10 22:10:43 -07:00
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
Donatas Abraitis
eb53128367
Merge pull request #9998 from pguibert6WIND/bgp_tcp_keepalive
Bgp tcp keepalive
2022-10-10 15:46:30 +03:00
Your Name
1857760c1e bgpd: fix display bgp large-community exact-match
Before patch:
frr# show bgp large-community 1:1:1 exact-match
% Large-community malformed

After patch:
frr# show bgp large-community 1:1:1 exact-match

Signed-off-by: Dmitrii Turlupov <dturlupov@factor-ts.ru>
2022-10-10 13:51:27 +03:00
Donatas Abraitis
0c993136ef
Merge pull request #12082 from anlancs/fix/cleanup-21
bgpd: cosmetic function address
2022-10-10 12:37:21 +03:00
Donatas Abraitis
5feffa8147
Merge pull request #12070 from cscarpitta/fix/srv6-sid-print-using-pI6
bgpd: Use `%pI6` to print the SRv6 VPN SIDs
2022-10-10 09:36:36 +03:00
Donatas Abraitis
a957e14cdf
Merge pull request #11961 from maduri111/ospfd-debug-cmds
ospfd: fix for some of ospf debug commands config lost after reboot
2022-10-09 21:16:01 +03:00
Donatas Abraitis
05d16acb20
Merge pull request #12073 from donaldsharp/pi_or_die
bgpd: Remove unnecessary check for pi and setting type and sub-type
2022-10-09 17:01:38 +03:00
Donatas Abraitis
e7954294a7
Merge pull request #12083 from donaldsharp/nexthop_group_issues_local
tests: nhid is interfering with pattern match
2022-10-09 17:01:16 +03:00
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
anlan_cs
f714e57a32 bgpd: cosmetic function address
No mistake, just to unify style for the parameter of function address - remove
ampersand.  In current code, only this one place of `hook_register()`s needs
to be made.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2022-10-08 06:11:52 -04:00
Donald Sharp
cf00164b69 *: Create and use infrastructure to show debugs in lib
There are lib debugs being set but never show up in
`show debug` commands because there was no way to show
that they were being used.  Add a bit of infrastructure
to allow this and then use it for `debug route-map`

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-10-07 12:39:05 -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
Donald Sharp
860ad3f91e bgpd: Remove unnecessary check for pi and setting type and sub-type
There is code that sets the pi based upon matching it against
the same peer.  In this code the type and sub-type are also
compared to the passed in type and sub-type.  Let's just use
type and sub-type as that if we have a pi we know type and sub-type
are already correct.  This should also make the first iteration
work correctly when the pi has not been created yet when we call
the martian_update function.bgpd: Remove unnecessary check for pi and setting type and sub-type

There is code that sets the pi based upon matching it against
the same peer.  In this code the type and sub-type are also
compared to the passed in type and sub-type.  Let's just use
type and sub-type as that if we have a pi we know type and sub-type
are already correct.  This should also make the first iteration
work correctly when the pi has not been created yet when we call
the martian_update function.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-10-06 20:17:26 -04:00
Carmine Scarpitta
1830895a79 bgpd: Use %pI6 to print SRv6 VPN SIDs
Use %pI6 to print the SRv6 VPN SIDs in bgpd VTY.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
2022-10-06 19:15:50 +02: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
bfc8e5855c
Merge pull request #12038 from pguibert6WIND/show_bgp_nexthop_better
bgpd: improve 'show bgp nexthop' command
2022-10-06 10:04:49 -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
Francois Dumontet
5e0136c94f lib: fix typesafe hash add with hash collision
The typesafe hash data structure enforces items to be unique, but their
hash values may still collide.  To this extent, when two items have the
same hash value, the compare function is called to see if it returns 0
(aka "equal").

While the _find() function handles this correctly, the _add() function
mistakenly only checked the first item with a colliding hash value for
equality, and if it was inequal proceeded to add the new item.  There
may however be additional items with the same hash value collision, one
of which could still compare as equal.  In that case, _add() would
mistakenly add the new element, failing to notice the already added
item.  Breakage ensues.

Fix by looking for an equal element among *all* existing items with the
same hash value, not just the first.

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
[DL: rewrote commit message, fixed whitespace/formatting]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2022-10-06 15:09:15 +02:00
mobash-rasool
632041aec4
Merge pull request #12054 from opensourcerouting/feature/show_that_route_is_not_advertised
bgpd: Show why the prefix is inaccessible in show commands
2022-10-06 15:23:21 +05:30
Donatas Abraitis
5640afc641
Merge pull request #11983 from maduri111/bgpd-cond-adv-debug
bgpd: adding debug command for conditional advertisement
2022-10-06 12:42:28 +03:00
Madhuri Kuruganti
e85e4a8d16 bgpd: conditional advertisement code cleanup
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-06 12:43:05 +05:30
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
Madhuri Kuruganti
8093d7999c bgpd: adding debug command for conditional advertisement
Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
2022-10-06 12:17:27 +05:30
Jafar Al-Gharaibeh
2a88c83620
Merge pull request #12060 from donaldsharp/tunnel_shenanigans
zebra: Allow tunneldump data to work properly on non-supported kernels
2022-10-05 17:50:48 -05:00
Donald Sharp
81552b9774
Merge pull request #12017 from patrasar/pimv6_hello
pimd, pim6d: send secondary address in PIM hello packet
2022-10-05 08:25:28 -04:00
Donald Sharp
4457132992
Merge pull request #12063 from opensourcerouting/fix/update_package_development_versions
debian, redhat: Update changelog for new release (8.5)
2022-10-05 08:10:15 -04:00
Donatas Abraitis
30098ade41
Merge pull request #12019 from devicenull/master
Configure systemd to always restart FRR, regardless of exit code
2022-10-05 14:14:58 +03:00
Donatas Abraitis
4b8a9e74a2
Merge pull request #12013 from SaiGomathiN/11895
pim6d: Adding new Debug CLI for MLD
2022-10-05 14:09:39 +03:00
Donatas Abraitis
1fa5a99d43
Merge pull request #12048 from taspelund/display_retrans_mismatch
RA logging improvements
2022-10-05 14:08:06 +03:00
Philippe Guibert
8c6a164f40 bgpd: improve 'show bgp nexthop' command
- for a given IP nexthop, dump all NH entries, including
colored entries, or entries with an ifindex.
- when a given IP nexthop is requested, the path is displayed.
For better readibility, remove the carriage return between
'Last update' and 'Paths', because ctime() function already
performs carriage return.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2022-10-05 11:12:59 +02:00
Donatas Abraitis
5b5f1e7df4 debian, redhat: Update changelog for new release (8.5)
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-10-05 11:28:19 +03:00
Donald Sharp
451165eb57 zebra: Allow tunneldump data to work properly on non-supported kernels
When zebra requests tunnel data it is sending a RTM_GETTUNNEL per
interface that is a VXLAN tunnel.  If the kernel that is being
used does not support the particular request type then zebra
will get a error message per tunnel request back.  Unfortunately
netlink_parse_info *stops* reading on the first error message.
Therefor one kernels that are returning an error message
let's gather all of those errors.  This will allow things
like route reads to actually work properly

Fixes: #12056
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2022-10-04 15:05:44 -04:00
Donatas Abraitis
b81570c690 build: FRR 8.5 development version
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2022-10-04 21:33:18 +03:00