]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
2 years agovrf_name_to_id(): remove
G. Paul Ziemba [Tue, 10 Aug 2021 17:28:36 +0000 (10:28 -0700)]
vrf_name_to_id(): remove

    vrf_name_to_id() returned VRF_DEFAULT when the vrf name was
    unknown, hiding errors. Per community recommendation, vrf_name_to_id()
    is now removed and the few callers now use vrf_lookup_by_name()
    directly.

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
2 years agoMerge pull request #9545 from ton31337/feature/disable-addpath-rx
Mark Stapp [Fri, 3 Sep 2021 15:52:57 +0000 (11:52 -0400)]
Merge pull request #9545 from ton31337/feature/disable-addpath-rx

bgpd: Add disable-addpath-rx knob

2 years agoMerge pull request #9542 from pguibert6WIND/ssh_rpki_source
Donald Sharp [Fri, 3 Sep 2021 14:35:47 +0000 (10:35 -0400)]
Merge pull request #9542 from pguibert6WIND/ssh_rpki_source

bgpd: add rpki source address configuration

2 years agoMerge pull request #9549 from mobash-rasool/ospfv2-bug-fixes-02
Igor Ryzhov [Fri, 3 Sep 2021 14:28:59 +0000 (17:28 +0300)]
Merge pull request #9549 from mobash-rasool/ospfv2-bug-fixes-02

ospfd: Memory Leak seen at show_ip_ospf_neighbor_all_common.

2 years agoMerge pull request #9077 from idryzhov/ospf-memory-alloc
Donald Sharp [Fri, 3 Sep 2021 14:14:44 +0000 (10:14 -0400)]
Merge pull request #9077 from idryzhov/ospf-memory-alloc

ospfd: remove unnecessary memory allocation

2 years agodoc: Add `neighbor PEER disable-addpath-rx` command
Donatas Abraitis [Thu, 2 Sep 2021 20:33:20 +0000 (23:33 +0300)]
doc: Add `neighbor PEER disable-addpath-rx` command

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agotests: Check if `disable-addpath-rx` knob works
Donatas Abraitis [Thu, 2 Sep 2021 19:51:05 +0000 (22:51 +0300)]
tests: Check if `disable-addpath-rx` knob works

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agobgpd: Add `disable-addpath-rx` knob
Donatas Abraitis [Thu, 2 Sep 2021 15:47:57 +0000 (18:47 +0300)]
bgpd: Add `disable-addpath-rx` knob

The idea is to disable addpath-rx capability to avoid unnecessary additional
routes installed.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoospfd: Memory Leak seen at show_ip_ospf_neighbor_all_common.
Mobashshera Rasool [Fri, 3 Sep 2021 11:06:15 +0000 (04:06 -0700)]
ospfd: Memory Leak seen at show_ip_ospf_neighbor_all_common.

Problem Statement:
==================
Memory Leak seen at  show_ip_ospf_neighbor_all_common (ospf_vty.c:4635)

RCA:
=================
In function show_ip_ospf_neighbor_all_common, one child json object is not
 added to the parent child object when there is no nbma neighbor. Hence
 the memory leak.

Fix:
=================
Add the child object to the parent json object.

Fixes: #9548
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoMerge pull request #9538 from donaldsharp/bgp_view_not_working
Igor Ryzhov [Thu, 2 Sep 2021 16:21:47 +0000 (19:21 +0300)]
Merge pull request #9538 from donaldsharp/bgp_view_not_working

Bgp view not working

2 years agobgpd: add rpki source address configuration
Philippe Guibert [Thu, 2 Sep 2021 15:12:06 +0000 (17:12 +0200)]
bgpd: add rpki source address configuration

Add the ability to configure the source address of rpki
connection. Proposed vty command is to add below parameter:

rpki cache <address> source <bindaddr> <port> preference <pref>
rpki cache <address> source <bindaddr> <port> <usernamessh> ...

This works for both tcp and ssh connections. In case the source
address is not available yet, the rpki retry interval will retry
in a defined amount of time.

Rtrlib library is the library in charge of the binding of the
tcp/ssh connection, and applies the getaddrinfo() and bind()
operations to the passed parameter bindaddr to the respective
tcp_config/ssh_config structures.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agobgpd: Add some debug events for when things go wrong
Donald Sharp [Thu, 2 Sep 2021 12:53:19 +0000 (08:53 -0400)]
bgpd: Add some debug events for when things go wrong

