]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
2 years agoMerge pull request #9533 from mobash-rasool/ospfv3-bug-fixes
Russ White [Tue, 7 Sep 2021 14:59:33 +0000 (10:59 -0400)]
Merge pull request #9533 from mobash-rasool/ospfv3-bug-fixes

ospfd: ASBR Summary LSA is not originated when process is reset

2 years agoMerge pull request #9539 from ton31337/fix/floating_point_cli
Russ White [Tue, 7 Sep 2021 14:57:24 +0000 (10:57 -0400)]
Merge pull request #9539 from ton31337/fix/floating_point_cli

bgpd: Replace `Enable` to `Disable` for floating-point bw encoding CLI

2 years agoMerge pull request #9551 from mobash-rasool/ospfv2-bug-fixes-04
Russ White [Tue, 7 Sep 2021 14:47:09 +0000 (10:47 -0400)]
Merge pull request #9551 from mobash-rasool/ospfv2-bug-fixes-04

ospfd: GR Conformance fix in Hello packet DR election

2 years agoMerge pull request #9552 from mobash-rasool/ospfv2-bug-fixes-03
Russ White [Tue, 7 Sep 2021 14:46:33 +0000 (10:46 -0400)]
Merge pull request #9552 from mobash-rasool/ospfv2-bug-fixes-03

ospfd: ANVL Test case 25.22, 25.23 and 28.11 fixes

2 years agoMerge pull request #9577 from slankdev/slankdev-topotest-nsenter
Christian Hopps [Tue, 7 Sep 2021 10:55:25 +0000 (06:55 -0400)]
Merge pull request #9577 from slankdev/slankdev-topotest-nsenter

topotests: to create pid file of topotest router

2 years agoMerge pull request #9557 from idryzhov/bgp-view-cleanup
Donatas Abraitis [Tue, 7 Sep 2021 07:14:30 +0000 (10:14 +0300)]
Merge pull request #9557 from idryzhov/bgp-view-cleanup

bgpd: cleanup special checks for views

2 years agodoc: don't use abbreviate
Hiroki Shirokura [Tue, 7 Sep 2021 07:11:20 +0000 (07:11 +0000)]
doc: don't use abbreviate

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2 years agotopotests: update file format and resolving id
Hiroki Shirokura [Tue, 7 Sep 2021 07:07:18 +0000 (07:07 +0000)]
topotests: update file format and resolving id

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2 years agotopotests: to create pid file of topotest router
Hiroki Shirokura [Tue, 7 Sep 2021 03:55:01 +0000 (03:55 +0000)]
topotests: to create pid file of topotest router

Create a pid file for the router created by topotest.
By executing nsenter directly against this pid, developers
can execute commands directly from outside the unet shell.
This allows the developer to use script, tab completion, etc.,
and improves efficiency.

Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com>
2 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

2 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`)

2 years agotests: refactor parallel reset/load config for non-json
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>
2 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

2 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"

2 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

2 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

2 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

2 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)

2 years agotests: speed up bgp_auth test (24m -> 12m)
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>
2 years agodebian: update list of protos in pkg desc
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>
2 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

2 years agotests: cleanup: rerun changed files through black
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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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`

2 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>
2 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>
2 years agobgpd: fix "no router bgp X vrf default"
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>
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 agobgpd: cleanup special checks for views
Igor Ryzhov [Fri, 3 Sep 2021 14:36:40 +0000 (17:36 +0300)]
bgpd: cleanup special checks for views

bgp->vrf_id is always VRF_DEFAULT for views. All these special checks
are not necessary.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
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 agoospfd: RFC conformance test case 25.23 issue fix
Mobashshera Rasool [Fri, 3 Sep 2021 12:10:26 +0000 (05:10 -0700)]
ospfd: RFC conformance test case 25.23 issue fix

Problem Statement :
===================
LSA with InitialSequenceNumber is not originated
after MaxSequenceNumber.

ANVL Test case 25.33 states:
============================
As soon as this flooding of a LSA with LS sequence number
MaxSequenceNumber has been acknowledged by all adjacent neighbors,
a new instance can be originated with sequence number of InitialSequenceNumber.

RCA :
=====
DUT did not originated LSA with INITIAL_SEQUENCE number even
after receiving ACK for max sequence LSA.
Code is not present to handle this situation in the lsa ack flow.

