]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
4 years agotests: Fix rare case in ospf tests due to small hello timer 6685/head
Donald Sharp [Tue, 7 Jul 2020 11:36:54 +0000 (07:36 -0400)]
tests: Fix rare case in ospf tests due to small hello timer

There exists the possiblity that the hello timer printed would
show a time to expiration in this format:

Hello due in 350 usecs

The tests are looking for:

Hello due in 5.430s

Just notice that we may have gotten usecs and act accordingly

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6437 from opensourcerouting/bfd-profiles-bgp
Donald Sharp [Thu, 2 Jul 2020 16:22:44 +0000 (12:22 -0400)]
Merge pull request #6437 from opensourcerouting/bfd-profiles-bgp

bfdd,bgpd: profiles integration support

4 years agoMerge pull request #6667 from ton31337/fix/bool_return_bgpd
Donald Sharp [Thu, 2 Jul 2020 13:32:09 +0000 (09:32 -0400)]
Merge pull request #6667 from ton31337/fix/bool_return_bgpd

bgpd: Return bool type for ecommunity_add_val and subgroup_announce_check

4 years agoMerge pull request #6590 from streambinder/master
Donald Sharp [Thu, 2 Jul 2020 11:56:08 +0000 (07:56 -0400)]
Merge pull request #6590 from streambinder/master

bgpd: bmp: add support for L2VPN/EVPN routes

4 years agobgpd: Return bool type for ecommunity_add_val and subgroup_announce_check 6667/head
Donatas Abraitis [Thu, 2 Jul 2020 08:08:29 +0000 (11:08 +0300)]
bgpd: Return bool type for ecommunity_add_val and subgroup_announce_check

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6661 from donaldsharp/flag_is_singular
Donatas Abraitis [Thu, 2 Jul 2020 05:19:38 +0000 (08:19 +0300)]
Merge pull request #6661 from donaldsharp/flag_is_singular

bgpd: peer_af_flag_modify_vty assumes 1 flag at a time

4 years agoMerge pull request #6665 from volta-networks/fix_isis_adj_log
Donald Sharp [Thu, 2 Jul 2020 01:32:54 +0000 (21:32 -0400)]
Merge pull request #6665 from volta-networks/fix_isis_adj_log

isisd: log adj change when circuit goes down

4 years agoMerge pull request #6663 from wesleycoakley/qobj-unreg-fixup
Mark Stapp [Wed, 1 Jul 2020 19:48:38 +0000 (15:48 -0400)]
Merge pull request #6663 from wesleycoakley/qobj-unreg-fixup

pbrd, lib: remember to free alloc'd qobj elements on delete

4 years agoisisd: log adj change when circuit goes down 6665/head
Emanuele Di Pascale [Wed, 1 Jul 2020 17:37:16 +0000 (19:37 +0200)]
isisd: log adj change when circuit goes down

if we shutdown an interface isisd will delete the adjacencies
on the corresponding circuit, but it will not log the change.
Fix it to make sure that each change is logged. Also specify
the level of the adjacency in the log message, while we are at it.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
4 years agobgpd: peer_af_flag_modify_vty assumes 1 flag at a time 6661/head
Donald Sharp [Wed, 1 Jul 2020 13:00:59 +0000 (09:00 -0400)]
bgpd: peer_af_flag_modify_vty assumes 1 flag at a time

We have a bunch of code in bgp_vty.c that was passing
to peer_af_flag_modify_vty more than 1 flag at a time.
This was causing the underlying routines to get the
flags wrong.  In order to prevent this convert all the
places where we send multiple flags down to this function
to individual flag changes.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopbrd, lib: remember to free alloc'd qobj on delete 6663/head
Wesley Coakley [Wed, 1 Jul 2020 01:21:17 +0000 (01:21 +0000)]
pbrd, lib: remember to free alloc'd qobj on delete

Signed-off-by: Wesley Coakley <wcoakley@nvidia.com>
4 years agoMerge pull request #6657 from donaldsharp/pbr_disable_on_4.9
Mark Stapp [Wed, 1 Jul 2020 11:45:17 +0000 (07:45 -0400)]
Merge pull request #6657 from donaldsharp/pbr_disable_on_4.9

tests: pbr is not working properly on arm 4.9 kernels

4 years agotests: pbr is not working properly on arm 4.9 kernels 6657/head
Donald Sharp [Tue, 30 Jun 2020 19:10:20 +0000 (15:10 -0400)]
tests: pbr is not working properly on arm 4.9 kernels

