]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
3 years agoMerge pull request #9569 from LabNConsulting/chopps/parallel-config-nonjson
Donald Sharp [Mon, 6 Sep 2021 22:20:57 +0000 (18:20 -0400)]
Merge pull request #9569 from LabNConsulting/chopps/parallel-config-nonjson

tests: refactor parallel reset/load config for non-json

3 years agoMerge pull request #9563 from opensourcerouting/build-strict-prototypes
Donald Sharp [Mon, 6 Sep 2021 16:28:33 +0000 (12:28 -0400)]
Merge pull request #9563 from opensourcerouting/build-strict-prototypes

build: `-Wstrict-prototypes` (+ BSD `sed`)

3 years agotests: refactor parallel reset/load config for non-json 9569/head
Christian Hopps [Sun, 5 Sep 2021 22:59:26 +0000 (18:59 -0400)]
tests: refactor parallel reset/load config for non-json

Refactor the bgp_auth test to create common_config code to allow
non-json based tests to reset routers and load configs in parallel.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #9550 from donaldsharp/better_fails
Donatas Abraitis [Mon, 6 Sep 2021 09:42:15 +0000 (12:42 +0300)]
Merge pull request #9550 from donaldsharp/better_fails

bgpd: Add `PEER_DOWN_SOCKET_ERROR` to the list of peer failure modes

3 years agoMerge pull request #9561 from idryzhov/bgp-no-router-vrf-default
Donatas Abraitis [Mon, 6 Sep 2021 09:41:20 +0000 (12:41 +0300)]
Merge pull request #9561 from idryzhov/bgp-no-router-vrf-default

bgpd: fix "no router bgp X vrf default"

3 years agoMerge pull request #9564 from qlyoung/debian-update-proto-list
Donatas Abraitis [Mon, 6 Sep 2021 09:37:31 +0000 (12:37 +0300)]
Merge pull request #9564 from qlyoung/debian-update-proto-list

debian: update list of protos in pkg desc

3 years agoMerge pull request #9521 from opensourcerouting/ospf6d-gr-fixes
Igor Ryzhov [Mon, 6 Sep 2021 09:36:54 +0000 (12:36 +0300)]
Merge pull request #9521 from opensourcerouting/ospf6d-gr-fixes

ospf6d: minor GR fixes

3 years agoMerge pull request #9547 from ton31337/fix/addpath_non_json_broken
Igor Ryzhov [Mon, 6 Sep 2021 09:33:01 +0000 (12:33 +0300)]
Merge pull request #9547 from ton31337/fix/addpath_non_json_broken

bgpd: Drop afi/safi duplicate string notation for AddPath capability

3 years agoMerge pull request #9567 from LabNConsulting/chopps/bgp-auth-speedup
Donald Sharp [Sun, 5 Sep 2021 14:09:34 +0000 (10:09 -0400)]
Merge pull request #9567 from LabNConsulting/chopps/bgp-auth-speedup

tests: speed up bgp_auth test (24m -> 12m)

3 years agotests: speed up bgp_auth test (24m -> 12m) 9567/head
Christian Hopps [Sun, 5 Sep 2021 09:41:04 +0000 (05:41 -0400)]
tests: speed up bgp_auth test (24m -> 12m)

- Reduce OSPF timers to 1 and 4
- Reduce BGP connect timer to 5
- Apply configs in parallel as single file
- Remove the switches as all links are p2p, perhaps this will help with
  reliability?

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agodebian: update list of protos in pkg desc 9564/head
Quentin Young [Sat, 4 Sep 2021 16:53:23 +0000 (12:53 -0400)]
debian: update list of protos in pkg desc

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agoMerge pull request #9199 from LabNConsulting/chopps/micronet-prime
Quentin Young [Sat, 4 Sep 2021 16:20:00 +0000 (12:20 -0400)]
Merge pull request #9199 from LabNConsulting/chopps/micronet-prime

3 years agotests: cleanup: rerun changed files through black 9199/head
Christian Hopps [Fri, 3 Sep 2021 12:47:30 +0000 (08:47 -0400)]
tests: cleanup: rerun changed files through black

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: cleanup - remove unused imports
Christian Hopps [Fri, 3 Sep 2021 12:43:32 +0000 (08:43 -0400)]
tests: cleanup - remove unused imports

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: Disable test which fails under micronet
Christian Hopps [Thu, 2 Sep 2021 20:05:09 +0000 (16:05 -0400)]
tests: Disable test which fails under micronet

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: use common exa-receive.py script
Christian Hopps [Sun, 22 Aug 2021 06:28:24 +0000 (02:28 -0400)]
tests: use common exa-receive.py script

