]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agozebra,fpm: fix dead lock on close during startup
Rafael Zalamena [Fri, 17 Jul 2020 12:19:29 +0000 (09:19 -0300)]
zebra,fpm: fix dead lock on close during startup

Serialize the `fpm_reconnect` function by only allowing one part of our
code to call it, then make sure all zebra threads executions are done
before attempting to close and reset the output stream.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6767 from donaldsharp/compile_issues
David Lamparter [Sun, 19 Jul 2020 09:36:38 +0000 (11:36 +0200)]
Merge pull request #6767 from donaldsharp/compile_issues

4 years agoMerge pull request #6446 from chiragshah6/evpn_dev
Santosh P K [Sat, 18 Jul 2020 14:14:01 +0000 (19:44 +0530)]
Merge pull request #6446 from chiragshah6/evpn_dev

zebra: rib operational nb add vrf key

4 years agopimd: Prevent Null string %s issues
Donald Sharp [Sat, 18 Jul 2020 13:46:06 +0000 (09:46 -0400)]
pimd: Prevent Null string %s issues

There are couple spots where group may be NULL and
when we output strings associated with it we should
ensure we are not doing something stupid.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Possible write beyond buffer length
Donald Sharp [Sat, 18 Jul 2020 13:45:08 +0000 (09:45 -0400)]
zebra: Possible write beyond buffer length

Prevent string manipulation where we might have data
passed into that is larger than the buffer we are pushing into.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6753 from mjstapp/fix_zebra_backup_sa
Stephen Worley [Fri, 17 Jul 2020 21:29:49 +0000 (17:29 -0400)]
Merge pull request #6753 from mjstapp/fix_zebra_backup_sa

zebra: fix SA warnings in backup nexthop code

4 years agoMerge pull request #6763 from donaldsharp/bgp_zebra_announce
Mark Stapp [Fri, 17 Jul 2020 19:59:03 +0000 (15:59 -0400)]
Merge pull request #6763 from donaldsharp/bgp_zebra_announce

bgpd: Remove memset from bgp_zebra_announce

4 years agozebra: rib operational nb add vrf key
Chirag Shah [Fri, 22 May 2020 05:01:09 +0000 (22:01 -0700)]
zebra: rib operational nb add vrf key

Add vrf as key in Rib operational nexthop list

PR 6296 has added vrf as key in nexthop list.
Rib operational model uses nexthop list, adding
vrf key into northbound callback.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoMerge pull request #6760 from opensourcerouting/build-assorted-20200717
Quentin Young [Fri, 17 Jul 2020 16:42:05 +0000 (12:42 -0400)]
Merge pull request #6760 from opensourcerouting/build-assorted-20200717

build & gcc-frr-format: assorted bits batch

4 years agoMerge pull request #6296 from vishaldhingra/static
Quentin Young [Fri, 17 Jul 2020 16:39:03 +0000 (12:39 -0400)]
Merge pull request #6296 from vishaldhingra/static

staticd: static route NB configuration code

4 years agobgpd: Remove memset from bgp_zebra_announce
Donald Sharp [Fri, 17 Jul 2020 14:07:17 +0000 (10:07 -0400)]
bgpd: Remove memset from bgp_zebra_announce

During perf testing of receiving and installing 7.5 million
routes into zebra it was noticed that memset in bgp_zebra_announce
was taking ~11% of the runtime.  With this change bgp_zebra_announce
now no longer has any appreciable time spent in memset as reported
by perf.  In addition bgp_zebra_announce run time in perf was
reduced by a composite amount.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6705 from sworleys/PBR-Fixes-More
Mark Stapp [Fri, 17 Jul 2020 12:54:54 +0000 (08:54 -0400)]
Merge pull request #6705 from sworleys/PBR-Fixes-More

pbrd: A couple pbr fixes

4 years agoMerge pull request #6759 from donaldsharp/rules_family
Mark Stapp [Fri, 17 Jul 2020 12:23:46 +0000 (08:23 -0400)]
Merge pull request #6759 from donaldsharp/rules_family

zebra: Silently ignore afi 128/129 for rules