As it stands there are cases where FRR is silently handling
error events and not giving any log output to say what is
going wrong.  This should be fixed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agolib: Remove unused function vrf_generate_id
Donald Sharp [Thu, 2 Sep 2021 00:57:49 +0000 (20:57 -0400)]
lib: Remove unused function vrf_generate_id

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agobgpd: fix bgp_get_bound_name to handle views better
Igor Ryzhov [Thu, 2 Sep 2021 12:29:18 +0000 (15:29 +0300)]
bgpd: fix bgp_get_bound_name to handle views better

The vrf socket code needs a interface/vrf name to be passed
in, in order for it to properly bind to the correct vrf.
In the case where bgp is using a view based instance
the bgp_get_bound_name should handle views better and
not return anything to be bound to.

Fixes #9519.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: Do not randomly generate a vrf id for -Z
Donald Sharp [Thu, 2 Sep 2021 00:50:31 +0000 (20:50 -0400)]
bgpd: Do not randomly generate a vrf id for -Z

When FRR added the -Z parameter the bgp daemon was setting
a vrf identifier based upon a number starting at 1.  This
caused issues when we upgraded the code to the outgoing
sockets to use vrf_bind always.

FRR should never just randomly select a vrf identifier.
Let's just use VRF_DEFAULT when we are in a -Z environment.
It's a safe bet.

Fixes: #9519
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #9106 from opensourcerouting/clippy-elf-bsd-cond
Donald Sharp [Thu, 2 Sep 2021 11:31:10 +0000 (07:31 -0400)]
Merge pull request #9106 from opensourcerouting/clippy-elf-bsd-cond

lib/clippy: fix forgotten conditional

2 years agoMerge pull request #9340 from stefreak/patch-1
David Lamparter [Thu, 2 Sep 2021 11:24:44 +0000 (13:24 +0200)]
Merge pull request #9340 from stefreak/patch-1

tools: fix frr pathspace folder permissions

2 years agoMerge pull request #9516 from qlyoung/fix-alpine-docker-images
David Lamparter [Thu, 2 Sep 2021 11:21:43 +0000 (13:21 +0200)]
Merge pull request #9516 from qlyoung/fix-alpine-docker-images

docker: build libyang2 along with FRR

2 years agoMerge pull request #9443 from opensourcerouting/topo-multiview-fix
Donald Sharp [Wed, 1 Sep 2021 22:27:06 +0000 (18:27 -0400)]
Merge pull request #9443 from opensourcerouting/topo-multiview-fix

tests: Make bgp_multiview_topo1 predictable

2 years agoMerge pull request #9469 from ton31337/fix/extcommunity_bandwidth_floating_to_hex
Russ White [Wed, 1 Sep 2021 16:56:45 +0000 (12:56 -0400)]
Merge pull request #9469 from ton31337/fix/extcommunity_bandwidth_floating_to_hex

bgpd: Use IEEE-754 Floating Point for storing extcommunity bandwidth

2 years agoMerge pull request #9439 from ton31337/feature/set_ext_community_to_none
Russ White [Wed, 1 Sep 2021 16:55:45 +0000 (12:55 -0400)]
Merge pull request #9439 from ton31337/feature/set_ext_community_to_none

bgpd: Route-map `set extcommunity none`

2 years agoMerge pull request #9534 from donaldsharp/ospf6_crashes
Igor Ryzhov [Wed, 1 Sep 2021 15:29:32 +0000 (18:29 +0300)]
Merge pull request #9534 from donaldsharp/ospf6_crashes

ospf6d: Prevent crash of show ipv6 ospf data adv-router 0.0.0.0 links…

2 years agoospf6d: Prevent crash of show ipv6 ospf data adv-router 0.0.0.0 linkstate-id 0.0.0.0
Donald Sharp [Wed, 1 Sep 2021 10:30:33 +0000 (06:30 -0400)]
ospf6d: Prevent crash of show ipv6 ospf data adv-router 0.0.0.0 linkstate-id 0.0.0.0

With this sequence of events:
eva# conf
eva(config)# router ospf6
eva(config-ospf6)# end
eva# show ipv6 ospf data adv-router 0.0.0.0 linkstate-id 0.0.0.0
OSPF6: Received signal 11 at 1630442431 (si_addr 0x0, PC 0x559dcfa3a656); aborting...
OSPF6: zlog_signal+0x18c                  7fd2cc8229f7     7fff606775d0 /lib/libfrr.so.0 (mapped at 0x7fd2cc770000)
OSPF6: core_handler+0xe3                  7fd2cc8616ad     7fff606776f0 /lib/libfrr.so.0 (mapped at 0x7fd2cc770000)
OSPF6: funlockfile+0x50                   7fd2cc74f140     7fff60677840 /lib/x86_64-linux-gnu/libpthread.so.0 (mapped at 0x7fd2cc73b000)
OSPF6:     ---- signal ----
OSPF6: ospf6_lsdb_type_show_wrapper+0x5d     559dcfa3a656     7fff60677dd0 /usr/lib/frr/ospf6d (mapped at 0x559dcf9a5000)
OSPF6: show_ipv6_ospf6_database_adv_router_linkstate_id+0x1f9     559dcfa3c24a     7fff60677e50 /usr/lib/frr/ospf6d (mapped at 0x559dcf9a5000)