Fix :
=====
Add code to originate LSA with initial sequence number in the
LSA ack flow in case of wrap around sequence number.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoospfd: ANVL Test case 25.22, 25.23 and 28.11 fixes
Mobashshera Rasool [Fri, 3 Sep 2021 11:52:23 +0000 (04:52 -0700)]
ospfd: ANVL Test case 25.22, 25.23 and 28.11 fixes

ANVL Test case 28.11
If the database copy has LS age equal to MaxAge and LS sequence number
equal to MaxSequenceNumber, simply discard the received LSA
without acknowledging it.

ANVL Test Case 25.22
When an attempt is made to increment the sequence number past the maximum
value of N - 1 (0x7fffffff; also referred to as MaxSequenceNumber),
the current instance of the LSA must first be flushed from the routing domain.

ANVL Test Case 25.23
As soon as this flooding of a LSA with LS sequence number MaxSequenceNumber
has been acknowledged by all adjacent neighbors, a new instance can be
originated with sequence number of InitialSequenceNumber.

RCA:
When IXIA sent LS Seq num as MAX and LS Age as (MAX - 3),
DUT dropped the packet instead of sending ACK.
In function ospf_ls_upd, at Line 2106 the code is there to drop the LSA.
Hence its failing.

Fix:
LSAs ACK must be sent when received LSA is having max sequence number
but not max-aged.
Considering  /* CVE-2017-3224 */ issue, have corrected the existing
code to prevent attacker from sending LSAs with max sequence number
and higher checksum and blocking the flooding of the Max-sequence numbered LSAs.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoospfd: GR Conformance fix for Hello packet DR election
Mobashshera Rasool [Fri, 3 Sep 2021 12:59:53 +0000 (05:59 -0700)]
ospfd: GR Conformance fix for Hello packet DR election

Problem Statement:
===================
DUT selecting itself as DR when RR goes for reload.
Test Case 7.2

DUT (GR Helper) receives the Hello packet from the OSPF GR RESTARTER
(ANVL here) with DR and BDR set to 0.0.0.0 and DUT in its hello
neighbor list. DUT triggers the DR and BDR election although it is
in the Helper mode for that neighbor.

Root Cause Analysis:
====================
When hello packet is received with self router ID in the neighbor list,
there is no check in the code to handle this scenario. Hence the DR/BDR
election happens and it changes the DR although it is helper.

Fix:
===================
As per RFC 3623 Section 3.  Operation of Helper Neighbor, below point,
we need to maintain the DR relationship.
Also, if X was the Designated Router on network segment S when the
helping relationship began, Y maintains X as the Designated Router
until the helping relationship is terminated.

Adding the check when DUT is under neighbor helper mode, we need to avoid
ISM state change when hello packet is received with DR/BDR set to 0.0.0.0.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
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 agobgpd: Add `PEER_DOWN_SOCKET_ERROR` to the list of peer failure modes
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>
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 agobgpd: Drop afi/safi duplicate string notation for AddPath capability
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>
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 agozebra: Convert to `enum zebra_slave_iftype` as per our internal standard
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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
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 agobuild: make `sed` calls portable
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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 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>
2 years agoospfd: Summary LSA is not originated when process is reset
Mobashshera Rasool [Wed, 1 Sep 2021 09:11:48 +0000 (02:11 -0700)]
ospfd: Summary LSA is not originated when process is reset

Problem Statement:
==================
Summary LSA is not originated when router-id is modified or process is reset

Root Cause Analysis:
====================
When router-id is modified or process is cleared, all the external LSAs are
 flushed then LSA is re-originated using ospf_external_lsa_rid_change
When the LSAs are flushed, the aggregate flags are not reset.

Fix:
===============
Reset the aggregation flag when the LSAs
 are flushed.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agobgpd: Replace `Enable` to `Disable` for floating-point bw encoding CLI
Donatas Abraitis [Thu, 2 Sep 2021 06:08:47 +0000 (09:08 +0300)]
bgpd: Replace `Enable` to `Disable` for floating-point bw encoding CLI

At the begining there was a command to enable floating-point encoding,
but now it's default and can be disabled. Documentation was updated, but
CLI - missed, sorry, fixing.

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