]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
13 months agopimd: Correct the wrong comment
anlan_cs [Sun, 16 Apr 2023 13:26:36 +0000 (21:26 +0800)]
pimd: Correct the wrong comment

Currently the function `pim_parse_nexthop_update()` clearly
updates nexthop interfaces even as PIM-disabled.

Just correct the wrong comments about those PIM-disabled interfaces
to avoid misleading.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
13 months agoMerge pull request #13314 from anlancs/bgp/remove-check-group
Donatas Abraitis [Sun, 16 Apr 2023 08:52:42 +0000 (11:52 +0300)]
Merge pull request #13314 from anlancs/bgp/remove-check-group

bgpd: Remove unnecessary check for groups

13 months agoMerge pull request #13312 from chiragshah6/fdev2
Donatas Abraitis [Sun, 16 Apr 2023 08:27:53 +0000 (11:27 +0300)]
Merge pull request #13312 from chiragshah6/fdev2

zebra: EVPN MH ES-peer Sync MAC installed as inactive

13 months agoMerge pull request #13302 from anlancs/fix/reload-remote-as
Donatas Abraitis [Sun, 16 Apr 2023 06:50:40 +0000 (09:50 +0300)]
Merge pull request #13302 from anlancs/fix/reload-remote-as

tools: fix missing remote-as configuration when reload

13 months agobgpd: Remove unnecessary check for groups
anlan_cs [Sun, 16 Apr 2023 05:41:40 +0000 (13:41 +0800)]
bgpd: Remove unnecessary check for groups

The `NULL` check for newly created groups (`updgroup` and `subgroup`)
are unnecessary,  just remove them.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
13 months agoMerge pull request #13313 from LabNConsulting/cleanup-bad-warning
Jafar Al-Gharaibeh [Sat, 15 Apr 2023 17:18:08 +0000 (12:18 -0500)]
Merge pull request #13313 from LabNConsulting/cleanup-bad-warning

tests: restart bgpd to avoid warnings in follow on tests

13 months agotests: restart bgpd to avoid warnings in follow on tests
Christian Hopps [Sat, 15 Apr 2023 13:37:30 +0000 (09:37 -0400)]
tests: restart bgpd to avoid warnings in follow on tests

The tests are killing bgpd and then ending, the next test is checking for all
daemons running and spewing warnings to stderr. Restart the daemons before
ending the test (like other tests in this same module) to avoid this.

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agoMerge pull request #13311 from LabNConsulting/fix-python-warning
Donald Sharp [Sat, 15 Apr 2023 00:21:25 +0000 (20:21 -0400)]
Merge pull request #13311 from LabNConsulting/fix-python-warning

tests: fix warning, incorrect use of `is` use ==

13 months agotools: Make check flag really work for reload
anlan_cs [Fri, 14 Apr 2023 22:41:41 +0000 (06:41 +0800)]
tools: Make check flag really work for reload

The check flag of `found_pg_cmd` is already there, but not used.
So, make it really work for reload.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
13 months agotools: fix missing remote-as configuration when reload
anlan_cs [Fri, 14 Apr 2023 00:32:32 +0000 (08:32 +0800)]
tools: fix missing remote-as configuration when reload

From commit `411d1a2`, `bgp_delete_nbr_remote_as_line()` is added to
remove some specific bgp neighbors.  But, when reloading the following
configuration, it will wrongly remove some good ones:
`neighbor 66.66.66.6 remote-as internal`:

```
router bgp 66
 bgp router-id 172.16.204.6
 neighbor ANLAN peer-group
 neighbor ANLAN remote-as internal
 neighbor 66.66.66.6 remote-as internal <- LOST
 neighbor 66.66.66.60 peer-group ANLAN
```

The reason is that "66.66.66.6" is included in "66.66.66.60" literally,
then it is mistakenly thought to be a match.  Just fix it with
excat match.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
13 months agozebra: evpn mh sync mac install as inactive
Chirag Shah [Fri, 14 Apr 2023 19:57:23 +0000 (12:57 -0700)]
zebra: evpn mh sync mac install as inactive

EVPN MH ES reduendant VTEPs need to install
sync MAC as notify inactive and generate
ND:Proxy stamped extended community on Type-2
route.

Ticket:#3436621
Issue:3436621

Testing Done:

tor-11 originates type-2 MAC route:

tor-11# bridge -d fdb show | grep 00:65:00:00:00:01
00:65:00:00:00:01 dev hostbond1 vlan 1000 notify master bridge static

tor-12 receives sync MAC route:

Before fix:
----------
tor-12:/# bridge -d fdb show | grep 00:65:00:00:00:01
00:65:00:00:00:01 dev hostbond1 vlan 1000 notify master bridge static