Just disable pbr tests on anything less than 4.10.

This has to do with the fact that the arm platform
is not allowing us to install a route into a
non default table using a interface associated
with a vrf.

ip route add default 4.5.6.7 via swp39 table 10000

When swp39 is in a vrf other than default

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: bmp: add support for L2VPN/EVPN routes 6590/head
streambinder [Tue, 30 Jun 2020 12:37:00 +0000 (14:37 +0200)]
bgpd: bmp: add support for L2VPN/EVPN routes

Co-authored-by: giacomo270197 <gcasoni@hotmail.it>
Signed-off-by: streambinder <posta@davidepucci.it>
4 years agoMerge pull request #6645 from pguibert6WIND/maxpathlunicast
Donatas Abraitis [Mon, 29 Jun 2020 11:06:56 +0000 (14:06 +0300)]
Merge pull request #6645 from pguibert6WIND/maxpathlunicast

bgpd: add maximum-paths vty command to ipv6 lu node

4 years agobgpd: add maximum-paths vty command to ipv4 lu node 6645/head
Philippe Guibert [Fri, 26 Jun 2020 12:39:04 +0000 (14:39 +0200)]
bgpd: add maximum-paths vty command to ipv4 lu node

add maximum-paths vty command to ipv4 lu node.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoMerge pull request #6643 from mjstapp/fix_typos_bgp_multivrf1
Donatas Abraitis [Sat, 27 Jun 2020 15:41:20 +0000 (18:41 +0300)]
Merge pull request #6643 from mjstapp/fix_typos_bgp_multivrf1

test: fix some typos in bgp_multi_vrf_topo1

4 years agoMerge pull request #6635 from Niral-Networks/niral_dev_vrf_isis
Renato Westphal [Sat, 27 Jun 2020 01:23:40 +0000 (22:23 -0300)]
Merge pull request #6635 from Niral-Networks/niral_dev_vrf_isis

ISIS VRF: Added vrf_socket and new param in isisd privileges.

4 years agoMerge pull request #6639 from qlyoung/fix-alpine-pkg-arch
Donatas Abraitis [Fri, 26 Jun 2020 16:14:49 +0000 (19:14 +0300)]
Merge pull request #6639 from qlyoung/fix-alpine-pkg-arch

alpine: enable multi-arch builds

4 years agoMerge pull request #6644 from donaldsharp/more_pbr_debugs_for_arm
Mark Stapp [Fri, 26 Jun 2020 16:04:26 +0000 (12:04 -0400)]
Merge pull request #6644 from donaldsharp/more_pbr_debugs_for_arm

tests: Add some more data gathering

4 years agoMerge pull request #6640 from qlyoung/doc-docker-builds
Donatas Abraitis [Fri, 26 Jun 2020 15:18:43 +0000 (18:18 +0300)]
Merge pull request #6640 from qlyoung/doc-docker-builds

doc: add docker image build instructions

4 years agotests: Add some more data gathering 6644/head
Donald Sharp [Fri, 26 Jun 2020 11:10:08 +0000 (07:10 -0400)]
tests: Add some more data gathering

From last addition we can tell that the nexthop-group C is
installed but pbr does not think it is.  This failure
has been consistent the last 4-5 runs in master.  Lets
add a bit more data gathering to figure out what is going on.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agotest: fix some typos in bgp_multi_vrf_topo1 6643/head
Mark Stapp [Thu, 25 Jun 2020 17:43:37 +0000 (13:43 -0400)]
test: fix some typos in bgp_multi_vrf_topo1

Noticed a few text things in this topotest.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6611 from mjstapp/fix_rib_comparisons
Donald Sharp [Thu, 25 Jun 2020 16:33:25 +0000 (12:33 -0400)]
Merge pull request #6611 from mjstapp/fix_rib_comparisons

zebra: improve route_entry comparison logic

4 years agoMerge pull request #6642 from donaldsharp/forgotten_daemons
Donatas Abraitis [Thu, 25 Jun 2020 15:48:11 +0000 (18:48 +0300)]
Merge pull request #6642 from donaldsharp/forgotten_daemons

Forgotten daemons

4 years agoMerge pull request #6630 from opensourcerouting/bgp-node-dest-rename
Donald Sharp [Thu, 25 Jun 2020 13:14:18 +0000 (09:14 -0400)]
Merge pull request #6630 from opensourcerouting/bgp-node-dest-rename