OSPF6 crashes.  Fix.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #9531 from LabNConsulting/chopps/bgp-fast-reconnect
Donald Sharp [Wed, 1 Sep 2021 11:52:20 +0000 (07:52 -0400)]
Merge pull request #9531 from LabNConsulting/chopps/bgp-fast-reconnect

tests: add global BGP json config for [re]connect timer

2 years agotests: add global BGP json config for [re]connect timer
Christian Hopps [Wed, 1 Sep 2021 07:44:42 +0000 (03:44 -0400)]
tests: add global BGP json config for [re]connect timer

- Fix the syntax.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoMerge pull request #9318 from Prerana-GB/ibgp_knob
Donatas Abraitis [Wed, 1 Sep 2021 07:45:27 +0000 (10:45 +0300)]
Merge pull request #9318 from Prerana-GB/ibgp_knob

bgp: BGP knob for faster convergence of bgp sessions

2 years agoMerge pull request #9530 from ton31337/fix/doc_connect_timers_bgp
Christian Hopps [Wed, 1 Sep 2021 07:41:21 +0000 (03:41 -0400)]
Merge pull request #9530 from ton31337/fix/doc_connect_timers_bgp

doc: Add missing `timers` for connect timer in BGP

2 years agodoc: Add missing `timers` for connect timer in BGP
Donatas Abraitis [Wed, 1 Sep 2021 07:38:10 +0000 (10:38 +0300)]
doc: Add missing `timers` for connect timer in BGP

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #9397 from tkms1122/master
Donatas Abraitis [Wed, 1 Sep 2021 07:33:59 +0000 (10:33 +0300)]
Merge pull request #9397 from tkms1122/master

bgpd: minimum-holdtime knob to prevent session establishment with BGP peer with low holdtime.

2 years agoMerge pull request #9526 from LabNConsulting/chopps/bgp-test-defaults
Donatas Abraitis [Wed, 1 Sep 2021 07:25:51 +0000 (10:25 +0300)]
Merge pull request #9526 from LabNConsulting/chopps/bgp-test-defaults

tests: log bgp nbr changes, and allow config of connect timer

2 years agoMerge pull request #9525 from idryzhov/ospfd-crash
Renato Westphal [Tue, 31 Aug 2021 20:54:25 +0000 (17:54 -0300)]
Merge pull request #9525 from idryzhov/ospfd-crash

ospfd: correctly cleanup spf data

2 years agoMerge pull request #9522 from mobash-rasool/ospfv3-bug-fixes
Igor Ryzhov [Tue, 31 Aug 2021 17:03:37 +0000 (20:03 +0300)]
Merge pull request #9522 from mobash-rasool/ospfv3-bug-fixes

ospfd: add dead-interval 40 if configured in show running

2 years agotests: log bgp nbr changes, and allow config of connect timer
Christian Hopps [Tue, 31 Aug 2021 13:13:23 +0000 (09:13 -0400)]
tests: log bgp nbr changes, and allow config of connect timer

- Allow tests to also change the connect timer as they can for the
keep-alive and holddown timers.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agoospfd: correctly cleanup spf data
Igor Ryzhov [Tue, 31 Aug 2021 10:41:40 +0000 (13:41 +0300)]
ospfd: correctly cleanup spf data

ospf_spf_cleanup frees the data so we need to reset the stale pointers.

Fixes #9523.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #9518 from ton31337/fix/redundand_interface_name_for_peer
Igor Ryzhov [Tue, 31 Aug 2021 09:00:48 +0000 (12:00 +0300)]
Merge pull request #9518 from ton31337/fix/redundand_interface_name_for_peer

bgpd: Drop redundand `WORD` for no_neighbor_interface_cmd

2 years agotests: Test if IEEE floating-point encoding for bw works with older format
Donatas Abraitis [Tue, 31 Aug 2021 07:48:04 +0000 (10:48 +0300)]
tests: Test if IEEE floating-point encoding for bw works with older format

Just check if backward-compatibility works fine between uint32 / IEEE encodings.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoospfd: add dead-interval 40 if configured in show running
Mobashshera Rasool [Tue, 31 Aug 2021 06:02:39 +0000 (23:02 -0700)]
ospfd: add dead-interval 40 if configured in show running