New generic script uses a new default node specific log dir to avoid
collisions when running in parallel.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: add generic exa-receive.py script
Christian Hopps [Sun, 22 Aug 2021 06:24:58 +0000 (02:24 -0400)]
tests: add generic exa-receive.py script

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: Make bgp_multiview_topo1 predictable
Martin Winter [Wed, 18 Aug 2021 22:01:04 +0000 (00:01 +0200)]
tests: Make bgp_multiview_topo1 predictable

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
3 years agotests: remove unneeded mcast group kernel routes and sysctl
Christian Hopps [Wed, 18 Aug 2021 17:03:42 +0000 (13:03 -0400)]
tests: remove unneeded mcast group kernel routes and sysctl

- The PIM tests do not need kernel routes to help them bind joins and
sources to specific interfaces. They should do that themselves directly.
Also do not change system wide "rp_filter" sysctl away from the value
required by everyone else.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: add back a 10 second delay to see if this fixes the failures
Christian Hopps [Fri, 6 Aug 2021 08:40:39 +0000 (04:40 -0400)]
tests: add back a 10 second delay to see if this fixes the failures

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotools: move frr-reload.py to python3 explicitly
Christian Hopps [Wed, 4 Aug 2021 19:58:28 +0000 (15:58 -0400)]
tools: move frr-reload.py to python3 explicitly

We already, reasonably, require python3 elsewhere. Do so here, and reap some
benefit.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: keep revisions of configs
Christian Hopps [Sun, 1 Aug 2021 10:36:09 +0000 (10:36 +0000)]
tests: keep revisions of configs

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: use new helper object for mcast-tester and iperf
Christian Hopps [Fri, 30 Jul 2021 14:46:11 +0000 (14:46 +0000)]
tests: use new helper object for mcast-tester and iperf

- Decrease igmp query interval to fix pim test run times

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: add helper object for mcast-tester and iperf tool.
Christian Hopps [Fri, 30 Jul 2021 14:45:56 +0000 (14:45 +0000)]
tests: add helper object for mcast-tester and iperf tool.

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: remove legacy Topo class from micronet
Christian Hopps [Tue, 10 Aug 2021 09:36:21 +0000 (05:36 -0400)]
tests: remove legacy Topo class from micronet

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: remove legacy Topo class from infra
Christian Hopps [Tue, 10 Aug 2021 09:36:46 +0000 (05:36 -0400)]
tests: remove legacy Topo class from infra

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: remove legacy Topo class (fixes many pylint errors)
Christian Hopps [Thu, 29 Jul 2021 09:38:55 +0000 (09:38 +0000)]
tests: remove legacy Topo class (fixes many pylint errors)

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: fix pylint test errors
Christian Hopps [Thu, 29 Jul 2021 11:07:01 +0000 (11:07 +0000)]
tests: fix pylint test errors

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: fix pylint infra errors
Christian Hopps [Wed, 21 Jul 2021 13:33:50 +0000 (13:33 +0000)]
tests: fix pylint infra errors

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agodocker: update with micronet changes
Christian Hopps [Fri, 6 Aug 2021 08:04:58 +0000 (04:04 -0400)]
docker: update with micronet changes

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agodoc: minor update based on mininet removal
Christian Hopps [Sun, 18 Jul 2021 15:59:40 +0000 (15:59 +0000)]
doc: minor update based on mininet removal

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: micronet: update defaults for results+logging
Christian Hopps [Tue, 20 Jul 2021 14:06:19 +0000 (14:06 +0000)]
tests: micronet: update defaults for results+logging

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: micronet: adapt tests
Christian Hopps [Fri, 27 Aug 2021 18:28:29 +0000 (14:28 -0400)]
tests: micronet: adapt tests

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: micronet: update infra
Christian Hopps [Mon, 26 Jul 2021 23:23:20 +0000 (23:23 +0000)]
tests: micronet: update infra

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: NEW micronet replacement for mininet
Christian Hopps [Wed, 14 Jul 2021 20:51:15 +0000 (20:51 +0000)]
tests: NEW micronet replacement for mininet

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agoMerge pull request #9541 from donaldsharp/evpn_cleanup
David Lamparter [Sat, 4 Sep 2021 10:08:38 +0000 (12:08 +0200)]
Merge pull request #9541 from donaldsharp/evpn_cleanup