bgp: rename bgp_node to bgp_dest

4 years agoMerge pull request #6619 from Niral-Networks/niral_isis_debug_p2
Donald Sharp [Thu, 25 Jun 2020 13:07:42 +0000 (09:07 -0400)]
Merge pull request #6619 from Niral-Networks/niral_isis_debug_p2

ISIS VRF: ISIS Debug structure modifications Type 2

4 years agoMerge pull request #6641 from donaldsharp/bgp_sighup_is_bad
Mark Stapp [Thu, 25 Jun 2020 12:28:57 +0000 (08:28 -0400)]
Merge pull request #6641 from donaldsharp/bgp_sighup_is_bad

bgpd: Have bgp ignore SIGHUP at the moment

4 years agozebra: improve route_entry comparison logic 6611/head
Mark Stapp [Thu, 18 Jun 2020 17:26:47 +0000 (13:26 -0400)]
zebra: improve route_entry comparison logic

Improve and centralize some logic used to a) compare two
route_entries, and b) to locate a route_entry that matches
a dplane context object that contains the results of a
fib update. We were not rigorous enough in checking routes'
properties, especially when examining connected routes where
we allow multiple route_entries.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6636 from mjstapp/fix_topojson_intf_names
Donald Sharp [Thu, 25 Jun 2020 12:19:59 +0000 (08:19 -0400)]
Merge pull request #6636 from mjstapp/fix_topojson_intf_names

tests: in topojson framework, include vrf with interface name

4 years agodebian: Add missing daemons to logrotation knowledge 6642/head
Donald Sharp [Thu, 25 Jun 2020 11:13:50 +0000 (07:13 -0400)]
debian: Add missing daemons to logrotation knowledge

Update missing daemons to rotate as well.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoredhat: Update logrotate to have knowledge of all daemons
Donald Sharp [Thu, 25 Jun 2020 11:12:59 +0000 (07:12 -0400)]
redhat: Update logrotate to have knowledge of all daemons

Upon visual inspection the redhat logrotate file was incomplete
Make it complete.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Have bgp ignore SIGHUP at the moment 6641/head
Donald Sharp [Thu, 25 Jun 2020 00:15:12 +0000 (20:15 -0400)]
bgpd: Have bgp ignore SIGHUP at the moment

SIGHUP is ostensibly supposed to reload configuration
from a fresh slate.  This is currently horribly broken
so much so that bgp just crashes.  I see no point
in trying to make this work considering the yang
work coming down the pike.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodoc: add docker image build instructions 6640/head
Quentin Young [Wed, 24 Jun 2020 23:11:33 +0000 (19:11 -0400)]
doc: add docker image build instructions

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoalpine: enable multi-arch builds 6639/head
Quentin Young [Wed, 24 Jun 2020 20:33:18 +0000 (16:33 -0400)]
alpine: enable multi-arch builds

Now that amd64 dependencies have been removed we can use the correct
architecture specifier for Alpine packaging metadata in order to build
packages for all supported platforms.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #6637 from donaldsharp/frr_reload_ipv6
Mark Stapp [Wed, 24 Jun 2020 20:30:27 +0000 (16:30 -0400)]
Merge pull request #6637 from donaldsharp/frr_reload_ipv6

tools: Fix reload with 'ipv6 address...' in interface

4 years agotools: Fix reload with 'ipv6 address...' in interface 6637/head
Donald Sharp [Wed, 24 Jun 2020 18:30:49 +0000 (14:30 -0400)]
tools: Fix reload with 'ipv6 address...' in interface

When you have this configuration:

int foo
  ipv6 address fd01:0:0:1::1/64

And issue a reload statement, FRR-reload
is reducing the code to a
`no ipv6 address fd01:0:0:1::/64`
and then issuing a:
`ipv6 address fd01:0:0:1::/64`

The end result is of course that the foo
interface now has two v6 addresses on it.

The brilliance of this is of course if you
happen to have two systems that are connected
over an interface, and you issue a reload command.
They both get fd01:0:0:1::/64 as an ipv6 address
and DAD detection kicks in and stomps on your stuff.

Put a special hey don't munch the v6 address line
in a reload situation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agotests: fix interface and debug config diff in topojson framework 6636/head
Mark Stapp [Wed, 24 Jun 2020 13:27:05 +0000 (09:27 -0400)]
tests: fix interface and debug config diff in topojson framework