Problem Statement:
==================
When hello-interval is configured as 5, automatically dead interval becomes
4 times of hello i.e 20 seconds. But user wants the dead interval as
40 seconds and hello as 5 seconds. Therefore user configures it.
Now "ip ospf dead-interval 40" is not shown in "show running-config"
Therefore when user restarts the daemon, the dead interval goes back to
20 seconds and the neighbors are down.

Fix:
==================
If user configures dead-interval as 40, show it in show running config.

Fixes: #9401
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoMerge pull request #9502 from idryzhov/cmd-vtysh-cleanup
Russ White [Mon, 30 Aug 2021 19:58:06 +0000 (15:58 -0400)]
Merge pull request #9502 from idryzhov/cmd-vtysh-cleanup

lib, vtysh: make node-processing code more generic

2 years agoalpine: fix path for daemons file install
Quentin Young [Mon, 30 Aug 2021 19:21:59 +0000 (15:21 -0400)]
alpine: fix path for daemons file install

The install statement was putting the daemons file at "/etc/frr" instead
of making a new directory "/etc/frr" and putting it inside there.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2 years agodocker: add expected log functions to alpine docker-start
Quentin Young [Mon, 30 Aug 2021 19:21:32 +0000 (15:21 -0400)]
docker: add expected log functions to alpine docker-start

Some basic functions are required by frrcommon.sh

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2 years agobgpd: Drop redundand `WORD` for no_neighbor_interface_cmd
Donatas Abraitis [Mon, 30 Aug 2021 12:14:28 +0000 (15:14 +0300)]
bgpd: Drop redundand `WORD` for no_neighbor_interface_cmd

Just to be consistent with neighbor_interface_cmd.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agodocker: build libyang2 along with FRR
Quentin Young [Sun, 29 Aug 2021 23:33:34 +0000 (19:33 -0400)]
docker: build libyang2 along with FRR

Alpine images have been broken for some time because libyang2 is not
available in Alpine. This patch updates our Dockerfile to build a
libyang2 APK and install it into the image to satisfy FRR's libyang2
dependency.

Unfortunately, libyang2 erroneously includes an internal header from
glibc, making it dependent on glibc to build. FRR's official Docker
images are based on Alpine, which only offers musl libc. Until libyang2
fixes this problem, the libyang2 source that is installed in this image
is a patched version that is compatible with musl libc and not an
official version.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2 years agoMerge pull request #8964 from LabNConsulting/chopps/config-faster
Mark Stapp [Mon, 30 Aug 2021 12:56:43 +0000 (08:56 -0400)]
Merge pull request #8964 from LabNConsulting/chopps/config-faster

tests: configure/reset routers in parallel

2 years agobgpd: Add `neighbor PEER link-bw-encoding-ieee`
Donatas Abraitis [Sun, 29 Aug 2021 18:54:13 +0000 (21:54 +0300)]
bgpd: Add `neighbor PEER link-bw-encoding-ieee`

This is to avoid breaking changes between existing deployments of
extended community for bandwidth encoding. By default FRR uses uint32
to encode bandwidth, which is not as the draft requires (IEEE floating-point).

This switch enables the required encoding per-peer.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agodoc: Add `neighbor PEER link-bw-encoding-ieee`
Donatas Abraitis [Sun, 29 Aug 2021 18:16:51 +0000 (21:16 +0300)]
doc: Add `neighbor PEER link-bw-encoding-ieee`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #9484 from anlancs/fix-doc-bgp-desc
Quentin Young [Mon, 30 Aug 2021 03:04:31 +0000 (23:04 -0400)]
Merge pull request #9484 from anlancs/fix-doc-bgp-desc

doc: add a missing field for bgp summary's display

2 years agoMerge pull request #9511 from LabNConsulting/chopps/ospf-asbr-test-fix
Quentin Young [Mon, 30 Aug 2021 02:54:49 +0000 (22:54 -0400)]
Merge pull request #9511 from LabNConsulting/chopps/ospf-asbr-test-fix

tests: fix ospf ASBR summary test

2 years agodoc: add a missing field for bgp summary's display
anlan_cs [Wed, 25 Aug 2021 02:11:59 +0000 (22:11 -0400)]
doc: add a missing field for bgp summary's display

Signed-off-by: anlan_cs <anlan_cs@tom.com>
2 years agobgpd: Use IEEE-754 Floating Point for storing extcommunity bandwidth
Donatas Abraitis [Tue, 24 Aug 2021 07:58:20 +0000 (10:58 +0300)]
bgpd: Use IEEE-754 Floating Point for storing extcommunity bandwidth