typedef cleanup to proper usage of `enum X` or `struct X`

3 years agotests: improve vxlan test determinism
Christian Hopps [Sun, 18 Jul 2021 18:03:53 +0000 (18:03 +0000)]
tests: improve vxlan test determinism

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agotests: summarize XML test results
Christian Hopps [Sun, 18 Jul 2021 16:03:44 +0000 (16:03 +0000)]
tests: summarize XML test results

Signed-off-by: Christian Hopps <chopps@labn.net>
3 years agobgpd: fix "no router bgp X vrf default" 9561/head
Igor Ryzhov [Fri, 3 Sep 2021 16:39:53 +0000 (19:39 +0300)]
bgpd: fix "no router bgp X vrf default"

Currently, "vrf default" modifier is not processed correctly and we get
the `% Can't find BGP instance` error.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
3 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

3 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

3 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.

3 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

3 years agodoc: Add `neighbor PEER disable-addpath-rx` command 9545/head
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>
3 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>
3 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>
3 years agobgpd: Add `PEER_DOWN_SOCKET_ERROR` to the list of peer failure modes 9550/head
Donald Sharp [Fri, 3 Sep 2021 11:56:35 +0000 (07:56 -0400)]
bgpd: Add `PEER_DOWN_SOCKET_ERROR` to the list of peer failure modes

BGP can experience a bunch of errors associated with sockets
being manipulated which would prevent the peer from coming up.
Let's add some additional debug information here so that
our operators can do a bit more for themselves.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoospfd: Memory Leak seen at show_ip_ospf_neighbor_all_common. 9549/head
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>
3 years agobgpd: Drop afi/safi duplicate string notation for AddPath capability 9547/head
Donatas Abraitis [Fri, 3 Sep 2021 10:59:58 +0000 (13:59 +0300)]
bgpd: Drop afi/safi duplicate string notation for AddPath capability

Before:

```
    AddPath:
      IPv4 Unicast: TX advertised IPv4 Unicast and received
      IPv4 Unicast: RX advertised IPv4 Unicast and received
      IPv6 Unicast: TX advertised IPv6 Unicast
      IPv6 Unicast: RX advertised IPv6 Unicast
```

After:

```
    AddPath:
      IPv4 Unicast: TX advertised and received
      IPv4 Unicast: RX advertised and received
      IPv6 Unicast: TX advertised
      IPv6 Unicast: RX advertised
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 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

3 years agobgpd: add rpki source address configuration 9542/head
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>
3 years agozebra: Convert to `enum zebra_slave_iftype` as per our internal standard 9541/head
Donald Sharp [Mon, 30 Aug 2021 17:27:02 +0000 (13:27 -0400)]
zebra: Convert to `enum zebra_slave_iftype` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `enum zebra_iftype` as per our internal standard
Donald Sharp [Mon, 30 Aug 2021 17:24:26 +0000 (13:24 -0400)]
zebra: Convert to `enum zebra_iftype` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_fec` as per our internal standard
Donald Sharp [Mon, 30 Aug 2021 17:20:04 +0000 (13:20 -0400)]
zebra: Convert to `struct zebra_fec` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_lsp` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 13:14:03 +0000 (09:14 -0400)]
zebra: Convert to `struct zebra_lsp` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_nhlfe` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 13:08:25 +0000 (09:08 -0400)]
zebra: Convert to `struct zebra_nhlfe` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_ile` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 13:04:05 +0000 (09:04 -0400)]
zebra: Convert to `struct zebra_ile` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_neigh` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 13:01:26 +0000 (09:01 -0400)]
zebra: Convert to `struct zebra_neigh` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_l3nvi` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 12:58:24 +0000 (08:58 -0400)]
zebra: Convert to `struct zebra_l3nvi` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_vxlan_sg` as per our internal standard
Donald Sharp [Fri, 20 Aug 2021 12:53:44 +0000 (08:53 -0400)]
zebra: Convert to `struct zebra_vxlan_sg` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_mac` as per our internal standard
Donald Sharp [Thu, 19 Aug 2021 20:33:53 +0000 (16:33 -0400)]
zebra: Convert to `struct zebra_mac` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_vtep` as per our internal standard
Donald Sharp [Thu, 19 Aug 2021 20:13:39 +0000 (16:13 -0400)]
zebra: Convert to `struct zebra_vtep` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Convert to `struct zebra_evpn` as per our internal standard
Donald Sharp [Thu, 19 Aug 2021 20:08:53 +0000 (16:08 -0400)]
zebra: Convert to `struct zebra_evpn` as per our internal standard