After fix: inactive is set to MAC entry
----------
tor-12:/#bridge -d fdb show | grep 00:65:00:00:00:01
00:65:00:00:00:01 dev hostbond1 vlan 1000 notify inactive master bridge
static

Notice the difference in `inactive` post notify on tor-12
with the fix.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
13 months agotests: fix warning, incorrect use of `is`.
Christian Hopps [Fri, 14 Apr 2023 19:13:04 +0000 (15:13 -0400)]
tests: fix warning, incorrect use of `is`.

Remove the never-executed code.

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agoMerge pull request #13303 from pguibert6WIND/srv6_seg6local_defaultvrf
Donald Sharp [Fri, 14 Apr 2023 14:36:12 +0000 (10:36 -0400)]
Merge pull request #13303 from pguibert6WIND/srv6_seg6local_defaultvrf

lib: fix handle seg6local routes on default vrf

13 months agoMerge pull request #13308 from donaldsharp/if_pr_needs
Donatas Abraitis [Fri, 14 Apr 2023 14:03:09 +0000 (17:03 +0300)]
Merge pull request #13308 from donaldsharp/if_pr_needs

git: Workflow grammar fixup

13 months agogit: Workflow grammar fixup
Donald Sharp [Fri, 14 Apr 2023 13:55:28 +0000 (09:55 -0400)]
git: Workflow grammar fixup

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agoMerge pull request #13297 from donaldsharp/ospf6_missing_nh
Jafar Al-Gharaibeh [Fri, 14 Apr 2023 13:09:04 +0000 (08:09 -0500)]
Merge pull request #13297 from donaldsharp/ospf6_missing_nh

ospf6d: missing ECMP NHs in certain topologies

13 months agoMerge pull request #13300 from louis-6wind/iso_doc
Donald Sharp [Fri, 14 Apr 2023 13:05:47 +0000 (09:05 -0400)]
Merge pull request #13300 from louis-6wind/iso_doc

doc: fix the print iso macro documentation

13 months agoMerge pull request #13301 from opensourcerouting/fix/crash_bgp_received_routes
Donald Sharp [Fri, 14 Apr 2023 13:04:07 +0000 (09:04 -0400)]
Merge pull request #13301 from opensourcerouting/fix/crash_bgp_received_routes

