Commit Graph

31550 Commits

Author SHA1 Message Date
Jafar Al-Gharaibeh
d340aaebf0
Merge pull request #13297 from donaldsharp/ospf6_missing_nh
ospf6d: missing ECMP NHs in certain topologies
2023-04-14 08:09:04 -05:00
Donald Sharp
a5304577ca
Merge pull request #13300 from louis-6wind/iso_doc
doc: fix the print iso macro documentation
2023-04-14 09:05:47 -04:00
Donald Sharp
12fa4d4b6d
Merge pull request #13301 from opensourcerouting/fix/crash_bgp_received_routes
bgpd: Fix crash for `show bgp ... neighbor received-routes detail|PREFIX
2023-04-14 09:04:07 -04:00
Donatas Abraitis
ea5a8e4d58 bgpd: Fix crash for show bgp ... neighbor received-routes detail|PREFIX
BGP: Received signal 11 at 1681287514 (si_addr 0x8, PC 0x559ab42eb1d9); aborting...
BGP: /lib/libfrr.so.0(zlog_backtrace_sigsafe+0x71) [0x7f4356b19af1]
BGP: /lib/libfrr.so.0(zlog_signal+0xf9) [0x7f4356b19cf9]
BGP: /lib/libfrr.so.0(+0xf5af5) [0x7f4356b4baf5]
BGP: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7f43568ab420]
BGP: /usr/lib/frr/bgpd(prefix_rd2str+0x29) [0x559ab42eb1d9]
BGP: /usr/lib/frr/bgpd(route_vty_out_detail_header+0x7ca) [0x559ab43061ba]
BGP: /usr/lib/frr/bgpd(+0x1771a6) [0x559ab430a1a6]
BGP: /usr/lib/frr/bgpd(+0x177f06) [0x559ab430af06]
BGP: /usr/lib/frr/bgpd(+0x178c8b) [0x559ab430bc8b]
BGP: /usr/lib/frr/bgpd(+0x179e7e) [0x559ab430ce7e]
BGP: /lib/libfrr.so.0(+0x9417e) [0x7f4356aea17e]
BGP: /lib/libfrr.so.0(cmd_execute_command+0x111) [0x7f4356aea321]
BGP: /lib/libfrr.so.0(cmd_execute+0xd0) [0x7f4356aea4c0]
BGP: /lib/libfrr.so.0(+0x10d5de) [0x7f4356b635de]
BGP: /lib/libfrr.so.0(+0x10d81d) [0x7f4356b6381d]
BGP: /lib/libfrr.so.0(+0x110b03) [0x7f4356b66b03]
BGP: /lib/libfrr.so.0(event_call+0x81) [0x7f4356b5df91]
BGP: /lib/libfrr.so.0(frr_run+0xe8) [0x7f4356b11b58]
BGP: /usr/lib/frr/bgpd(main+0x385) [0x559ab4281d55]
BGP: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f43566c9083]
BGP: /usr/lib/frr/bgpd(_start+0x2e) [0x559ab428437e]
BGP: in thread vtysh_read scheduled from lib/vty.c:2833 vty_event()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-04-13 23:37:06 +03:00
Donald Sharp
89f0982149
Merge pull request #13298 from opensourcerouting/dead-import-check
pimd, doc: remove dead import check references
2023-04-13 13:33:47 -04:00
Louis Scalbert
4ef4cbea6b doc: fix the print iso macro documentation
fix the print iso macro documentation

Fixes: 7f9ab3b0bb ("lib: Add ISO System & Network format to printfrr")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-04-13 18:27:34 +02:00
Jafar Al-Gharaibeh
9539c4e4f0
Merge pull request #13293 from donaldsharp/run_black_on_test
tests: Run formatting script on test_isis_advertise_high_metrics.py
2023-04-13 10:47:26 -05:00
David Lamparter
5903e49c7b pimd, doc: remove dead import check references
ZEBRA_IMPORT_CHECK_UPDATE has been gone for more than a year; remove
some leftover dead references to it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2023-04-13 16:52:57 +02:00
lynne
637e6f293b ospf6d: missing ECMP NHs in certain topologies
When ospf6 is started up and SPF is run depending on which route is
selected as the parent route we could miss adding a NH.   If one
possible parent route has two equal cost paths and the second possible
parent route has only one depending on which one is selected first
determines if we have have one or two NHs.

In the network below when creating a route 2001:db8:3:4::/64 in R2.
When SPF is run there are two possible parent routes R3 and R4.

     2001:db8:1:2  +-----+   2001:db8:2:5
    +--------------+  2  +---------------+
    |          ::2 |     | ::2           |
    |              +-----+               |
    |                                    |
 ::1|                                    |
+-----+                                  |::5
|  1  |2001:db8:1:3+-----+2001:db8:3:5+-----+2001:db8:5:6+-----+
|     +------------+  3  +------------+  5  +------------+  6  |
+-----+ ::1    ::3 |     |::3     ::5 |     |::5      ::6|     |
 ::1|              +-----+            +-----+            +-----+
    |                 |::3
    |                 | 2001:db8:3:4
    |                 |
    |                 |::4
    | 2001:db8:1:4 +-----+
    +--------------+  4  |
               ::4 |     |
                   +-----+

The problem was if we first created the route to 2001:db8:3:4::/64 with R3
as the parent route all is fine.  The code was merging the NH from the parent
route and R3 has 2 NH, one pointing to R1 and one to R5.   But if route
2001:db8:3:4::/64 was first created with parent as R4, it has only one NH
pointing to R1, and then later a new vertex was created pointing to R3 the
code would only copy the nhs from the vertex not from the parent route.   The
vertex always has just one NH.   But the parent route could have more.  So
when we would bringup this setup one time we would see one NH for
2001:db8:3:4::/64 and the next time we would see two NHs.  The code has been
modified so that it behaves the same when the route is first created, or when
a vertex is created, it selects the NHs from the parent route.

Signed-off-by: Lynne Morrison <lynne@voltanet.io>
2023-04-13 07:55:03 -04:00
Donald Sharp
635d65e2c8
Merge pull request #13097 from AbhishekNR/mroute
pim6d: mroutes not created after disabling and enabling PIMv6.
2023-04-13 07:41:49 -04:00
Donald Sharp
b1fe933c60
Merge pull request #13244 from patrasar/pim_bsm
pimd: Process no-forward BSM packet
2023-04-13 07:36:52 -04:00
Donald Sharp
8132d1e905
Merge pull request #13287 from anlancs/bgpd-cleanup-9
bgpd: Simplify the checking local path
2023-04-13 07:33:13 -04:00
Donald Sharp
e503294060 tests: Run formatting script on test_isis_advertise_high_metrics.py
Apparently this is needed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-04-13 07:29:00 -04:00
Donald Sharp
8356f48119
Merge pull request #13284 from isabelladeleon12/fix_adv_high_metrics_ut_warning
tests: Fix topotest invalid escape sequence in isis_advertise_high_me…
2023-04-13 07:26:37 -04:00
Christian Hopps
2437ddf0b7
Merge pull request #13279 from idryzhov/if-rmap-northbound
lib: convert if_rmap config output to northbound
2023-04-13 03:50:11 -04:00
Donatas Abraitis
0667f62411
Merge pull request #13276 from pguibert6WIND/explicit_null_complement
Explicit null complement
2023-04-13 08:56:04 +03:00
anlan_cs
e2c7a84bdd bgpd: Simplify the checking local path
Replace the checking local path code in `update_evpn_type5_route_entry()`
with generic function.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2023-04-13 08:47:06 +08:00
Donald Sharp
13a1758a6a
Merge pull request #13177 from mjstapp/fix_ospf_supoort_typo
ospf,ospf6: fix json key typo supoort
2023-04-12 14:26:22 -04:00
Mark Stapp
4b6b10cb81
Merge pull request #13273 from donaldsharp/metaq_not_making_me_meta_happy
zebra: Actually free up memory associated with the mq list
2023-04-12 14:02:14 -04:00
Isabella de Leon
d3f6aa39df tests: Fix topotest invalid escape sequence in isis_advertise_high_metrics test
Modify test to fix issue 13283

Signed-off-by: Isabella de Leon <ideleon@microsoft.com>
2023-04-12 10:53:07 -07:00
Jafar Al-Gharaibeh
dde1018745
Merge pull request #13193 from Keelan10/link_state-memory-leak
lib: link state leak fix
2023-04-12 10:57:34 -05:00
Philippe Guibert
6d5f16a45c topotests: fix bgp lu explicit-null test
The label value for the given prefix was ignored,
as the compare function always returns ok.
Do return the json compare output.

Fixes: eee086e6d2 ("topotests: add topotest to check bgp lu explicit-null service")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-04-12 17:45:52 +02:00
Philippe Guibert
f8141f4a65 bgpd: fix bgp label value when static route used
The BGP local label value is not re-set when the prefix
is either a network or an aggregate prefix. Ensure to
get the appropriate label value each time the 'need_imp_null_label()'
function has to return true.

Fixes: 7ee70320d3 ("bgpd: add cli command to control explicit-null label usage")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2023-04-12 17:45:48 +02:00
Donald Sharp
6a5d103257
Merge pull request #13269 from Keelan10/ospf_lsa-memory-leak
ospfd: Fix ospf_lsa memory leak
2023-04-12 11:39:26 -04:00
Donald Sharp
4e3ec2d436
Merge pull request #13261 from LabNConsulting/ziemba/rfapi-memleak-cleanup-12478-2
bgpd: rfapi memleak fixes
2023-04-12 11:37:14 -04:00
Mark Stapp
52ccf12c30
Merge pull request #13249 from Pdoijode/connected-route-install-fix
zebra: Mark connected route as installed after interface flap event
2023-04-12 11:03:47 -04:00
Donald Sharp
1b192d88e4 zebra: Actually free up memory associated with the mq list
Free up the link list data structures as well as properly
account for data sizes.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-04-12 10:41:42 -04:00
Igor Ryzhov
1d1f77b60d lib: convert if_rmap config output to northbound
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2023-04-12 17:17:03 +03:00
Igor Ryzhov
4150fc5399
Merge pull request #13242 from LabNConsulting/chopps/no_rip_in_lib
Convert if_rmap to use YANG northbound
2023-04-12 16:06:17 +03:00
Keelan10
c0ccfbfd45 ospfd: Fix ospf_lsa memory leak
Free translated LSA when LSA installation fails

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
2023-04-12 13:52:08 +04:00
Quentin Young
9213d69499
Merge pull request #12797 from jvidalallende/ubi8_minimal_dockerfile
docker: reduce ubi8 images size by using ubi8-minimal as base
2023-04-12 05:47:38 +00:00
Jafar Al-Gharaibeh
b4ac6683ac
Merge pull request #13122 from rgirada/mgmtd_codecov
mgmtd: Fixing coverity issues and style warnings in the code
2023-04-12 00:05:56 -05:00
Jafar Al-Gharaibeh
720afd9ad7
Merge pull request #13159 from mjstapp/ospf_sockets
ospfd: write socket per interface
2023-04-11 23:57:40 -05:00
Jafar Al-Gharaibeh
7a29a05023
Merge pull request #13183 from Pdoijode/pdoijode/pim-json-changes
pimd: Option to get IGMP groups and sources for a particular interface
2023-04-11 23:46:18 -05:00
Jafar Al-Gharaibeh
bd2711d251
Merge pull request #12959 from leonshaw/fix/zif-link-nsid
zebra: Add link_nsid to zebra interface
2023-04-11 16:38:33 -05:00
Mark Stapp
f827dc810c
Merge pull request #13258 from donaldsharp/evpn_ping
Evpn ping
2023-04-11 16:15:44 -04:00
Mark Stapp
425e2278d5
Merge pull request #13260 from donaldsharp/bgp_l3vpn_to_vrf_scale_up
tests: Ensure that the scale_up.py script tests for actual sharp inst…
2023-04-11 16:05:32 -04:00
Donatas Abraitis
55ca7c63fd
Merge pull request #13090 from pguibert6WIND/explicit_null
bgpd: add cli command to control explicit-null label usage
2023-04-11 22:48:01 +03:00
G. Paul Ziemba
c6a18e9128 bgpd: rfapi memleak fixes
Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2023-04-11 12:27:36 -07:00
Christian Hopps
e40c42081d ripngd: adapt to new YANG NB if_rmap conversion
- uses YANG grouping and calls if_rmap library code to implement.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-11 15:27:17 -04:00
Christian Hopps
14ef7be7ca ripd: adapt to new YANG NB if_rmap conversion
- uses YANG grouping and calls if_rmap library code to implement.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-11 15:27:17 -04:00
Christian Hopps
efa2ca6ef0 lib: convert if_rmap to YANG northbound
- nice correspondence between new YANG grouping and shared library code.
- fixes bug with RIPNG use, certainly didn't work before.
- removes rip header from shared library code
- still has uses RIP_NODE/RIPNG_NODE as required by CLI foo.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-11 15:27:05 -04:00
Christian Hopps
2eb4471114 lib: fix formatting
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-04-11 15:26:09 -04:00
Donatas Abraitis
b69fa56517
Merge pull request #13213 from mjstapp/fix_dplane_shutdown_event
zebra: fix race during shutdown
2023-04-11 22:24:35 +03:00
Pooja Jagadeesh Doijode
5519cabe4c pimd: Option to get IGMP groups and sources for a particular interface
1. Added interface name, group address and detail option to existing
   "show ip igmp groups" so that user can retrieve all the groups
   or a particular group for an interface. Detail option shows the source
   information for the group. With that, the show command
   looks like:

   "show ip igmp [vrf NAME$vrf_name] groups [INTERFACE$ifname [GROUP$grp_str]] [detail$detail] [json$json]"

2. Changed pim_cmd_lookup_vrf() to return empty JSON if VRF is not present

3. Changed "detail" option to print non pretty JSON

4. Added interface name and group address to existing
   "show ip igmp sources" so that user can retrieve all the sources for
   all the groups or, all the sorces for a particular group for an
   interface. With that, the show command looks like:

   "show ip igmp [vrf NAME$vrf_name] sourcess [INTERFACE$ifname [GROUP$grp_str]] [json$json]"

Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
2023-04-11 11:00:39 -07:00
Donatas Abraitis
a070fa00ce
Merge pull request #13250 from chiragshah6/fdev1
bgpd:add local_es_df_preference into l2vpn-evpn es json output
2023-04-11 20:05:34 +03:00
Donald Sharp
66d0d2184e tests: Ensure that the scale_up.py script tests for actual sharp installed routes first
The scale_up.py script used by several tests installs 50k routes into the rib from
sharpd.  It is first looking for the results in the bgp database.  Let's ensure
that the routes are actually installed into the rib first before looking in
the bgp tables.  This should help situations where the system is under extreme
load.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2023-04-11 10:49:34 -04:00
Donatas Abraitis
69173c6e5e
Merge pull request #13254 from manojvn/remove_startupjson_doc
mgmtd: remove the frr_startup.json related documentation.
2023-04-11 17:28:55 +03:00
Mark Stapp
86a36bad51 doc: add doc for ospf per-interface write socket
Add a doc entry for the per-interface write socket config.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-04-11 10:16:07 -04:00
Mark Stapp
04a0401f2d ospfd: support write socket per interface
Add support for a write socket per interface, enabled by
default at the ospf instance level. An ospf instance-level
config allows this to be disabled, reverting to the older
behavior where a single per-instance socket is used for
sending and receiving packets.

Signed-off-by: Mark Stapp <mjs@labn.net>
2023-04-11 10:16:07 -04:00