4 years agotools/gcc-frr-format: update README
David Lamparter [Fri, 17 Jul 2020 03:54:09 +0000 (05:54 +0200)]
tools/gcc-frr-format: update README

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agotools/gcc-frr-format: update debian bits
David Lamparter [Tue, 14 Jul 2020 17:52:02 +0000 (19:52 +0200)]
tools/gcc-frr-format: update debian bits

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agotools/gcc-frr-format: improve test
David Lamparter [Tue, 14 Jul 2020 17:46:55 +0000 (19:46 +0200)]
tools/gcc-frr-format: improve test

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agotools/gcc-frr-format: update for gcc 10
David Lamparter [Tue, 14 Jul 2020 12:40:53 +0000 (14:40 +0200)]
tools/gcc-frr-format: update for gcc 10

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agobuild: fix Makefile rule redefinition
David Lamparter [Fri, 17 Jul 2020 03:48:25 +0000 (05:48 +0200)]
build: fix Makefile rule redefinition

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agozebra: Silently ignore afi 128/129 for rules
Donald Sharp [Fri, 17 Jul 2020 00:57:14 +0000 (20:57 -0400)]
zebra: Silently ignore afi 128/129 for rules

We do not need to know anything about rules in afi 128/129
at this point in time.  Just note it with a zebra kernel
debug and move on.  This is not something that a operator
can do anything with and at this point in time FRR
does not care.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6752 from xThaid/evpn_neigh_fix
Donald Sharp [Fri, 17 Jul 2020 00:09:08 +0000 (20:09 -0400)]
Merge pull request #6752 from xThaid/evpn_neigh_fix

zebra: fix the installation of the evpn neighbor update

4 years agoMerge pull request #6706 from donaldsharp/router_id_bullshit
Renato Westphal [Thu, 16 Jul 2020 21:09:38 +0000 (18:09 -0300)]
Merge pull request #6706 from donaldsharp/router_id_bullshit

Router id vrf subnode configuration

4 years agostaticd: Formatting changes
vdhingra [Sun, 12 Jul 2020 17:59:26 +0000 (10:59 -0700)]
staticd: Formatting changes

Warning fixes for indentation

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agostaticd: Added afi-safi as a key in route-list
vdhingra [Thu, 2 Jul 2020 06:54:50 +0000 (23:54 -0700)]
staticd: Added afi-safi as a key in route-list

To address the ip mroute command there is a need to add
safi as a key. So adding the afi-safi-type identityref
as a key.

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agozebra: Moving afi-safi identity to lib
vdhingra [Thu, 2 Jul 2020 05:36:51 +0000 (22:36 -0700)]
zebra: Moving afi-safi identity to lib

afi-safi identity handling should be in the common place.

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agostaticd : Configuration northbound implementation
vdhingra [Fri, 24 Apr 2020 12:38:43 +0000 (05:38 -0700)]
staticd : Configuration northbound implementation

1. Modifies the data structs to make the distance, tag and table-id
   property of a route, i.e created a hireachical data struct to save
   route and nexthop information.
2. Backend northbound implementation

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agolib : basic-routing backend configuration northbound code
vdhingra [Fri, 24 Apr 2020 12:37:36 +0000 (05:37 -0700)]
lib : basic-routing backend configuration northbound code

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agolib : Yang wrappers
vdhingra [Fri, 24 Apr 2020 12:36:14 +0000 (05:36 -0700)]
lib : Yang wrappers

1. To get the parent node
2. To auto delete the parent when last node in list gets deleted

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agoyang : removed leafref to run CI/CD
vdhingra [Fri, 24 Apr 2020 12:35:27 +0000 (05:35 -0700)]
yang : removed leafref to run CI/CD

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agoyang : nexthop yang modification
vdhingra [Fri, 24 Apr 2020 12:34:41 +0000 (05:34 -0700)]
yang : nexthop yang modification

nexthop vrf is addded as a key along with nh-type, gateway,
interface.

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agoyang: staticd yang modification
vdhingra [Fri, 24 Apr 2020 12:32:59 +0000 (05:32 -0700)]
yang: staticd yang modification

staticd yang has been modified to support below use cases
1. src-table for IPV6 address family.
2. distance,tag and table-id would be the key for a given prefix.

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
4 years agozebra: fix SA warnings in backup nexthop code
Mark Stapp [Thu, 16 Jul 2020 15:00:17 +0000 (11:00 -0400)]
zebra: fix SA warnings in backup nexthop code