https://datatracker.ietf.org/doc/html/draft-ietf-idr-link-bandwidth-07 says:

The bandwidth of the link is expressed as 4
   octets in IEEE floating point format, units being bytes (not bits!)
   per second.  It is carried in the Local Administrator subfield of the
   Value Field.

Before:

```
  Extended Community (16), length: 8, Flags [OT]:
    unknown extd community typecode (0x0004), Flags [none]
      0x0000:  0004 fdeb 0001 e848
    0x0000:  0004 fdeb 0001 e848
  Updated routes:
    172.16.16.1/32
```

0001 e848 - means 125000 (1Mbps), which is encoded incorrect.

After:

```
  Extended Community (16), length: 8, Flags [OT]:
    unknown extd community typecode (0x0004), Flags [none]
      0x0000:  0004 fdeb 47f4 2400
    0x0000:  0004 fdeb 47f4 2400
  Updated routes:
    172.16.16.1/32
```

47f4 2400 - means the same, but in floating point format.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #9503 from opensourcerouting/ospf6d-redistribute-metrics
Russ White [Sat, 28 Aug 2021 13:20:44 +0000 (09:20 -0400)]
Merge pull request #9503 from opensourcerouting/ospf6d-redistribute-metrics

ospf6d: extend the "redistribute" command with more options

2 years agolib/clippy: fix forgotten conditional
David Lamparter [Wed, 21 Jul 2021 14:34:35 +0000 (16:34 +0200)]
lib/clippy: fix forgotten conditional

This fixes some spurious warnings on *BSD, where `elffile_add_dynreloc`
isn't used since `elf_getdata_rawchunk` is not available.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 years agoMerge pull request #9509 from LabNConsulting/chopps/dirlocals
Jafar Al-Gharaibeh [Fri, 27 Aug 2021 23:30:42 +0000 (18:30 -0500)]
Merge pull request #9509 from LabNConsulting/chopps/dirlocals

tests: Update dir-locals

2 years agoMerge pull request #9499 from gsol10/bogus_lsp
Russ White [Fri, 27 Aug 2021 23:04:29 +0000 (19:04 -0400)]
Merge pull request #9499 from gsol10/bogus_lsp

isisd: Fix sending of LSP with null seqno

2 years agoMerge pull request #9488 from pguibert6WIND/fix_nhrp_neigh_state
Russ White [Fri, 27 Aug 2021 23:00:45 +0000 (19:00 -0400)]
Merge pull request #9488 from pguibert6WIND/fix_nhrp_neigh_state

Fix nhrp neigh state

2 years agoMerge pull request #9504 from donaldsharp/cbit_is_needed
Russ White [Fri, 27 Aug 2021 22:52:03 +0000 (18:52 -0400)]
Merge pull request #9504 from donaldsharp/cbit_is_needed

lib: Send c-bit when not using bfdd as daemon of choice

2 years agoMerge pull request #9473 from ton31337/fix/BGP_STR_unified
Sri Mohana Singamsetty [Fri, 27 Aug 2021 20:28:57 +0000 (13:28 -0700)]
Merge pull request #9473 from ton31337/fix/BGP_STR_unified

bgpd: Use BGP_STR for CLI definitions everywhere for BGP CLI

2 years agotests: fix ospf ASBR summary test
Christian Hopps [Fri, 27 Aug 2021 18:46:20 +0000 (14:46 -0400)]
tests: fix ospf ASBR summary test

Previously the check did nothing as the input_dict parameter was wrong.

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agotests: Update dir-locals
Christian Hopps [Wed, 14 Jul 2021 08:37:59 +0000 (08:37 +0000)]
tests: Update dir-locals

- format with black in emacs
- wrap text at 88 (black)

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agolib: Send c-bit when not using bfdd as daemon of choice
Donald Sharp [Fri, 27 Aug 2021 13:32:27 +0000 (09:32 -0400)]
lib: Send c-bit when not using bfdd as daemon of choice

Commit: 4b983eef2cb5c7306a8303f002d0e053ebeabdca

Modified the zapi send receive of the c-bit to only
be under the HAVE_BFDD.  If you are using ptm-bfd
then the decoder function still expects this to be
sent down.  This commit puts this behavior back

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #9480 from SaiGomathiN/pim-coverity
David Lamparter [Fri, 27 Aug 2021 08:53:35 +0000 (10:53 +0200)]
Merge pull request #9480 from SaiGomathiN/pim-coverity

pimd: Fixing coverity issues