We do not use typedef's to talk about structures as per our standard.
Fixing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: Add some debug events for when things go wrong 9538/head
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>
3 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>
3 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>
3 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>
3 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

3 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

3 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

3 years agobuild: make `sed` calls portable 9563/head
David Lamparter [Thu, 2 Sep 2021 10:19:59 +0000 (12:19 +0200)]
build: make `sed` calls portable

The `-i` option on sed isn't standard, and e.g. FreeBSD sed behaves
different regarding the parameter.  Avoid it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agodoc/developer: add warning pointers
David Lamparter [Wed, 1 Sep 2021 15:13:09 +0000 (17:13 +0200)]
doc/developer: add warning pointers

These two warnings are easy to get confused by, note down some pointers
on what they actually mean.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agobuild: enable `-Wstrict-prototypes`
David Lamparter [Wed, 1 Sep 2021 15:12:15 +0000 (17:12 +0200)]
build: enable `-Wstrict-prototypes`

All fixed up, so we can enable this now.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agobuild: ignore prototype warnings from readline
David Lamparter [Thu, 2 Sep 2021 10:20:56 +0000 (12:20 +0200)]
build: ignore prototype warnings from readline

Readline contains some truly ancient cruft.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years ago*: fix for -Wstrict-prototypes
David Lamparter [Tue, 31 Aug 2021 21:16:57 +0000 (23:16 +0200)]
*: fix for -Wstrict-prototypes

Just some "void" missing between empty braces.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agopceplib: fix for -Wstrict-prototypes
David Lamparter [Tue, 31 Aug 2021 21:17:15 +0000 (23:17 +0200)]
pceplib: fix for -Wstrict-prototypes

Just some "void" missing between empty braces.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agolib: fix hook defs for -Wstrict-prototypes
David Lamparter [Tue, 31 Aug 2021 21:14:10 +0000 (23:14 +0200)]
lib: fix hook defs for -Wstrict-prototypes

Without this, the hook code creates functions with empty parameter lists
like "void hook_something()", which is not a proper C prototype.  It
needs to be "void hook_something(void)".  Add some macro shenanigans to
handle that.

... and make the plumbing functions "inline" too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 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

3 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

3 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`

3 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…

3 years agoospf6d: Prevent crash of show ipv6 ospf data adv-router 0.0.0.0 linkstate-id 0.0.0.0 9534/head
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>
3 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

3 years agotests: add global BGP json config for [re]connect timer 9531/head
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>
3 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

3 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

3 years agodoc: Add missing `timers` for connect timer in BGP 9530/head
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>
3 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.

3 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

3 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

3 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

3 years agotests: log bgp nbr changes, and allow config of connect timer 9526/head
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>
3 years agoospfd: correctly cleanup spf data 9525/head
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>
3 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

3 years agotests: Test if IEEE floating-point encoding for bw works with older format 9469/head
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>
3 years agoospfd: add dead-interval 40 if configured in show running 9522/head
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>
3 years agoospf6d: fix display of debug command in the running configuration 9521/head
Renato Westphal [Tue, 31 Aug 2021 03:50:55 +0000 (00:50 -0300)]
ospf6d: fix display of debug command in the running configuration

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
3 years agoospf6d: fix unguarded GR debug message
Renato Westphal [Tue, 31 Aug 2021 03:48:38 +0000 (00:48 -0300)]
ospf6d: fix unguarded GR debug message

The message about ignoring a one-way hello should only be logged
when the router is acting a helper for another one.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
3 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

3 years agoalpine: fix path for daemons file install 9516/head
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>