Fix a couple of recent SA warnings that came from backup
nexthop/nhlfe changes.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6751 from donaldsharp/pim_mem_leaks
Mark Stapp [Thu, 16 Jul 2020 14:45:26 +0000 (10:45 -0400)]
Merge pull request #6751 from donaldsharp/pim_mem_leaks

Pim mem leaks

4 years agoMerge pull request #6519 from RichardWu-Hebut/master
Donatas Abraitis [Thu, 16 Jul 2020 13:49:08 +0000 (16:49 +0300)]
Merge pull request #6519 from RichardWu-Hebut/master

bgpd: Fix the bug that BGP MRAI does not work.

4 years agozebra: fix installing an evpn neighbor update
Jakub Urbańczyk [Thu, 16 Jul 2020 13:49:05 +0000 (15:49 +0200)]
zebra: fix installing an evpn neighbor update

Fix the function encoding evpn neighbor. The size of the buffer
for the netlink message wasn't correct and because of that we thought that
the message didn't fit entirely in the buffer and thus we were not sending
the update to the kernel.

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agopimd: Cleanup leaked memory from rp initialization
Donald Sharp [Thu, 16 Jul 2020 12:16:39 +0000 (08:16 -0400)]
pimd: Cleanup leaked memory from rp initialization

When creating a pim instance, we were allocating table information
but never freeing it.  Do so.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopimd: Cleanup some small memory leaks on exit
Donald Sharp [Thu, 16 Jul 2020 12:13:21 +0000 (08:13 -0400)]
pimd: Cleanup some small memory leaks on exit

We were not properly cleaning up some memory in the pim mlag
subsystem.  Clean it up on exit.

Signed-off-by: Donald Sharp <sharpc@cumulusnetworks.com>
4 years agoMerge pull request #6701 from deastoe/ospf-area-format
Donald Sharp [Thu, 16 Jul 2020 00:17:39 +0000 (20:17 -0400)]
Merge pull request #6701 from deastoe/ospf-area-format

ospf: set display format for range command

4 years agoMerge pull request #6731 from opensourcerouting/style-string-prep
Donald Sharp [Thu, 16 Jul 2020 00:06:55 +0000 (20:06 -0400)]
Merge pull request #6731 from opensourcerouting/style-string-prep

*: string coding style

4 years agoMerge pull request #6746 from opensourcerouting/topotests-wtf
Donald Sharp [Thu, 16 Jul 2020 00:04:07 +0000 (20:04 -0400)]
Merge pull request #6746 from opensourcerouting/topotests-wtf

topotests: stop the zombie apocalypse

4 years agoMerge pull request #6333 from Spantik/ospf_default
Rafael Zalamena [Wed, 15 Jul 2020 17:55:16 +0000 (14:55 -0300)]
Merge pull request #6333 from Spantik/ospf_default

ospf: Default-information originate with routemap

4 years agotopotests: stop wasting time at exit
David Lamparter [Wed, 15 Jul 2020 16:48:18 +0000 (18:48 +0200)]
topotests: stop wasting time at exit

... and clean up zombie child processes

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotopotests: update Dockerfile
David Lamparter [Wed, 15 Jul 2020 16:41:07 +0000 (18:41 +0200)]
topotests: update Dockerfile

... python3 is non-optional now.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotopotests: unshittify backtraces
David Lamparter [Tue, 14 Jul 2020 21:30:28 +0000 (23:30 +0200)]
topotests: unshittify backtraces

add thread info, use "bt full" to get variables and add a bit of
disassembly for good measure.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoMerge pull request #6736 from NaveenThanikachalam/rmap_noop
Russ White [Wed, 15 Jul 2020 14:51:41 +0000 (10:51 -0400)]
Merge pull request #6736 from NaveenThanikachalam/rmap_noop

libfrr: Retain return value if the best index is found

4 years agoMerge pull request #6740 from FRRouting/revert-5015-rpki_vrf_encapsulation
Quentin Young [Tue, 14 Jul 2020 22:22:26 +0000 (18:22 -0400)]
Merge pull request #6740 from FRRouting/revert-5015-rpki_vrf_encapsulation