2 years agoMerge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg
David Lamparter [Fri, 27 Aug 2021 08:39:45 +0000 (10:39 +0200)]
Merge pull request #9496 from idryzhov/vrf-cmd-init-unused-arg

lib: remove unused argument from vrf_cmd_init

2 years agotests: configure routers in parallel
Christian Hopps [Wed, 30 Jun 2021 15:43:42 +0000 (15:43 +0000)]
tests: configure routers in parallel

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agotests: improve bgp test determinism by resetting configs
Christian Hopps [Fri, 27 Aug 2021 00:47:46 +0000 (20:47 -0400)]
tests: improve bgp test determinism by resetting configs

Signed-off-by: Christian Hopps <chopps@labn.net>
2 years agovtysh: make node walkup code more generic
Igor Ryzhov [Wed, 18 Aug 2021 10:51:39 +0000 (13:51 +0300)]
vtysh: make node walkup code more generic

No need to have special processing for every single node. Just always
use "exit" the necessary number of times - it works for all nodes.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #9500 from tomaxuser/master
Quentin Young [Thu, 26 Aug 2021 18:43:57 +0000 (14:43 -0400)]
Merge pull request #9500 from tomaxuser/master

doc: Basic spellchecking of bgp.rst

2 years agoospf6d: extend the "redistribute" command with more options
Renato Westphal [Thu, 26 Aug 2021 16:10:41 +0000 (13:10 -0300)]
ospf6d: extend the "redistribute" command with more options

Add the "metric" and "metric-type" options to the "redistribute"
command.

This is a small commit since the logic of setting the metric
value and type of external routes was already present due to the
implementation of the "default-information originate" command months
ago. This commit merely extends the "redistribute" command to
leverage that functionality.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2 years agolib: make node_parent more generic
Igor Ryzhov [Wed, 18 Aug 2021 10:14:27 +0000 (13:14 +0300)]
lib: make node_parent more generic

Instead of adding a separate case clause for every node, just find the
node structure in the global list and get its parent node from there.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoMerge pull request #9331 from idryzhov/explicit-exit
Christian Hopps [Thu, 26 Aug 2021 15:57:33 +0000 (11:57 -0400)]
Merge pull request #9331 from idryzhov/explicit-exit

*: explicitly print "exit" at the end of every node config

2 years agoMerge pull request #9492 from Jafaral/pim-cov
Donald Sharp [Thu, 26 Aug 2021 15:06:15 +0000 (11:06 -0400)]
Merge pull request #9492 from Jafaral/pim-cov

pimd: fix coverity/dead-code issue

2 years agoMerge pull request #9498 from idryzhov/fix-bgp-update-source
Donald Sharp [Thu, 26 Aug 2021 13:41:18 +0000 (09:41 -0400)]
Merge pull request #9498 from idryzhov/fix-bgp-update-source

bgpd: fix update-source for ipv6

2 years agodoc: Basic spellchecking of bgp.rst
Tomáš Szaniszlo [Thu, 26 Aug 2021 12:58:35 +0000 (14:58 +0200)]
doc: Basic spellchecking of bgp.rst

Signed-off-by: Tomáš Szaniszlo <tomaxuser@gmail.com>
2 years agobgpd: fix update-source for ipv6
Igor Ryzhov [Thu, 26 Aug 2021 10:07:55 +0000 (13:07 +0300)]
bgpd: fix update-source for ipv6

There's no IPv6 LL address on loopback/vrf interfaces. So if the user
configures update-source, the session is never going to be established.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agoisisd: Fix sending of LSP with null seqno
Guillaume Solignac [Thu, 27 May 2021 07:34:37 +0000 (09:34 +0200)]
isisd: Fix sending of LSP with null seqno

Check sequence number when building LSP missing in received CSNP

Signed-off-by: Guillaume Solignac <gsoligna@protonmail.com>
2 years agolib: remove unused argument from vrf_cmd_init
Igor Ryzhov [Wed, 25 Aug 2021 16:29:42 +0000 (19:29 +0300)]
lib: remove unused argument from vrf_cmd_init

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agolib, zebra: complete the ndm flags on zclient api
Philippe Guibert [Wed, 25 Aug 2021 09:46:42 +0000 (11:46 +0200)]
lib, zebra: complete the ndm flags on zclient api

Insist on the fact that zclient neighbor state flags are
mapped over netlink state flags. List all the defines
currently known on kernel, and create a netlink API to
convert netlink values to zclient values. The function is
simplified as it is a 1-1 match.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agonhrp, zebra, lib: pass exact received neighbor state value to nhrp
Philippe Guibert [Wed, 25 Aug 2021 09:40:41 +0000 (11:40 +0200)]
nhrp, zebra, lib: pass exact received neighbor state value to nhrp