Include vrf name with interface name when topojson framework
generates interface configuration. This matches the output of
'show runn', and makes config reset less disruptive. Also
stop removing configured debugs and log output when re-generating
config.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoISIS VRF: Added vrf_socket and new param in isisd privileges. 6635/head
Kaushik [Wed, 24 Jun 2020 12:27:14 +0000 (05:27 -0700)]
ISIS VRF: Added vrf_socket and new param in isisd privileges.

1. The socket() call replaced with vrf_socket() in open_packet_socket().
2. One new isisd privileges is added in zebra_capabilities_t [].

Signed-off-by: Kaushik <kaushik@niralnetworks.com>
4 years agoMerge pull request #6632 from donaldsharp/pbr_data_gathering
Mark Stapp [Wed, 24 Jun 2020 11:43:07 +0000 (07:43 -0400)]
Merge pull request #6632 from donaldsharp/pbr_data_gathering

tests: the pbr topo1 test is failing gather data to help debug

4 years agoISIS VRF: ISIS Debug structure modifications 6619/head
harios [Fri, 19 Jun 2020 19:04:33 +0000 (00:34 +0530)]
ISIS VRF: ISIS Debug structure modifications

1. The "isis->debug" variable dependency on debug logs print is removed.

Signed-off-by: harios <hari@niralnetworks.com>
4 years agoMerge pull request #6451 from Orange-OpenSource/dev_isis_sr
Renato Westphal [Wed, 24 Jun 2020 05:20:12 +0000 (02:20 -0300)]
Merge pull request #6451 from Orange-OpenSource/dev_isis_sr

ISISd: Add Segment Routing local block (SRLB)

4 years agoisisd: Segment Routing improve subTLVs parser 6451/head
Olivier Dugeon [Tue, 23 Jun 2020 14:31:55 +0000 (16:31 +0200)]
isisd: Segment Routing improve subTLVs parser

For Segment Routing, isis_tlvs.c may failed if incorrect or maformed TLVs
are sent to the FRR router. This patch improve detection of such subTLVs error
and skip them, in particular for SRGB, SRLB and MSD subTLVs.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
4 years agotests: the pbr topo1 test is failing gather data to help debug 6632/head
Donald Sharp [Tue, 23 Jun 2020 17:18:35 +0000 (13:18 -0400)]
tests: the pbr topo1 test is failing gather data to help debug

This may be expanded in the future as we figure out more things
to gather when the test has gone south.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgp: rename bgp_node to bgp_dest 6630/head
Donald Sharp [Thu, 26 Mar 2020 23:11:58 +0000 (19:11 -0400)]
bgp: rename bgp_node to bgp_dest