Revert "Rpki Encapsulation"

4 years agoRevert "Rpki Encapsulation"
Quentin Young [Tue, 14 Jul 2020 19:37:14 +0000 (15:37 -0400)]
Revert "Rpki Encapsulation"

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #6598 from mruprich/python-3.8
Quentin Young [Tue, 14 Jul 2020 19:35:02 +0000 (15:35 -0400)]
Merge pull request #6598 from mruprich/python-3.8

build: find all future minor versions of python3

4 years agolibfrr: Retain ret value if the best idx is found
Naveen Thanikachalam [Tue, 14 Jul 2020 16:15:27 +0000 (09:15 -0700)]
libfrr: Retain ret value if the best idx is found

While iteratively looking for a best match route-map index amongst
a list of potential best match route-map indices, if a candidate
best match index is already found, disregard the value returned by
the function route_map_apply_match() if it returns either RMAP_NOOP
or RMAP_NOMATCH in the following iterations.
This is because if a best match route-map index is found then, the
return value must always be set to RMAP_MATCH.

Signed-off-by: NaveenThanikachalam <nthanikachal@vmware.com>
4 years agoMerge pull request #6721 from kuldeepkash/bgp_basic_functionality
Mark Stapp [Tue, 14 Jul 2020 16:27:25 +0000 (12:27 -0400)]
Merge pull request #6721 from kuldeepkash/bgp_basic_functionality

tests: [topojson] Increase BGP convergence wait time

4 years agoospfd: set display format for range command
George Wilkie [Mon, 5 Nov 2018 15:43:55 +0000 (15:43 +0000)]
ospfd: set display format for range command

If you configure an area range in decimal format, the running
configuration displays it in dotted format.
Call ospf_area_display_format_set() for area range command,
as it is done for other variants.

Signed-off-by: Duncan Eastoe <duncan.eastoe@att.com>
4 years agoMerge pull request #5015 from pguibert6WIND/rpki_vrf_encapsulation
Quentin Young [Tue, 14 Jul 2020 15:52:47 +0000 (11:52 -0400)]
Merge pull request #5015 from pguibert6WIND/rpki_vrf_encapsulation

Rpki Encapsulation

4 years agoMerge pull request #6718 from opensourcerouting/bfd-profile-small-fix
Quentin Young [Tue, 14 Jul 2020 15:34:10 +0000 (11:34 -0400)]
Merge pull request #6718 from opensourcerouting/bfd-profile-small-fix

bfdd: update detect multiplier on profile change

4 years agotests: [topojson] Increase BGP convergence wait time
Kuldeep Kashyap [Sat, 11 Jul 2020 06:54:42 +0000 (06:54 +0000)]
tests: [topojson] Increase BGP convergence wait time

1. Increasing BGP convergence wait time to overcome Ubuntu 16.04 arm8 box, as
bgp neighorship is taking more time in this particular testbed.
2. Debugged bgp-ecmp-topo2 failures and here also it seems to be bgp convergence
issue, doing some enhancement in scripts to handle it

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agoisisd: fix OpenBSD pedantic format warnings
David Lamparter [Tue, 14 Jul 2020 10:02:54 +0000 (12:02 +0200)]
isisd: fix OpenBSD pedantic format warnings

constants are int-typed, so adding something to an uint8_t yields an
int.  Nevermind the fact that varargs calling conventions require
upcasting everything smaller than an int to an int anyways...

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years ago*: remove PRI[udx](8|16|32)
David Lamparter [Fri, 27 Mar 2020 11:51:47 +0000 (12:51 +0100)]
*: remove PRI[udx](8|16|32)

These are completely pointless and break coccinelle string replacements.

Scripted commit, idempotent to running:
```
python3 tools/stringmangle.py --pri8-16-32 `git ls-files | egrep '\.[ch]$'`
```

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years ago*: un-split strings across lines
David Lamparter [Fri, 27 Mar 2020 11:35:23 +0000 (12:35 +0100)]
*: un-split strings across lines