As NHRP expects some notification of neighboring entries on GRE
interface, when a new interface notification is encountered, the
exact neighbor state flag is found. Previously, the flag passed
to the upper layer was forced to NDM_STATE which is REACHABLE,
as can be seen on below trace:

2021/08/25 10:58:39 NHRP: [QQ0NK-1H449] Netlink: new-neigh 102.1.1.1 dev gre1 lladdr 10.125.0.2 nud 0x2 cache used 1 type 5

When passing the real value, NHRP received an other value like STALE.

2021/08/25 11:28:44 NHRP: [QQ0NK-1H449] Netlink: new-neigh 102.1.1.1 dev gre1 lladdr 10.125.0.2 nud 0x4 cache used 0 type 5

This flag is important for NHRP, as it permits to monitor the link
layer of NHRP entries.

Fixes: d603c0774eba ("nhrp, zebra, lib: enforce usage of zapi_neigh_ip structure")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agoMerge pull request #9466 from idryzhov/vrf-netns
Donatas Abraitis [Thu, 26 Aug 2021 04:46:19 +0000 (07:46 +0300)]
Merge pull request #9466 from idryzhov/vrf-netns

lib, zebra: move vrf netns commands from lib to zebra

2 years agoMerge pull request #9467 from gpnaveen/bgp_v4overv6
Russ White [Wed, 25 Aug 2021 21:14:10 +0000 (17:14 -0400)]
Merge pull request #9467 from gpnaveen/bgp_v4overv6

tests: adding 11 bgp v4 over v6 test cases.

2 years agoMerge pull request #9490 from pguibert6WIND/fix_ipv6_seg6
Igor Ryzhov [Wed, 25 Aug 2021 20:43:43 +0000 (23:43 +0300)]
Merge pull request #9490 from pguibert6WIND/fix_ipv6_seg6

bgpd: fix uninitialised segs6 buffer

2 years agopimd: fix coverity/dead-code issue
Jafar Al-Gharaibeh [Wed, 25 Aug 2021 16:20:22 +0000 (11:20 -0500)]
pimd: fix coverity/dead-code issue

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2 years agobgpd: fix uninitialised segs6 buffer
Philippe Guibert [Wed, 25 Aug 2021 14:56:25 +0000 (16:56 +0200)]
bgpd: fix uninitialised segs6 buffer

Below dump may be observed when receiving bgp ipv6 updates.

2021/08/25 16:52:32 BGP: [V15FP-4CPVK] Tx route add VRF 0 4004::1/128 metric 0 tag 0 count 1 nhg 0
2021/08/25 16:52:32 BGP: [JQXM8-V0CKB]   nhop [1]: 2003::4 if 0 VRF 0 wt 0  P8�o�

Fix it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agoMerge pull request #9487 from ton31337/fix/no_need_for_break_after_frr_help_exit
Mark Stapp [Wed, 25 Aug 2021 12:41:52 +0000 (08:41 -0400)]
Merge pull request #9487 from ton31337/fix/no_need_for_break_after_frr_help_exit

*: Drop `break` after using frr_help_exit() in switch/case

2 years ago*: Drop `break` after using frr_help_exit() in switch/case
Donatas Abraitis [Wed, 25 Aug 2021 07:47:52 +0000 (10:47 +0300)]
*: Drop `break` after using frr_help_exit() in switch/case

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #9474 from idryzhov/lib-bgp-dependency
Donatas Abraitis [Wed, 25 Aug 2021 07:39:29 +0000 (10:39 +0300)]
Merge pull request #9474 from idryzhov/lib-bgp-dependency

lib: remove the dependency on bgpd code

2 years agoMerge pull request #9435 from SaiGomathiN/sai-igmp
Jafar Al-Gharaibeh [Tue, 24 Aug 2021 21:15:39 +0000 (16:15 -0500)]
Merge pull request #9435 from SaiGomathiN/sai-igmp

pimd: IGMP groups are not getting timeout

2 years agoMerge pull request #9414 from mobash-rasool/pim-upst-4
Jafar Al-Gharaibeh [Tue, 24 Aug 2021 21:11:57 +0000 (16:11 -0500)]
Merge pull request #9414 from mobash-rasool/pim-upst-4

pimd: IGMPv2 query timer gets delayed in a scenario

2 years agoMerge pull request #9449 from opensourcerouting/ospf6d-nssa-fixes
Igor Ryzhov [Tue, 24 Aug 2021 19:34:29 +0000 (22:34 +0300)]
Merge pull request #9449 from opensourcerouting/ospf6d-nssa-fixes