This is the bulk part extracted from "bgpd: Convert from `struct
bgp_node` to `struct bgp_dest`".  It should not result in any functional
change.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoMerge pull request #6627 from qlyoung/clarify-prefix-bit-usage
Russ White [Tue, 23 Jun 2020 14:39:03 +0000 (10:39 -0400)]
Merge pull request #6627 from qlyoung/clarify-prefix-bit-usage

lib: clarify usage of prefix_bit function

4 years agoisisd: Start Label Manager safer
Olivier Dugeon [Thu, 4 Jun 2020 16:03:04 +0000 (18:03 +0200)]
isisd: Start Label Manager safer

Initial attempt to connect to the Label Manager used an infinite loop with
a sleep statement which block isisd until Label Manager connection fire up.

This commit changes the way Label Manager connection is established and uses
a `thread_add_timer()` call to re-attempt to establish the connection in case
of failure (zebra or label manager not ready).

New variables are added to the SRDB in order to control the request of SRGB
and SRLB to the Label Manager to start Segment Routing in a safe way.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
4 years agoisisd: Add Segment Routing Local Block support
Olivier Dugeon [Wed, 20 May 2020 09:18:31 +0000 (11:18 +0200)]
isisd: Add Segment Routing Local Block support

Segment Routing Local Block (SRLB) is part of RFC8667. This change introduces
the possibility for isisd to advertize SRLB in LSP. Base and Range of SRLB
could be configured through CLI or Yang.

Adjacency-SID are now using this SRLB for label allocation. SRLB could also
be used for SID-Binding (e.g. LDP to SR).

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
4 years agoMerge pull request #6625 from ton31337/fix/network_check_import_for_static_bgp
Russ White [Tue, 23 Jun 2020 10:55:53 +0000 (06:55 -0400)]
Merge pull request #6625 from ton31337/fix/network_check_import_for_static_bgp

bgpd: Do not treat the route as martian for static BGP routes

4 years agoMerge pull request #6626 from volta-networks/fix_stream_getf
Quentin Young [Mon, 22 Jun 2020 20:47:25 +0000 (16:47 -0400)]
Merge pull request #6626 from volta-networks/fix_stream_getf

lib: fix STREAM_GETF macro

4 years agolib: clarify usage of prefix_bit function 6627/head
Quentin Young [Mon, 22 Jun 2020 17:59:01 +0000 (13:59 -0400)]
lib: clarify usage of prefix_bit function

"prefixlen" is really a bit index

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agolib: fix STREAM_GETF macro 6626/head
Emanuele Di Pascale [Mon, 22 Jun 2020 17:02:56 +0000 (19:02 +0200)]
lib: fix STREAM_GETF macro

a missing '!' operator was making any STREAM_GETF fail
when in fact it should have succeeded. As a consequence
of this, for example, many link-params of an interface
were not being read and populated.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
4 years agoMerge pull request #6600 from mjstapp/fix_ldp_zlog_tmp
Renato Westphal [Mon, 22 Jun 2020 16:14:21 +0000 (13:14 -0300)]
Merge pull request #6600 from mjstapp/fix_ldp_zlog_tmp

ldpd: clean up temp zlog files

4 years agobgpd: Do not treat the route as martian for static BGP routes 6625/head
Donatas Abraitis [Mon, 22 Jun 2020 13:23:24 +0000 (16:23 +0300)]
bgpd: Do not treat the route as martian for static BGP routes

If we have something like:
```
ip route 1.1.1.0/24 Null0
!
router bgp 100
 no bgp ebgp-requires-policy
 neighbor 192.168.0.2 remote-as 200
 !
 address-family ipv4 unicast
  network 1.1.1.0/24
  redistribute connected
 exit-address-family