Remove mid-string line breaks, cf. workflow doc:

  .. [#tool_style_conflicts] For example, lines over 80 characters are allowed
     for text strings to make it possible to search the code for them: please
     see `Linux kernel style (breaking long lines and strings)
     <https://www.kernel.org/doc/html/v4.10/process/coding-style.html#breaking-long-lines-and-strings>`_
     and `Issue #1794 <https://github.com/FRRouting/frr/issues/1794>`_.

Scripted commit, idempotent to running:
```
python3 tools/stringmangle.py --unwrap `git ls-files | egrep '\.[ch]$'`
```

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agotools: add source code string mangler
David Lamparter [Tue, 14 Jul 2020 08:18:09 +0000 (10:18 +0200)]
tools: add source code string mangler

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoMerge pull request #6649 from xThaid/dplane_batching2
Rafael Zalamena [Mon, 13 Jul 2020 20:32:16 +0000 (17:32 -0300)]
Merge pull request #6649 from xThaid/dplane_batching2

zebra: netlink cleanup

4 years agoMerge pull request #6346 from ton31337/fix/bgp_hostname_nexthop_if_unchanged
Rafael Zalamena [Mon, 13 Jul 2020 19:15:41 +0000 (16:15 -0300)]
Merge pull request #6346 from ton31337/fix/bgp_hostname_nexthop_if_unchanged

bgpd: Show the real next-hop address in addition to hostname in `show…

4 years agoMerge pull request #5301 from idryzhov/show-interface
Quentin Young [Mon, 13 Jul 2020 15:23:53 +0000 (11:23 -0400)]
Merge pull request #5301 from idryzhov/show-interface

[RFC] zebra: remove vrf parameter from "show interface ..." commands

4 years agoMerge pull request #6704 from mjstapp/pthread_block_signals
Quentin Young [Mon, 13 Jul 2020 15:09:46 +0000 (11:09 -0400)]
Merge pull request #6704 from mjstapp/pthread_block_signals

lib: block signals in child pthreads

4 years agozebra: cosmetic changes in the netlink code
Jakub Urbańczyk [Mon, 13 Jul 2020 10:43:15 +0000 (12:43 +0200)]
zebra: cosmetic changes in the netlink code

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agodoc: Add some words about `bgp default show-[nexthop]-hostname`
Donatas Abraitis [Wed, 24 Jun 2020 14:26:27 +0000 (17:26 +0300)]
doc: Add some words about `bgp default show-[nexthop]-hostname`

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Add "hostname" in JSON output for `show bgp` family outputs
Donatas Abraitis [Wed, 6 May 2020 14:50:04 +0000 (17:50 +0300)]
bgpd: Add "hostname" in JSON output for `show bgp` family outputs

This adds hostname regardless if `bgp default show-hostname` enabled or not.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Show the real next-hop address in addition to hostname in `show bgp`
Donatas Abraitis [Wed, 6 May 2020 14:46:10 +0000 (17:46 +0300)]
bgpd: Show the real next-hop address in addition to hostname in `show bgp`

It's hard to cope with cases when next-hop is changed/unchanged or
peers are non-direct.

It would be better to show the hostname and nexthop IP address (both)
under `show bgp` to quickly identify the source and the real next-hop
of the route.

If `bgp default show-nexthop-hostname` is toggled the output looks like:
```
spine1-debian-9# show bgp
BGP table version is 1, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 65002
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*  2a02:4780::/64   fe80::a00:27ff:fe09:f8a3(exit1-debian-9)
                                             0             0 65001 ?

spine1-debian-9# show ip bgp
BGP table version is 5, local router ID is 2.2.2.2, vrf id 0
Default local pref 100, local AS 65002
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 10.255.255.0/24  192.168.0.1(exit1-debian-9)
                                             0             0 65001 ?
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobfdd: update detect multiplier on profile change
Rafael Zalamena [Sun, 28 Jun 2020 21:07:38 +0000 (18:07 -0300)]
bfdd: update detect multiplier on profile change

Add missing profile update hook for detection multiplier change.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6719 from opensourcerouting/fpm-force-nhg-fix
Donald Sharp [Mon, 13 Jul 2020 12:48:49 +0000 (08:48 -0400)]
Merge pull request #6719 from opensourcerouting/fpm-force-nhg-fix

zebra,fpm: fix force disable next hop groups

4 years agoMerge pull request #6716 from sworleys/Connected-Match-Ifindex
Mark Stapp [Fri, 10 Jul 2020 21:13:25 +0000 (17:13 -0400)]
Merge pull request #6716 from sworleys/Connected-Match-Ifindex

zebra: mark connected nh inactive if not matching ifindex

4 years agoMerge pull request #6715 from volta-networks/fix_isis_circ_sa
Donald Sharp [Fri, 10 Jul 2020 20:08:35 +0000 (16:08 -0400)]
Merge pull request #6715 from volta-networks/fix_isis_circ_sa

isisd: fix Coverity warning

4 years agozebra: mark connected nh inactive if not matching ifindex
Stephen Worley [Mon, 6 Jul 2020 22:20:14 +0000 (18:20 -0400)]
zebra: mark connected nh inactive if not matching ifindex

If we are asked to check if a nexthop is active and it matches a
connected route but the ifindex on it does not match the interface
with the connected route, mark as inactive. This is a bad nexthop.

Before, we would skip this check and just assume any nexthop that matches
on a connected route is valid and return here then fail during
installation. This adds a check for the IPV*_ifindex nexthop case where the
ifindex we have been sent doesn't match.

Old:
F>r 0.0.0.0/0 [200/0] via 20.0.0.2, test, weight 1, 00:00:27
  r                   via 40.4.4.4, lo, weight 1, 00:00:27

New:
F>* 0.0.0.0/0 [200/0] via 20.0.0.2, test, weight 1, 00:00:06
  *                   via 40.4.4.4, lo inactive, weight 1, 00:00:06

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agotests: Remove bgp_show_ip_bgp_fqdn test
Donatas Abraitis [Wed, 6 May 2020 14:45:31 +0000 (17:45 +0300)]
tests: Remove bgp_show_ip_bgp_fqdn test

Not really relevant for now.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agozebra,fpm: fix force disable next hop groups
Rafael Zalamena [Fri, 12 Jun 2020 15:21:28 +0000 (12:21 -0300)]
zebra,fpm: fix force disable next hop groups

`force_nhg` is only settable when calling from `fpm`, so if the kernel
was using next hop groups it would override our knob.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6530 from mjstapp/backup_nhg_notify
Donald Sharp [Fri, 10 Jul 2020 14:54:59 +0000 (10:54 -0400)]
Merge pull request #6530 from mjstapp/backup_nhg_notify

lib, zebra: async notifications for backup routes and LSPs

4 years agoisisd: fix Coverity warning
Emanuele Di Pascale [Fri, 10 Jul 2020 13:55:52 +0000 (15:55 +0200)]
isisd: fix Coverity warning

no need to check cicuit->area, as all code paths leading there
had already dereferenced it.
Fixes CID 1496314

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
4 years agoMerge pull request #6403 from NaveenThanikachalam/FRR_RMAP_FIX
Donald Sharp [Fri, 10 Jul 2020 12:07:04 +0000 (08:07 -0400)]
Merge pull request #6403 from NaveenThanikachalam/FRR_RMAP_FIX

lib: Fix erroneous r-map behavior

4 years agoMerge pull request #6713 from donaldsharp/pim_doc_fix
Donatas Abraitis [Fri, 10 Jul 2020 08:30:38 +0000 (11:30 +0300)]
Merge pull request #6713 from donaldsharp/pim_doc_fix

pimd: Add some missing mesh-group pim cmds

4 years agoMerge pull request #6702 from ton31337/feature/bgp_show_only_established_sessions
Donald Sharp [Fri, 10 Jul 2020 00:32:27 +0000 (20:32 -0400)]
Merge pull request #6702 from ton31337/feature/bgp_show_only_established_sessions

bgpd: Add command to show only established sessions

4 years agoMerge pull request #6703 from mjstapp/fix_bgp_30_secs
Donald Sharp [Fri, 10 Jul 2020 00:29:08 +0000 (20:29 -0400)]
Merge pull request #6703 from mjstapp/fix_bgp_30_secs

tests: print actual time spent waiting for bgp convergence

4 years agoMerge pull request #6708 from mrpaulmanley/bugfix/bfd_frr-reload
Donald Sharp [Fri, 10 Jul 2020 00:26:20 +0000 (20:26 -0400)]
Merge pull request #6708 from mrpaulmanley/bugfix/bfd_frr-reload

Add BFD peer awareness to frr-reload.py and vtysh markfile

4 years agoMerge pull request #6709 from mjstapp/fix_topo_ipaddr
Donald Sharp [Fri, 10 Jul 2020 00:20:36 +0000 (20:20 -0400)]
Merge pull request #6709 from mjstapp/fix_topo_ipaddr

tests: use ipaddress module; tolerate missing support bundle file

4 years agopimd: Add some missing mesh-group pim cmds
Donald Sharp [Fri, 10 Jul 2020 00:16:12 +0000 (20:16 -0400)]
pimd: Add some missing mesh-group pim cmds

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agotest: use ipaddress module instead of ipaddr
Mark Stapp [Thu, 9 Jul 2020 16:32:10 +0000 (12:32 -0400)]
test: use ipaddress module instead of ipaddr

Use the standard ipaddress module instead of installing 'ipaddr',
which may be deprecated now.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agovtysh: properly exit BFD_PEER_NODE when marking file
Paul Manley [Thu, 9 Jul 2020 16:25:34 +0000 (11:25 -0500)]
vtysh: properly exit BFD_PEER_NODE when marking file

vtysh needs to be aware of how to properly exit a bfd peer when subsequent commands only succeed in a higher context.

https://github.com/FRRouting/frr/issues/6511#issuecomment-656166206

Signed-off-by: Paul Manley <paul.manley@wholefoods.com>
4 years agotools: create sub-context for bfd peers
Paul Manley [Thu, 9 Jul 2020 16:21:16 +0000 (11:21 -0500)]
tools: create sub-context for bfd peers

add lines starting with 'peer' to the list of sub-contexts that are handled by frr-reload.py.

https://github.com/FRRouting/frr/issues/6511#issuecomment-655163833

Signed-off-by: Paul Manley <paul.manley@wholefoods.com>
4 years agotests: don't fail topotests if bundle file not present
Mark Stapp [Thu, 9 Jul 2020 16:13:55 +0000 (12:13 -0400)]
tests: don't fail topotests if bundle file not present

Test for the existence of the support_bundle conf file before
trying to access it.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agodoc: Update doc for router-id command
Donald Sharp [Thu, 9 Jul 2020 16:00:26 +0000 (12:00 -0400)]
doc: Update doc for router-id command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: Allow router-id to be part of the vrf sub node
Donald Sharp [Thu, 9 Jul 2020 15:57:22 +0000 (11:57 -0400)]
zebra: Allow router-id to be part of the vrf sub node

Modify zebra to accept router-id's as part of the
vrf subnode.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agopbrd: nhgc state improvements when installed/removed
Stephen Worley [Thu, 2 Jul 2020 00:02:37 +0000 (20:02 -0400)]
pbrd: nhgc state improvements when installed/removed

Cleanup the marking of a nhc as installed/removed based on table
route installation.

We were not even handling the removal state at all.

We saw some timing issues with the routes being installed/removed
multiple times and then never resending the pbr map due to bad states
on the nhgc.

Dont worry about checking if its already marked installed before
scheduling the policy walk. We have a check in `pbr_send_map()`
to ensure we dont try to resend a map sequence already installed.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agopbrd: uninstall NHG route if not valid anymore
Stephen Worley [Fri, 26 Jun 2020 18:16:25 +0000 (14:16 -0400)]
pbrd: uninstall NHG route if not valid anymore

Withdraw route from RIB if we detect the NHG is not valid
anymore. We were seeing an issue where we would leave a route
in zebra's RIB if it was recursive despite it being removed
from the kernel due to an interface going down.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agolib: block signals in child pthreads
Mark Stapp [Thu, 9 Jul 2020 15:21:10 +0000 (11:21 -0400)]
lib: block signals in child pthreads

Block signals in child/additional pthreads; frr daemons generally
expect that only the main thread will handle signals.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotests: print actual time spent waiting for bgp convergence
Mark Stapp [Thu, 9 Jul 2020 13:51:16 +0000 (09:51 -0400)]
tests: print actual time spent waiting for bgp convergence

Stop printing hard-coded 30 seconds in a couple of places in
bgp.py in the topojson infra - print the actual time
spent waiting.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agodoc: Add 'show bgp summary established' command
Donatas Abraitis [Thu, 9 Jul 2020 13:05:08 +0000 (16:05 +0300)]
doc: Add 'show bgp summary established' command

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Add command to show only established sessions
Donatas Abraitis [Thu, 9 Jul 2020 13:00:27 +0000 (16:00 +0300)]
bgpd: Add command to show only established sessions

```
exit1-debian-9# show bgp summary

IPv4 Unicast Summary:
BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
BGP table version 8
RIB entries 15, using 2880 bytes of memory
Peers 2, using 43 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
192.168.0.2     4        200        10         6        0    0    0 00:00:35            8        8
2a02:4780::2    4          0         0         1        0    0    0    never       Active        0

Total number of neighbors 2
exit1-debian-9# show bgp summary established

IPv4 Unicast Summary:
BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
BGP table version 8
RIB entries 15, using 2880 bytes of memory
Peers 2, using 43 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
192.168.0.2     4        200        10         6        0    0    0 00:00:39            8        8

Total number of neighbors 2
exit1-debian-9# show bgp summary failed

IPv4 Unicast Summary:
BGP router identifier 192.168.0.1, local AS number 100 vrf-id 0
BGP table version 8
RIB entries 15, using 2880 bytes of memory
Peers 2, using 43 KiB of memory

Neighbor        EstdCnt DropCnt ResetTime Reason
2a02:4780::2          0       0     never Waiting for peer OPEN

Total number of neighbors 2
exit1-debian-9#
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobuild: find all future minor versions of python3
Michal Ruprich [Wed, 17 Jun 2020 11:47:30 +0000 (13:47 +0200)]
build: find all future minor versions of python3

This way we can find every python from 3.8 further

Signed-off-by: Michal Ruprich <michalruprich@gmail.com>
4 years agoMerge pull request #6385 from GalaxyGorilla/bfd_igp_topotest
Renato Westphal [Wed, 8 Jul 2020 17:38:09 +0000 (14:38 -0300)]
Merge pull request #6385 from GalaxyGorilla/bfd_igp_topotest

isis: tests: Fast RIB recovery from BFD recognized link failures

4 years agoMerge pull request #6697 from donaldsharp/ospf_router_id_ordering
Mark Stapp [Wed, 8 Jul 2020 16:41:59 +0000 (12:41 -0400)]
Merge pull request #6697 from donaldsharp/ospf_router_id_ordering

ospfd: allow interfaces to come up in rare situation

4 years agoospfd: allow interfaces to come up in rare situation
Donald Sharp [Wed, 8 Jul 2020 01:48:34 +0000 (21:48 -0400)]
ospfd: allow interfaces to come up in rare situation

On startup of both zebra and ospfd.  If ospfd has not
received a valid router-id *but* has received interface
data, interfaces will not be turned on in the state
machine.  When ospf finally receives a valid router-id
it would never actually kick the state machine into
action for those interfaces it has been configured for.

Modify ospf on router id changes, *if* the old
router id was INADDR_ANY *and* the interface is
operative *and* the oi->state is ISM_Down, give
it the old kick in the patooeys

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agozebra: netlink cleanup
Jakub Urbańczyk [Wed, 24 Jun 2020 18:34:38 +0000 (20:34 +0200)]
zebra: netlink cleanup

 * Split zebra's netlink code into smaller functions to be more
   generic.

Signed-off-by: Jakub Urbańczyk <xthaid@gmail.com>
4 years agoMerge pull request #6693 from qlyoung/doc-value-initialization-practices
Donatas Abraitis [Wed, 8 Jul 2020 08:04:14 +0000 (11:04 +0300)]
Merge pull request #6693 from qlyoung/doc-value-initialization-practices

Document value initialization practices

4 years agoMerge pull request #6690 from kuldeepkash/bgp_basic_functionality
Donald Sharp [Tue, 7 Jul 2020 23:44:37 +0000 (19:44 -0400)]
Merge pull request #6690 from kuldeepkash/bgp_basic_functionality

tests: Generate support bundle/dump data on tests failures