bgpd: Fix crash for `show bgp ... neighbor received-routes detail|PREFIX

13 months agolib: fix handle seg6local routes on default vrf
Philippe Guibert [Fri, 14 Apr 2023 08:44:41 +0000 (10:44 +0200)]
lib: fix handle seg6local routes on default vrf

An L3VPN network can be configured on the main BGP instance,
with an SRv6 SID. By declaring a network, a seg6local route
is created but remains invalid.

The below BGP VPN configuration the default VRF has been
used:
> router bgp 1
>  address-family ipv6 unicast
>   sid vpn export auto
>   rd vpn export 1:30
>   rt vpn both 77:77
>   import vpn
>   export vpn
>   network 2001:7::/64
>  exit-address-family

The below seg6local route has been added:

> # show ipv6 route
> [..]
> B   2001:db8:2:2:300::/128 [20/0] is directly connected, unknown inactive, seg6local End.DT6 table 254, seg6 ::, weight 1, 00:00:07
>

When creating the seg6local route, an interface is used as nexthop.
The interface index is obtained from the vrf identifier. This is
true when using VRF interfaces, but is wrong when using the lo
interface which usually has the '1' ifindex whereas the vrf id for
the default VRF is 0.

Get the appropriate index from the vrf identifier.
The below seg6local route is visible:

> # show ipv6 route
> [..]
> B>* 2001:db8:1:1:300::/128 [20/0] is directly connected, lo, seg6local End.DT6 table 254, seg6 ::, weight 1, 00:00:15
>

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agobgpd: Fix crash for `show bgp ... neighbor received-routes detail|PREFIX`
Donatas Abraitis [Thu, 13 Apr 2023 20:37:06 +0000 (23:37 +0300)]
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>
14 months agoMerge pull request #13298 from opensourcerouting/dead-import-check
Donald Sharp [Thu, 13 Apr 2023 17:33:47 +0000 (13:33 -0400)]
Merge pull request #13298 from opensourcerouting/dead-import-check

pimd, doc: remove dead import check references

14 months agodoc: fix the print iso macro documentation
Louis Scalbert [Thu, 13 Apr 2023 16:27:34 +0000 (18:27 +0200)]
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>
14 months agoMerge pull request #13293 from donaldsharp/run_black_on_test
Jafar Al-Gharaibeh [Thu, 13 Apr 2023 15:47:26 +0000 (10:47 -0500)]
Merge pull request #13293 from donaldsharp/run_black_on_test

tests: Run formatting script on test_isis_advertise_high_metrics.py

14 months agopimd, doc: remove dead import check references
David Lamparter [Tue, 29 Nov 2022 11:07:39 +0000 (12:07 +0100)]
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>
14 months agoospf6d: missing ECMP NHs in certain topologies
lynne [Wed, 23 Jun 2021 17:15:17 +0000 (13:15 -0400)]
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>
14 months agoMerge pull request #13097 from AbhishekNR/mroute
Donald Sharp [Thu, 13 Apr 2023 11:41:49 +0000 (07:41 -0400)]
Merge pull request #13097 from AbhishekNR/mroute

pim6d: mroutes not created after disabling and enabling PIMv6.

14 months agoMerge pull request #13244 from patrasar/pim_bsm
Donald Sharp [Thu, 13 Apr 2023 11:36:52 +0000 (07:36 -0400)]
Merge pull request #13244 from patrasar/pim_bsm

pimd: Process no-forward BSM packet

14 months agoMerge pull request #13287 from anlancs/bgpd-cleanup-9
Donald Sharp [Thu, 13 Apr 2023 11:33:13 +0000 (07:33 -0400)]
Merge pull request #13287 from anlancs/bgpd-cleanup-9

bgpd: Simplify the checking local path

14 months agotests: Run formatting script on test_isis_advertise_high_metrics.py
Donald Sharp [Thu, 13 Apr 2023 11:29:00 +0000 (07:29 -0400)]
tests: Run formatting script on test_isis_advertise_high_metrics.py

Apparently this is needed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13284 from isabelladeleon12/fix_adv_high_metrics_ut_warning
Donald Sharp [Thu, 13 Apr 2023 11:26:37 +0000 (07:26 -0400)]
Merge pull request #13284 from isabelladeleon12/fix_adv_high_metrics_ut_warning

tests: Fix topotest invalid escape sequence in isis_advertise_high_me…

14 months agoMerge pull request #13279 from idryzhov/if-rmap-northbound
Christian Hopps [Thu, 13 Apr 2023 07:50:11 +0000 (03:50 -0400)]
Merge pull request #13279 from idryzhov/if-rmap-northbound

lib: convert if_rmap config output to northbound

14 months agoMerge pull request #13276 from pguibert6WIND/explicit_null_complement
Donatas Abraitis [Thu, 13 Apr 2023 05:56:04 +0000 (08:56 +0300)]
Merge pull request #13276 from pguibert6WIND/explicit_null_complement

Explicit null complement

14 months agobgpd: Simplify the checking local path
anlan_cs [Wed, 12 Apr 2023 13:40:26 +0000 (21:40 +0800)]
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>
14 months agoMerge pull request #13177 from mjstapp/fix_ospf_supoort_typo
Donald Sharp [Wed, 12 Apr 2023 18:26:22 +0000 (14:26 -0400)]
Merge pull request #13177 from mjstapp/fix_ospf_supoort_typo

ospf,ospf6: fix json key typo supoort

14 months agoMerge pull request #13273 from donaldsharp/metaq_not_making_me_meta_happy
Mark Stapp [Wed, 12 Apr 2023 18:02:14 +0000 (14:02 -0400)]
Merge pull request #13273 from donaldsharp/metaq_not_making_me_meta_happy

zebra: Actually free up memory associated with the mq list

14 months agotests: Fix topotest invalid escape sequence in isis_advertise_high_metrics test
Isabella de Leon [Wed, 12 Apr 2023 17:53:07 +0000 (10:53 -0700)]
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>
14 months agoMerge pull request #13193 from Keelan10/link_state-memory-leak
Jafar Al-Gharaibeh [Wed, 12 Apr 2023 15:57:34 +0000 (10:57 -0500)]
Merge pull request #13193 from Keelan10/link_state-memory-leak

lib: link state leak fix

14 months agotopotests: fix bgp lu explicit-null test
Philippe Guibert [Wed, 12 Apr 2023 13:55:52 +0000 (15:55 +0200)]
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: eee086e6d24b ("topotests: add topotest to check bgp lu explicit-null service")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agobgpd: fix bgp label value when static route used
Philippe Guibert [Wed, 12 Apr 2023 13:51:25 +0000 (15:51 +0200)]
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: 7ee70320d370 ("bgpd: add cli command to control explicit-null label usage")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agoMerge pull request #13269 from Keelan10/ospf_lsa-memory-leak
Donald Sharp [Wed, 12 Apr 2023 15:39:26 +0000 (11:39 -0400)]
Merge pull request #13269 from Keelan10/ospf_lsa-memory-leak

ospfd: Fix ospf_lsa memory leak

14 months agoMerge pull request #13261 from LabNConsulting/ziemba/rfapi-memleak-cleanup-12478-2
Donald Sharp [Wed, 12 Apr 2023 15:37:14 +0000 (11:37 -0400)]
Merge pull request #13261 from LabNConsulting/ziemba/rfapi-memleak-cleanup-12478-2

bgpd: rfapi memleak fixes

14 months agoMerge pull request #13249 from Pdoijode/connected-route-install-fix
Mark Stapp [Wed, 12 Apr 2023 15:03:47 +0000 (11:03 -0400)]
Merge pull request #13249 from Pdoijode/connected-route-install-fix

zebra: Mark connected route as installed after interface flap event

14 months agozebra: Actually free up memory associated with the mq list
Donald Sharp [Mon, 10 Apr 2023 18:12:59 +0000 (14:12 -0400)]
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>
14 months agolib: convert if_rmap config output to northbound
Igor Ryzhov [Wed, 12 Apr 2023 14:17:03 +0000 (17:17 +0300)]
lib: convert if_rmap config output to northbound

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
14 months agoMerge pull request #13242 from LabNConsulting/chopps/no_rip_in_lib
Igor Ryzhov [Wed, 12 Apr 2023 13:06:17 +0000 (16:06 +0300)]
Merge pull request #13242 from LabNConsulting/chopps/no_rip_in_lib

Convert if_rmap to use YANG northbound

14 months agoospfd: Fix ospf_lsa memory leak
Keelan10 [Wed, 12 Apr 2023 09:36:40 +0000 (13:36 +0400)]
ospfd: Fix ospf_lsa memory leak

Free translated LSA when LSA installation fails

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
14 months agoMerge pull request #12797 from jvidalallende/ubi8_minimal_dockerfile
Quentin Young [Wed, 12 Apr 2023 05:47:38 +0000 (05:47 +0000)]
Merge pull request #12797 from jvidalallende/ubi8_minimal_dockerfile

docker: reduce ubi8 images size by using ubi8-minimal as base

14 months agoMerge pull request #13122 from rgirada/mgmtd_codecov
Jafar Al-Gharaibeh [Wed, 12 Apr 2023 05:05:56 +0000 (00:05 -0500)]
Merge pull request #13122 from rgirada/mgmtd_codecov

mgmtd: Fixing coverity issues and style warnings in the code

14 months agoMerge pull request #13159 from mjstapp/ospf_sockets
Jafar Al-Gharaibeh [Wed, 12 Apr 2023 04:57:40 +0000 (23:57 -0500)]
Merge pull request #13159 from mjstapp/ospf_sockets

ospfd: write socket per interface

14 months agoMerge pull request #13183 from Pdoijode/pdoijode/pim-json-changes
Jafar Al-Gharaibeh [Wed, 12 Apr 2023 04:46:18 +0000 (23:46 -0500)]
Merge pull request #13183 from Pdoijode/pdoijode/pim-json-changes

pimd: Option to get IGMP groups and sources for a particular interface

14 months agoMerge pull request #12959 from leonshaw/fix/zif-link-nsid
Jafar Al-Gharaibeh [Tue, 11 Apr 2023 21:38:33 +0000 (16:38 -0500)]
Merge pull request #12959 from leonshaw/fix/zif-link-nsid

zebra: Add link_nsid to zebra interface

14 months agoMerge pull request #13258 from donaldsharp/evpn_ping
Mark Stapp [Tue, 11 Apr 2023 20:15:44 +0000 (16:15 -0400)]
Merge pull request #13258 from donaldsharp/evpn_ping

Evpn ping

14 months agoMerge pull request #13260 from donaldsharp/bgp_l3vpn_to_vrf_scale_up
Mark Stapp [Tue, 11 Apr 2023 20:05:32 +0000 (16:05 -0400)]
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…

14 months agoMerge pull request #13090 from pguibert6WIND/explicit_null
Donatas Abraitis [Tue, 11 Apr 2023 19:48:01 +0000 (22:48 +0300)]
Merge pull request #13090 from pguibert6WIND/explicit_null

bgpd: add cli command to control explicit-null label usage

14 months agobgpd: rfapi memleak fixes
G. Paul Ziemba [Tue, 11 Apr 2023 17:57:43 +0000 (10:57 -0700)]
bgpd: rfapi memleak fixes

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
14 months agoripngd: adapt to new YANG NB if_rmap conversion
Christian Hopps [Mon, 10 Apr 2023 10:32:35 +0000 (06:32 -0400)]
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>
14 months agoripd: adapt to new YANG NB if_rmap conversion
Christian Hopps [Sun, 9 Apr 2023 09:06:11 +0000 (05:06 -0400)]
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>
14 months agolib: convert if_rmap to YANG northbound
Christian Hopps [Sun, 9 Apr 2023 09:02:51 +0000 (05:02 -0400)]
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>
14 months agolib: fix formatting
Christian Hopps [Tue, 11 Apr 2023 06:57:48 +0000 (02:57 -0400)]
lib: fix formatting

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoMerge pull request #13213 from mjstapp/fix_dplane_shutdown_event
Donatas Abraitis [Tue, 11 Apr 2023 19:24:35 +0000 (22:24 +0300)]
Merge pull request #13213 from mjstapp/fix_dplane_shutdown_event

zebra: fix race during shutdown

14 months agopimd: Option to get IGMP groups and sources for a particular interface
Pooja Jagadeesh Doijode [Mon, 10 Apr 2023 21:34:35 +0000 (14:34 -0700)]
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>
14 months agoMerge pull request #13250 from chiragshah6/fdev1
Donatas Abraitis [Tue, 11 Apr 2023 17:05:34 +0000 (20:05 +0300)]
Merge pull request #13250 from chiragshah6/fdev1

bgpd:add local_es_df_preference into l2vpn-evpn es json output

14 months agotests: Ensure that the scale_up.py script tests for actual sharp installed routes...
Donald Sharp [Tue, 11 Apr 2023 14:49:34 +0000 (10:49 -0400)]
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>
14 months agoMerge pull request #13254 from manojvn/remove_startupjson_doc
Donatas Abraitis [Tue, 11 Apr 2023 14:28:55 +0000 (17:28 +0300)]
Merge pull request #13254 from manojvn/remove_startupjson_doc

mgmtd: remove the frr_startup.json related documentation.

14 months agodoc: add doc for ospf per-interface write socket
Mark Stapp [Wed, 29 Mar 2023 20:59:54 +0000 (16:59 -0400)]
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>
14 months agoospfd: support write socket per interface
Mark Stapp [Wed, 29 Mar 2023 20:58:25 +0000 (16:58 -0400)]
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>
14 months agotopotests: add topotest to check bgp lu explicit-null service
Philippe Guibert [Fri, 24 Mar 2023 06:08:48 +0000 (07:08 +0100)]
topotests: add topotest to check bgp lu explicit-null service

The test ensures that the incoming prefixes are received with
the appropriate label value, and that connectivity is ensured
between prefixes.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agobgpd: add cli command to control explicit-null label usage
Philippe Guibert [Fri, 17 Mar 2023 13:46:13 +0000 (14:46 +0100)]
bgpd: add cli command to control explicit-null label usage

In BGP labeled unicast address-family, it is not possible to
send explicit-null label values with redistributed or network
declared prefixes.
A new CLI command is introduced:

  > [no] bgp labeled-unicast explicit-null

When used, the explicit-null value for IPv4 ('0' value) or
IPv6 ('2' value) will be used.
It is necessary to reconfigure the networks or the
redistribution in order to inherit this new behaviour.

Add the documentation.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
14 months agoMerge pull request #13163 from isabelladeleon12/isis_log_drops
Russ White [Tue, 11 Apr 2023 13:55:24 +0000 (09:55 -0400)]
Merge pull request #13163 from isabelladeleon12/isis_log_drops

isisd: Add support for log-pdu-drops

14 months agoMerge pull request #12698 from Orange-OpenSource/isisd
Russ White [Tue, 11 Apr 2023 13:49:01 +0000 (09:49 -0400)]
Merge pull request #12698 from Orange-OpenSource/isisd

Isisd/Lib: Add new printfrr format facility for Intermediate System ID

14 months agotests: Cleanup formatting in a couple of test scripts
Donald Sharp [Tue, 11 Apr 2023 13:16:36 +0000 (09:16 -0400)]
tests: Cleanup formatting in a couple of test scripts

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agotests: Fix evpn tests to ensure mac addresses will show up
Donald Sharp [Tue, 11 Apr 2023 13:15:13 +0000 (09:15 -0400)]
tests: Fix evpn tests to ensure mac addresses will show up

Locally, the bgp_evpn_vxlan_svd_topo1 and bgp_evpn_vxlan_topo1
tests are failing for me.  Upon inspection the test is looking
for the mac addresses of the interfaces participating in the
evpn bridging on the hosts.  For some reason on my machine
these mac addresses are not in the l2 tables at all on
PE1 or PE2.  Adding quick pings solves the problems.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13227 from mjstapp/ospf_sock_bufsizes
Russ White [Tue, 11 Apr 2023 12:55:47 +0000 (08:55 -0400)]
Merge pull request #13227 from mjstapp/ospf_sock_bufsizes

ospfd: support configuration of socket buffer sizes

14 months agoMerge pull request #13226 from anlancs/fix/ripd-leak
Donatas Abraitis [Tue, 11 Apr 2023 11:37:40 +0000 (14:37 +0300)]
Merge pull request #13226 from anlancs/fix/ripd-leak

ripd: Fix memory leak for ripd's route-map

14 months agoMerge pull request #13240 from chiragshah6/fdev2
Donatas Abraitis [Tue, 11 Apr 2023 11:34:12 +0000 (14:34 +0300)]
Merge pull request #13240 from chiragshah6/fdev2

bgpd: EVPN-MH ESI is not active suppress EAD-ES Type-1 route

14 months agoMerge pull request #13245 from anlancs/cleanup/ripd-1
Donatas Abraitis [Tue, 11 Apr 2023 11:31:51 +0000 (14:31 +0300)]
Merge pull request #13245 from anlancs/cleanup/ripd-1

ripd: Cosmetic changes for ripd

14 months agomgmtd: remove the frr_startup.json related documentation.
Manoj Naragund [Tue, 11 Apr 2023 11:03:58 +0000 (04:03 -0700)]
mgmtd: remove the frr_startup.json related documentation.

Since mgmtd no longer supports the frr_startup.json, removing the
documentation related to that. Proper documentation will be added
when/if the frr_startup.json is ever supported.

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
14 months agoMerge pull request #13247 from donaldsharp/evpn_crashes_and_other_ilk
Christian Hopps [Tue, 11 Apr 2023 06:35:26 +0000 (02:35 -0400)]
Merge pull request #13247 from donaldsharp/evpn_crashes_and_other_ilk

Evpn crashes and other ilk

14 months agobgpd:add local_es_df_preference into l2vpn-evpn es json output
Sindhu Parvathi Gopinathan [Mon, 10 Apr 2023 11:54:09 +0000 (04:54 -0700)]
bgpd:add local_es_df_preference into l2vpn-evpn es json output

Added "Local ES DF preference" into bgp l2vpn evpn es json output.

 - show bgp l2vpn evpn es <es-id> json
 - show  bgp l2vpn evpn es detail json

Before Fix:-
```
cumulus@torm-11:mgmt:~$ sudo vtysh -c "show bgp l2vpn evpn es
03:44:38:39:ff:ff:01:00:00:01 json"
{
  "esi":"03:44:38:39:ff:ff:01:00:00:01",
  "rd":"27.0.0.21:15",
  "type":[
    "local",
    "remote"
  ],
  "vteps":[
    {
      "vtep_ip":"27.0.0.22",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    },
    {
      "vtep_ip":"27.0.0.23",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    }
  ],
  "vniCount":10,
  "flags":[
    "up",
    "advertiseEVI"
  ],
  "originator_ip":"27.0.0.21",
  "remoteVniCount":10,
  "vrfCount":3,
  "macipPathCount":33,
  "macipGlobalPathCount":132,
  "inconsistentVniVtepCount":0,
  "fragments":[
    {
      "rd":"27.0.0.21:15",
      "eviCount":10
    }
  ]
}
cumulus@torm-11:mgmt:~$
```

After Fix:-
```
cumulus@torm-11:mgmt:~$
cumulus@torm-11:mgmt:~$ sudo vtysh -c "show bgp l2vpn evpn es
03:44:38:39:ff:ff:01:00:00:01 json"
{
  "esi":"03:44:38:39:ff:ff:01:00:00:01",
  "rd":"27.0.0.21:4",
  "type":[
    "local",
    "remote"
  ],
  "vteps":[
    {
      "vtep_ip":"27.0.0.22",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    },
    {
      "vtep_ip":"27.0.0.23",
      "flags":[
        "esr",
        "active"
      ],
      "dfPreference":32767,
      "dfAlgorithm":32767
    }
  ],
  "vniCount":10,
  "flags":[
    "advertiseEVI"
  ],
  "originator_ip":"27.0.0.21",
  "remoteVniCount":10,
  "vrfCount":3,
  "macipPathCount":33,
  "macipGlobalPathCount":132,
  "inconsistentVniVtepCount":0,
  "localEsDfPreference":50000, ====> Added Local ES DF preference
  "fragments":[
    {
      "rd":"27.0.0.21:4",
      "eviCount":10
    }
  ]
}
cumulus@torm-11:mgmt:~$
```

Ticket:#3411906

Issue:3411906

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
14 months agozebra: Install directly connected route after interface flap
Pooja Jagadeesh Doijode [Mon, 10 Apr 2023 23:03:23 +0000 (16:03 -0700)]
zebra: Install directly connected route after interface flap

Issue:
After vlan flap, zebra was not marking the selected/best route as installed.

As a result, when a static route was configured with nexthop as directly
connected interface's(vlan) IP, the static route was not being installed
in the kernel since its nexthop was unresolved. The nexthop was marked
unresolved because zebra failed to mark the best route as installed after
interface flap.

This was happening because, in dplane_route_update_internal() if the old and
new context type, and nexthop group id are the same, then zebra doesn't send
down a route replace request to kernel. But, the installed (ROUTE_ENTRY_INSTALLED)
flag is set when zebra receives a response from kernel. Since the
request to kernel was being skipped for the route entry, installed flag
was not being set

Fix:
In dplane_route_update_internal() if the old and new context type, and
nexthop group id are the same, then before returning, installed flag will
be set on the route-entry if it's not set already.

Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
14 months agobgpd: Do not allow a `no router bgp XXX` when autoimport is happening
Donald Sharp [Mon, 10 Apr 2023 18:04:27 +0000 (14:04 -0400)]
bgpd: Do not allow a `no router bgp XXX` when autoimport is happening

When we have these sequence of events causing a crash in
evpn_type5_test_topo1:

(A) no router bgp vrf RED 100
   this schedules for deletion the vrf RED instance
(B) a l3vni change event from zebra
   this creates a bgp instance for VRF RED in some cases
   additionally it auto imports evpn routes into VRF RED
   Please note this is desired behavior to allow for the
   auto importation of evpn vrf routes
(C) no router bgp 100
   The code was allowing the deletion of the default
   instance and causing tests to crash.

Effectively the test in bgp_vty to allow/dissallow
the removal of the default instance was not correct
for the case when (B) happens.

Let's just not allow the command to succeed in this case as that
the test was wrong.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Do not allow l3vni changes when shutting down
Donald Sharp [Mon, 10 Apr 2023 17:59:48 +0000 (13:59 -0400)]
bgpd: Do not allow l3vni changes when shutting down

When a `no router bgp XXX` is issued and the bgp instance
is in the process of shutting down, do not allow a l3vni
change coming up from zebra to do anything.  We can just
safely ignore it at this point in time.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agobgpd: Use the actual pointer type instead of a void
Donald Sharp [Mon, 10 Apr 2023 18:02:18 +0000 (14:02 -0400)]
bgpd: Use the actual pointer type instead of a void

Let's cut to the chase, we know the pointer type and
it allows us to not to some gyrations.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
14 months agoMerge pull request #13239 from opensourcerouting/fix/enable_scripting_for_docker_alpi...
Jafar Al-Gharaibeh [Mon, 10 Apr 2023 16:29:20 +0000 (11:29 -0500)]
Merge pull request #13239 from opensourcerouting/fix/enable_scripting_for_docker_alpine_build

docker: Fix --enable-scripting for Docker images

14 months agoripd: Simplify code for distance
anlan_cs [Mon, 10 Apr 2023 07:20:43 +0000 (15:20 +0800)]
ripd: Simplify code for distance

Simplify the code for `rip_distance_apply()`.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agopimd: Process no-forward BSM packet
Sarita Patra [Mon, 10 Apr 2023 05:30:44 +0000 (22:30 -0700)]
pimd: Process no-forward BSM packet

Topology Used:
=============
Cisco---FRR4----FRR2

Initially PIM nbr is down between FRR4----FRR2 from FRR2 side
Cisco is sending BSR packet to FRR4.

Problem Statement:
=================
No shutdown the PIM neighbor on FRR2 towards FRR4.
FRR2, receives BSR packet immediately as the new neighbor
comes up. This BSR packet is having no-forward bit set.
FRR2 is not able to process the BSR packet, and drop the
BSR packet.

Root Cause:
==========
When PIMD comes up, we start BSM timer for 60 seconds.
Here, the value accept_nofwd_bsm is setting to false.

FRR2, when receives no-forward BSR packet, it is getting
accept_nofwd_bsm value as false.

So, it drops, the no-forward BSM packet.

Fix:
===
Set accept_nofwd_bsm as false after first BSM packet received.

Signed-off-by: Sarita Patra <saritap@vmware.com>
14 months agoripd: Correct one debug log
anlan_cs [Mon, 10 Apr 2023 03:04:47 +0000 (11:04 +0800)]
ripd: Correct one debug log

Correct one debug log, which wrongly mixed address and port.

Before:
```
ripd[469497]: [NDAGH-Z85V7] rip_send_packet 3.3.3.4 > 224.0.0.9 (enp1s0)
ripd[469497]: [VEJY5-67P5X] SEND to 224.0.0.9520
```
After:
```
ripd[471330]: [NDAGH-Z85V7] rip_send_packet 3.3.3.4 > 224.0.0.9 (enp1s0)
ripd[471330]: [T8DFR-P09JH] SEND to 224.0.0.9 port 520
```

Signed-off-by: anlan_cs <vic.lan@pica8.com>
14 months agobgpd:evpn-mh esi not active suppress ead-es route
Chirag Shah [Sat, 8 Apr 2023 03:14:25 +0000 (20:14 -0700)]
bgpd:evpn-mh esi not active suppress ead-es route

update_type1_routes_for_evi() is called from
L3VNI/L2VNI up event, if ESI is not UP then
do not advertise EAD-ES Type-1 route.
Just like from multiple places EAD-ES route
origination checks for its oper status.

Ticket:#3413454
Issue:3413454

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
14 months agotests: Copy script1.lua for make dist
Donatas Abraitis [Sat, 8 Apr 2023 15:00:53 +0000 (18:00 +0300)]
tests: Copy script1.lua for make dist

This is needed for `make dist` when building Docker images with Lua support.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agodocker: Enable Lua (scripting) for Alpine images
Donatas Abraitis [Sat, 8 Apr 2023 15:00:20 +0000 (18:00 +0300)]
docker: Enable Lua (scripting) for Alpine images

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agobuild: Take LUA_LIBS from pkg-config
Donatas Abraitis [Sat, 8 Apr 2023 14:59:51 +0000 (17:59 +0300)]
build: Take LUA_LIBS from pkg-config

Alpine Linux has LUA_LIB with a broken path, let's use pkg-config to grab
the LUA_LIBS properly.

checking for library containing lua_load... no
configure: error: Lua 5.3 libraries are required to build with Lua support. No other version is supported.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
14 months agoMerge pull request #13237 from LabNConsulting/chopps/fixriptest
Donald Sharp [Sat, 8 Apr 2023 13:23:22 +0000 (09:23 -0400)]
Merge pull request #13237 from LabNConsulting/chopps/fixriptest

tests: fix cause of intermittent failure

14 months agotests: fix cause of intermittent failure
Christian Hopps [Sat, 8 Apr 2023 00:01:33 +0000 (00:01 +0000)]
tests: fix cause of intermittent failure

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoospf,ospf6: fix json key typo supoort
Mark Stapp [Fri, 31 Mar 2023 14:48:45 +0000 (10:48 -0400)]
ospf,ospf6: fix json key typo supoort

Fix json key 'supoort' -> 'support'; add 1-year deprecation
notice; fix topotests to use corrected json key.

Signed-off-by: Mark Stapp <mjs@labn.net>
14 months agoMerge pull request #13109 from LabNConsulting/topotest-cleanup
Jafar Al-Gharaibeh [Fri, 7 Apr 2023 19:45:33 +0000 (14:45 -0500)]
Merge pull request #13109 from LabNConsulting/topotest-cleanup

minor topotest cleanup

14 months agoMerge pull request #13228 from LabNConsulting/chopps/json-via-yang
Igor Ryzhov [Fri, 7 Apr 2023 14:56:54 +0000 (17:56 +0300)]
Merge pull request #13228 from LabNConsulting/chopps/json-via-yang

Update ripd YANG operational state (ECMP routes)

14 months agotests: Check if RIP `allow-ecmp` command works correctly
Donatas Abraitis [Mon, 3 Apr 2023 11:07:41 +0000 (14:07 +0300)]
tests: Check if RIP `allow-ecmp` command works correctly

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoripd: implement new YANG operational state
Christian Hopps [Thu, 6 Apr 2023 22:23:31 +0000 (18:23 -0400)]
ripd: implement new YANG operational state

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agoripd: yang: extend nexthops functionality in YANG model - skeleton
Christian Hopps [Thu, 6 Apr 2023 21:28:37 +0000 (17:28 -0400)]
ripd: yang: extend nexthops functionality in YANG model - skeleton

Signed-off-by: Christian Hopps <chopps@labn.net>
14 months agolib: Fix link state memory leak
Keelan10 [Mon, 3 Apr 2023 07:41:04 +0000 (11:41 +0400)]
lib: Fix link state memory leak

Free link message data when a delete event is recorded.

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>