ospf6d: NSSA fixes

2 years agoMerge pull request #9457 from anlancs/ospf6-void
Mark Stapp [Tue, 24 Aug 2021 19:30:45 +0000 (15:30 -0400)]
Merge pull request #9457 from anlancs/ospf6-void

ospf6d: suppress coverity warning of return value

2 years agopimd: Fixing coverity issues
Sai Gomathi [Tue, 24 Aug 2021 17:40:03 +0000 (10:40 -0700)]
pimd: Fixing coverity issues

Problem
======
In pim_msg_send_frame api, the while loop was executed only once.

Fix
===
while is changed to if, as in the code flow
the while part is getting executed only once.

Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2 years agopimd: Fixing coverity issues
Sai Gomathi [Tue, 24 Aug 2021 17:36:45 +0000 (10:36 -0700)]
pimd: Fixing coverity issues

Signed-off-by: Sai Gomathi <nsaigomathi@vmware.com>
2 years agoMerge pull request #9458 from anlancs/fix-ospf6-null
Mark Stapp [Tue, 24 Aug 2021 16:12:05 +0000 (12:12 -0400)]
Merge pull request #9458 from anlancs/fix-ospf6-null

ospf6d: fix lock leak of using ALL_LSDB in GR helper

2 years agoospf6d: further validate NSSA ASBR routes used for route computation
Renato Westphal [Mon, 23 Aug 2021 21:22:20 +0000 (18:22 -0300)]
ospf6d: further validate NSSA ASBR routes used for route computation

Add missing sanity check specified in the NSSA RFC.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2 years agotests: enable more debugs in the ospf6_topo2 topotest
Renato Westphal [Sat, 21 Aug 2021 21:45:22 +0000 (18:45 -0300)]
tests: enable more debugs in the ospf6_topo2 topotest

Enable more debugs to facilitate troubleshooting whenever a problem
happens.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2 years agoospf6d: do not allow an area to be stub and NSSA at the same time
Renato Westphal [Thu, 19 Aug 2021 15:14:47 +0000 (12:14 -0300)]
ospf6d: do not allow an area to be stub and NSSA at the same time

That should not be allowed under any circumstance.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2 years agoospf6d: fix logging of border router routes
Renato Westphal [Thu, 19 Aug 2021 02:07:10 +0000 (23:07 -0300)]
ospf6d: fix logging of border router routes

The prefix of routes to border routers consists of two pieces of
information embedded in a single struct (prefix.u.lp):

  struct prefix {
          uint8_t family;
          uint16_t prefixlen;
          union {
   [snip]
                  struct {
                          struct in_addr id;
                          struct in_addr adv_router;
                  } lp;
          } u __attribute__((aligned(8)));
  };

As such, using prefix2str() (or the %pFX format specifier) isn't
correct when logging such routes.

This commit adds a few special cases here and there to handle
OSPF6_DEST_TYPE_ROUTER routes differently. It'd probably be a good
idea to add a helper function to handle all cases in a single place,
but that can be left for a second moment.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2 years agoMerge pull request #7876 from gpnaveen/ospf_gr_helper_using_scapy
Renato Westphal [Tue, 24 Aug 2021 14:42:49 +0000 (11:42 -0300)]
Merge pull request #7876 from gpnaveen/ospf_gr_helper_using_scapy

tests: ospf gr helper topotests with scapy.

2 years agolib: remove the dependency on bgpd code
Igor Ryzhov [Tue, 24 Aug 2021 14:42:37 +0000 (17:42 +0300)]
lib: remove the dependency on bgpd code

The library code should not depend on a specific daemon's code.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2 years agobgpd: Use BGP_STR for CLI definitions everywhere for BGP CLI
Donatas Abraitis [Tue, 24 Aug 2021 14:37:26 +0000 (17:37 +0300)]
bgpd: Use BGP_STR for CLI definitions everywhere for BGP CLI

Just have some cleanup.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2 years agoMerge pull request #9310 from mobash-rasool/ospfv2-bug-fixes-02
Russ White [Tue, 24 Aug 2021 13:40:59 +0000 (09:40 -0400)]
Merge pull request #9310 from mobash-rasool/ospfv2-bug-fixes-02

ospfd: NSSA area should not exchange Type-4 LSAs in DD

2 years agoMerge pull request #8729 from gpnaveen/ospf_route_maps
Russ White [Tue, 24 Aug 2021 13:13:57 +0000 (09:13 -0400)]
Merge pull request #8729 from gpnaveen/ospf_route_maps

tests: ospf routemap basic test cases 2.