!
line vty
!
```

1.1.1.0/24 is not advertised due to martian nexthop (0.0.0.0). It starts
working only when we use `redistribute static`.

By checking if it's a BGP static route we able to announce
1.1.1.0/24 with `network 1.1.1.0/24` without redistribute even when
`bgp import-check` is enabled.

Disabling `bgp import-check` works as well, but it's enabled by default
since 7.4.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6601 from Jafaral/version
Donald Sharp [Mon, 22 Jun 2020 12:03:08 +0000 (08:03 -0400)]
Merge pull request #6601 from Jafaral/version

build: Allow removal of build configs from version string

4 years agoldpd: clean up temp zlog files 6600/head
Mark Stapp [Wed, 17 Jun 2020 14:00:03 +0000 (10:00 -0400)]
ldpd: clean up temp zlog files

Clean up the temp zlog dirs in /var/tmp/frr/ that the ldpd
child processes were leaving. The child processes do a non-
standard lib init/deinit, so they need to explicitly deinit
the zlog module.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6617 from Niral-Networks/niral_dev_isis_vrf
Donald Sharp [Fri, 19 Jun 2020 20:45:23 +0000 (16:45 -0400)]
Merge pull request #6617 from Niral-Networks/niral_dev_isis_vrf

ISIS VRF: Route info with vrf_id from ISIS to Zebra

4 years agoISIS VRF: Route info with vrf_id from ISIS to Zebra 6617/head
Kaushik [Fri, 19 Jun 2020 18:46:12 +0000 (11:46 -0700)]
ISIS VRF: Route info with vrf_id from ISIS to Zebra

1. The "VRF_DEFAULT" param is changed to "isis->vrf_id" before
   sending the routes to zebra.

Signed-off-by: Kaushik <kaushik@niralnetworks.com>
4 years agobuild: Allow removal of build configs from version string 6601/head
Jafar Al-Gharaibeh [Wed, 17 Jun 2020 16:48:34 +0000 (11:48 -0500)]
build: Allow removal of build configs from version string

A new config option `--disable-version-build-config`
allows you to show short version string by dropping
"configured with:" and all of its build configs

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
4 years agoMerge pull request #6615 from opensourcerouting/build-assorted-20200619
Donald Sharp [Fri, 19 Jun 2020 10:18:20 +0000 (06:18 -0400)]
Merge pull request #6615 from opensourcerouting/build-assorted-20200619

build: assorted fixes (protobuf, frr-format)

4 years agoMerge pull request #6613 from donaldsharp/monotonic_mononity
Jafar Al-Gharaibeh [Fri, 19 Jun 2020 04:47:40 +0000 (23:47 -0500)]
Merge pull request #6613 from donaldsharp/monotonic_mononity

bgpd: Use time since epoch for timestamps for bmp updates

4 years agoMerge pull request #6556 from mjstapp/sharp_multi_session
Jafar Al-Gharaibeh [Fri, 19 Jun 2020 04:46:17 +0000 (23:46 -0500)]
Merge pull request #6556 from mjstapp/sharp_multi_session

sharpd: add zclient session create and delete

4 years agoMerge pull request #6614 from qlyoung/fix-evpnmh-reload
Jafar Al-Gharaibeh [Fri, 19 Jun 2020 04:41:55 +0000 (23:41 -0500)]
Merge pull request #6614 from qlyoung/fix-evpnmh-reload

tools: 'evpn mh' is a new one-line context

4 years agoMerge pull request #6610 from donaldsharp/too_much_pim
Jafar Al-Gharaibeh [Fri, 19 Jun 2020 04:39:41 +0000 (23:39 -0500)]
Merge pull request #6610 from donaldsharp/too_much_pim

pimd: Poorly ported code fix

4 years agoMerge pull request #6606 from opensourcerouting/bfdd-fixes
Donald Sharp [Fri, 19 Jun 2020 01:24:00 +0000 (21:24 -0400)]
Merge pull request #6606 from opensourcerouting/bfdd-fixes

topotests: stabilize bfd-vrf-topo1

4 years agobuild: fix frr-format warnings 6615/head
David Lamparter [Thu, 18 Jun 2020 23:09:10 +0000 (01:09 +0200)]
build: fix frr-format warnings

Unfortunately, the way the frr-format plugin is set up, snprintf() with
PRId64 can generate false warnings :|.  Easy workaround is to use
snprintfrr().

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agobuild: fix protobuf dependencies
David Lamparter [Thu, 18 Jun 2020 23:07:58 +0000 (01:07 +0200)]
build: fix protobuf dependencies

Need to list #include'd header files in Makefile to make sure it builds
correctly.

Fixes: #6576
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotools: 'evpn mh' is a new one-line context 6614/head
Quentin Young [Wed, 17 Jun 2020 20:52:43 +0000 (16:52 -0400)]
tools: 'evpn mh' is a new one-line context

frr-reload.py needs to know about config-level commands, otherwise it
assumes they are contexts

Ticket: CM-30128
Ticket: CM-30077
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agobgpd: Use time since epoch for timestamps for bmp updates 6613/head
Donald Sharp [Thu, 18 Jun 2020 19:56:44 +0000 (15:56 -0400)]
bgpd: Use time since epoch for timestamps for bmp updates

RFC states that time should be in seconds since the epoch.
The code was using system uptime in seconds.

Fixes: #6549
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: attempt to fix test convergence failure 6606/head
Rafael Zalamena [Thu, 18 Jun 2020 11:42:59 +0000 (08:42 -0300)]
bgpd: attempt to fix test convergence failure

Don't reset BFD peer on BGP session establishment.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agopimd: Poorly ported code fix 6610/head
Donald Sharp [Thu, 18 Jun 2020 14:37:51 +0000 (10:37 -0400)]
pimd: Poorly ported code fix

This section of code was ported incorrectly and is causing
issues when running against some tests.  Fix the missed
code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6602 from donaldsharp/allow_installation
Mark Stapp [Thu, 18 Jun 2020 12:30:07 +0000 (08:30 -0400)]
Merge pull request #6602 from donaldsharp/allow_installation

zebra: When installing a nexthop-group success is vital

4 years agotopotests: bump BFD test convergence time
Rafael Zalamena [Thu, 18 Jun 2020 11:42:11 +0000 (08:42 -0300)]
topotests: bump BFD test convergence time

Lets make the test more resilient to failures.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agotopotests: remove old FRR version support
Rafael Zalamena [Thu, 18 Jun 2020 11:02:34 +0000 (08:02 -0300)]
topotests: remove old FRR version support

Removes a few lines of code.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agozebra: When installing a nexthop-group success is vital 6602/head
Donald Sharp [Thu, 18 Jun 2020 03:36:42 +0000 (23:36 -0400)]
zebra: When installing a nexthop-group success is vital

When installing a nexthop-group the recent commit:
commit 0be6e7d75dbbbfae33c3b51ae7c160d35b228915

reversed the logic for testing if adding data to
the netlink message succeeded and we thought we did
not thus not creating the nexthop group.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6577 from rtrlib/2020-06-12-master-fixes
Philippe Guibert [Wed, 17 Jun 2020 07:09:02 +0000 (09:09 +0200)]
Merge pull request #6577 from rtrlib/2020-06-12-master-fixes

bgpd: rpki fixes (master)

4 years agosharpd: add zclient session create and delete 6556/head
Mark Stapp [Tue, 9 Jun 2020 20:36:45 +0000 (16:36 -0400)]
sharpd: add zclient session create and delete

Add a couple of clis and some simple support that allows sharpd to
create extra zapi client sessions.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6569 from xThaid/dplane_batching_cleanup
Mark Stapp [Tue, 16 Jun 2020 16:06:11 +0000 (12:06 -0400)]
Merge pull request #6569 from xThaid/dplane_batching_cleanup

Clean up the zebra's Netlink API

4 years agoMerge pull request #6581 from volta-networks/fix_frr_reload_daemon
David Lamparter [Tue, 16 Jun 2020 15:45:54 +0000 (17:45 +0200)]
Merge pull request #6581 from volta-networks/fix_frr_reload_daemon

tools: fix frr-reload.py daemon option

4 years agoMerge pull request #6390 from opensourcerouting/bfd-cp-fix
Russ White [Tue, 16 Jun 2020 11:56:03 +0000 (07:56 -0400)]
Merge pull request #6390 from opensourcerouting/bfd-cp-fix

bfdd: tell peer when our control plane is dead

4 years agoMerge pull request #6575 from mjstapp/fix_avoid_clang_add_fetch
Russ White [Tue, 16 Jun 2020 11:53:06 +0000 (07:53 -0400)]
Merge pull request #6575 from mjstapp/fix_avoid_clang_add_fetch

zebra: avoid an atomic builtin that clang doesn't like

4 years agoMerge pull request #6584 from donaldsharp/increase_timeout
Russ White [Tue, 16 Jun 2020 11:46:55 +0000 (07:46 -0400)]
Merge pull request #6584 from donaldsharp/increase_timeout

bgpd: Allow extending peer timeout in rare case

4 years agoMerge pull request #6585 from donaldsharp/fix_pbr_topo
Russ White [Tue, 16 Jun 2020 11:43:48 +0000 (07:43 -0400)]
Merge pull request #6585 from donaldsharp/fix_pbr_topo

tests: Modify pbr test to give a reasonable amount of time to succeed

4 years agotests: Modify pbr test to give a reasonable amount of time to succeed 6585/head
Donald Sharp [Mon, 15 Jun 2020 20:59:38 +0000 (16:59 -0400)]
tests: Modify pbr test to give a reasonable amount of time to succeed

Under heavy load some systems may still be processing.  Let's give
the system some time to figure out what is going wrong.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6582 from streambinder/master
Donald Sharp [Mon, 15 Jun 2020 16:32:24 +0000 (12:32 -0400)]
Merge pull request #6582 from streambinder/master

lib: prefix: add prefix_rd type

4 years agobgpd: fix rpki revalidation for invalid announcements 6577/head
Marcel Röthke [Thu, 11 Jun 2020 14:11:09 +0000 (16:11 +0200)]
bgpd: fix rpki revalidation for invalid announcements

Announcements that are marked as invalid were previously not revalidated.
This was fixed by replacing the range lookup with a subtree lookup.

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
4 years agobgpd: Allow extending peer timeout in rare case 6584/head
Donald Sharp [Mon, 15 Jun 2020 14:35:50 +0000 (10:35 -0400)]
bgpd: Allow extending peer timeout in rare case

Currently the I/O pthread handles incoming/outgoing data
communication with all peers.  There is no attempt at modifying
the hold timers.  It's sole goal is to read/write data to appropriate
channels.  All this data is handled as *events* on the master pthread
in BGP.   The problem is that if the master pthread is extremely busy
then any packet read that would be treated as a keepalive event may
happen after the hold timer pops, due to the way thread events are handled
in lib/thread.c.

In a last gap attempt, if we notice that we have incoming data
to proceses on the input Queue, slightly delay the hold timer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: prefix: add prefix_rd type 6582/head
streambinder [Mon, 15 Jun 2020 13:21:19 +0000 (15:21 +0200)]
lib: prefix: add prefix_rd type

Signed-off-by: streambinder <posta@davidepucci.it>
4 years agotools: fix frr-reload.py daemon option 6581/head
Emanuele Di Pascale [Mon, 15 Jun 2020 12:44:05 +0000 (14:44 +0200)]
tools: fix frr-reload.py daemon option

the refactored frr-reload.py is adding 'no-header' to the
'show running' command of vtysh, but if a daemon is specified
the no-header option should only be added after the daemon name.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
4 years agoMerge pull request #6578 from ton31337/fix/constants
Sri Mohana Singamsetty [Sun, 14 Jun 2020 22:00:50 +0000 (15:00 -0700)]
Merge pull request #6578 from ton31337/fix/constants

bgpd: Use constants for nexthop length instead of just numbers

4 years agozebra: more clean-ups in netlink code 6569/head
Jakub Urbańczyk [Sat, 13 Jun 2020 11:31:13 +0000 (13:31 +0200)]
zebra: more clean-ups in netlink code

 * Use nl_attr_add32 instead of nl_attr_add where it is possible.
 * Move common code from build_singlepath() and build_multipath()
   to separate function.

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agozebra: check for buffer boundary
Jakub Urbańczyk [Wed, 10 Jun 2020 09:44:31 +0000 (11:44 +0200)]
zebra: check for buffer boundary

 * Move code encoding Netlink messages to separate functions
 * Add buffer bounds checking while creating Nelink messages

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agozebra: clean up netlink api
Jakub Urbańczyk [Mon, 8 Jun 2020 21:37:26 +0000 (23:37 +0200)]
zebra: clean up netlink api

 * Rename netlink utility functions like addattr to be less ambiguous
 * Replace rta_attr_* functions with nl_attr_* since they introduced
   inconsistencies in the code
 * Add helper functions for adding rtnexthop struct to the Netlink
   message

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agobgpd: Use constants for nexthop length instead of just numbers 6578/head
Donatas Abraitis [Sat, 13 Jun 2020 17:36:59 +0000 (20:36 +0300)]
bgpd: Use constants for nexthop length instead of just numbers

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: preinitialize rtrlib tr structures
Marcel Röthke [Tue, 24 Mar 2020 13:36:04 +0000 (14:36 +0100)]
bgpd: preinitialize rtrlib tr structures

The tr_*_config structs were previously not pre initialized because
every field is initialized explicitly. But future rtrlib version will
introduce additional fields. Preinitialising the entire struct will
ensure forward compatibility.

Signed-off-by: Marcel Röthke <marcel.roethke@haw-hamburg.de>
4 years agozebra: avoid an atomic builtin that clang doesn't like 6575/head
Mark Stapp [Fri, 12 Jun 2020 20:31:22 +0000 (16:31 -0400)]
zebra: avoid an atomic builtin that clang doesn't like

We had special-cased use of atomic_add_fetch, because clang just
does not like that builtin. Just use atomic_fetch_add instead.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotopotest: add tests for BFD profiles 6437/head
Rafael Zalamena [Fri, 29 May 2020 20:44:02 +0000 (17:44 -0300)]
topotest: add tests for BFD profiles

Import a topology with some protocols that integrate with BFD. As other
daemons get the new BFD profile support we can update the test to cover
them.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agolib: permit BFD library users to pass NULL
Rafael Zalamena [Sun, 31 May 2020 11:28:05 +0000 (08:28 -0300)]
lib: permit BFD library users to pass NULL

Add the proper handling for cases where user forgets or doesn't have the
pointer needed to call the library function.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6563 from donaldsharp/scale_tests
Donatas Abraitis [Fri, 12 Jun 2020 06:11:09 +0000 (09:11 +0300)]
Merge pull request #6563 from donaldsharp/scale_tests

tests: Add some scale tests to ensure things work

4 years agoMerge pull request #6564 from dslicenc/leak-bgp-xcommunity
Donatas Abraitis [Fri, 12 Jun 2020 05:54:56 +0000 (08:54 +0300)]
Merge pull request #6564 from dslicenc/leak-bgp-xcommunity

bgpd: remove extcommunity attribute on leaked route if empty