]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agosharpd,vtysh: no access list or route map commands
Rafael Zalamena [Mon, 3 Aug 2020 23:55:47 +0000 (20:55 -0300)]
sharpd,vtysh: no access list or route map commands

Don't send access list or route map commands to `sharpd` since it
doesn't use them.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agovtysh: recategorize access list commands
Rafael Zalamena [Tue, 28 Jul 2020 00:27:50 +0000 (21:27 -0300)]
vtysh: recategorize access list commands

Create a new category for access lists commands so we can avoid sending
configurations (which might be big) to daemons which do not use it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
4 years agoMerge pull request #6832 from pguibert6WIND/ignore_nhrp
Renato Westphal [Mon, 3 Aug 2020 23:03:39 +0000 (20:03 -0300)]
Merge pull request #6832 from pguibert6WIND/ignore_nhrp

nhrpd: ignore zebra updates about our routes being deleted/added

4 years agoMerge pull request #6845 from opensourcerouting/foreach-safi-formatting
Quentin Young [Mon, 3 Aug 2020 16:27:28 +0000 (12:27 -0400)]
Merge pull request #6845 from opensourcerouting/foreach-safi-formatting

clang-format: add FOREACH_SAFI to the ForEachMacros list

4 years agoMerge pull request #6781 from chiragshah6/mdev
Renato Westphal [Mon, 3 Aug 2020 15:57:45 +0000 (12:57 -0300)]
Merge pull request #6781 from chiragshah6/mdev

yang: create route-map leafref reference type

4 years agoclang-format: add FOREACH_SAFI to the ForEachMacros list
Renato Westphal [Mon, 3 Aug 2020 15:18:24 +0000 (12:18 -0300)]
clang-format: add FOREACH_SAFI to the ForEachMacros list

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years agoMerge pull request #6833 from donaldsharp/pcount_selected
Donatas Abraitis [Sat, 1 Aug 2020 10:09:28 +0000 (13:09 +0300)]
Merge pull request #6833 from donaldsharp/pcount_selected

bgpd: Add to neighbor prefix-counts the count of best path selected

4 years agoyang: route-map model description format
Chirag Shah [Wed, 29 Jul 2020 20:03:35 +0000 (13:03 -0700)]
yang: route-map model description format

Added "." at the enf of each description of fields.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoyang: route-map style format
Chirag Shah [Tue, 21 Jul 2020 05:04:28 +0000 (22:04 -0700)]
yang: route-map style format

Align to yanglint format

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoyang: create route-map leafref reference type
Chirag Shah [Tue, 21 Jul 2020 04:47:03 +0000 (21:47 -0700)]
yang: create route-map leafref reference type

Create leafref reference type for route-map name.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agobgpd: Add to neighbor prefix-counts the count of best path selected
Donald Sharp [Fri, 31 Jul 2020 14:06:39 +0000 (10:06 -0400)]
bgpd: Add to neighbor prefix-counts the count of best path selected

When we have a prefix that has been selected, note that that
particular flag has been set and give that information to the
end user.

eva# show bgp ipv4 uni neighbors 192.168.161.131 prefix-counts
Prefix counts for 192.168.161.131, IPv4 Unicast
PfxCt: 814246

Counts from RIB table walk:

              Adj-in: 0
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 814246
             All RIB: 814246
       PfxCt counted: 814246
 PfxCt Best Selected: 0
             Useable: 814246
eva# show bgp ipv4 uni neighbors 192.168.161.2 prefix-counts
Prefix counts for 192.168.161.2, IPv4 Unicast
PfxCt: 814070

Counts from RIB table walk:

              Adj-in: 0
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 814070
             All RIB: 814070
       PfxCt counted: 814070
 PfxCt Best Selected: 814070
             Useable: 814070

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agonhrpd: ignore zebra updates about our routes being deleted/added
Philippe Guibert [Thu, 5 Mar 2020 14:50:37 +0000 (14:50 +0000)]
nhrpd: ignore zebra updates about our routes being deleted/added

nhrp listens for route entries to be deleted, in case some new routes
impact the current routes installed by nhrp. To prevent from
unconfiguring nhrp shortcut route, just prevent nhrp routes to be
processed.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agoMerge pull request #6778 from mjstapp/fix_topo_route_scale
Rafael Zalamena [Thu, 30 Jul 2020 20:59:42 +0000 (17:59 -0300)]
Merge pull request #6778 from mjstapp/fix_topo_route_scale

tests: rework route_scale topotest

4 years agoMerge pull request #6824 from liweitianux/patch-1
Donald Sharp [Thu, 30 Jul 2020 18:34:34 +0000 (14:34 -0400)]
Merge pull request #6824 from liweitianux/patch-1

ospfd: Fix Zebra route add message truncation issue

4 years agotests: Avoid top ecmp route_scale test case when memory limited
Mark Stapp [Wed, 29 Jul 2020 20:57:37 +0000 (16:57 -0400)]
tests: Avoid top ecmp route_scale test case when memory limited

Address-sanitizer runs in the CI appear to require more
memory than is available (at present), so skip the top
x32 route_scale testcase when running with <4G of ram.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotests: rework route_scale topotest
Mark Stapp [Mon, 20 Jul 2020 18:51:16 +0000 (14:51 -0400)]
tests: rework route_scale topotest

Make some changes to the route-scale topotest, in view of
issue #6734. Table-drive the test to eliminate some
repeated code. Assert and fail if a step in the progression
of scale fails. Wait a little longer between checking the show
output - it's costly to generate that output at scale. Add a
memleak testcase.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6825 from kuldeepkash/evpn_type2_tests
Mark Stapp [Thu, 30 Jul 2020 18:09:24 +0000 (14:09 -0400)]
Merge pull request #6825 from kuldeepkash/evpn_type2_tests

tests: Skipping evpn_type5_test_topo1 tests from CI runs

4 years agoospfd: Fix Zebra route add message truncation issue
Aaron LI [Thu, 30 Jul 2020 11:22:34 +0000 (19:22 +0800)]
ospfd: Fix Zebra route add message truncation issue

The `INET_ADDRSTRLEN` is 16 and is only enough to format an IPv4 address.
So when there is a prefix (`/xx`), the debug output may get truncated.
Use `PREFIX2STR_BUFFER` macro instead to fix the issue.

Signed-off-by: Aaron LI <aly@aaronly.me>
4 years agotests: Skipping evpn_type5_test_topo1 tests from CI runs
Kuldeep Kashyap [Thu, 30 Jul 2020 12:12:07 +0000 (12:12 +0000)]
tests: Skipping evpn_type5_test_topo1 tests from CI runs

1. evpn_type5_test_topo1 tests started failing in CI for all Ubuntu 18.04 machine,
which are having kernel version: 5.4.0-42-generic
2. We will enable these tests once issue is found and fixed.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agoMerge pull request #6732 from opensourcerouting/printfrr-prep
Quentin Young [Wed, 29 Jul 2020 18:29:34 +0000 (14:29 -0400)]
Merge pull request #6732 from opensourcerouting/printfrr-prep

*: preparations for printfrr coccinelle run

4 years agoMerge pull request #6769 from opensourcerouting/acl-regress
Donald Sharp [Wed, 29 Jul 2020 13:57:39 +0000 (09:57 -0400)]
Merge pull request #6769 from opensourcerouting/acl-regress

lib,yang: merge cisco/zebra access list styles

4 years agoMerge pull request #6792 from chiragshah6/pim_dev
David Lamparter [Tue, 28 Jul 2020 13:13:00 +0000 (15:13 +0200)]
Merge pull request #6792 from chiragshah6/pim_dev

*: pim igmp yang registery to appropriate makefile

4 years agoMerge pull request #6787 from toreanderson/master
David Lamparter [Tue, 28 Jul 2020 13:09:15 +0000 (15:09 +0200)]
Merge pull request #6787 from toreanderson/master

tools: do not silently ignore errors when loading config during startup

4 years agoMerge pull request #6758 from chiragshah6/yang_nb6
Russ White [Tue, 28 Jul 2020 11:22:24 +0000 (07:22 -0400)]
Merge pull request #6758 from chiragshah6/yang_nb6

EVPN northbound conversion for vrf l3vni mapping command

4 years agoMerge pull request #6808 from ton31337/fix/dampening_reuse_limit_assert
Russ White [Tue, 28 Jul 2020 10:20:29 +0000 (06:20 -0400)]
Merge pull request #6808 from ton31337/fix/dampening_reuse_limit_assert

bgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening

4 years agoMerge pull request #6806 from donaldsharp/tests_log_monitor
David Lamparter [Mon, 27 Jul 2020 22:15:22 +0000 (00:15 +0200)]
Merge pull request #6806 from donaldsharp/tests_log_monitor

tests: Remove 'log monitor' from tests

4 years agoMerge pull request #6805 from ton31337/fix/dead_code
Rafael Zalamena [Mon, 27 Jul 2020 21:35:20 +0000 (18:35 -0300)]
Merge pull request #6805 from ton31337/fix/dead_code

bgpd: Remove peer_afc_set()

4 years agoMerge pull request #6804 from donaldsharp/remove_cisco_compatability
Rafael Zalamena [Mon, 27 Jul 2020 20:15:02 +0000 (17:15 -0300)]
Merge pull request #6804 from donaldsharp/remove_cisco_compatability

doc: Remove `Cisco Compatability` section

4 years agobgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening
Donatas Abraitis [Mon, 27 Jul 2020 17:38:42 +0000 (20:38 +0300)]
bgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening

reuse_limit can't be zero basically, Coverity just does not know how the
value comes in.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6765 from mjstapp/backup_nhg_netlink
Renato Westphal [Mon, 27 Jul 2020 15:49:36 +0000 (12:49 -0300)]
Merge pull request #6765 from mjstapp/backup_nhg_netlink

lib,zebra: support multiple backup nexthops

4 years agotests: Remove 'log monitor' from tests
Donald Sharp [Mon, 27 Jul 2020 15:09:16 +0000 (11:09 -0400)]
tests: Remove 'log monitor' from tests

The `log monitor' command is a no-op and actually
outputs a `this doesn't do anything` warning.  Let's remove
this cli line from our tests as that don't do anything and
people will look at these configs for guidance.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6803 from donaldsharp/coverity_moo_moo
Donatas Abraitis [Mon, 27 Jul 2020 14:20:51 +0000 (17:20 +0300)]
Merge pull request #6803 from donaldsharp/coverity_moo_moo

Coverity code cleanup

4 years agobgpd: Remove peer_afc_set()
Donatas Abraitis [Mon, 27 Jul 2020 14:16:32 +0000 (17:16 +0300)]
bgpd: Remove peer_afc_set()

Dead code.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #6662 from kuldeepkash/evpn_type2_tests
Mark Stapp [Mon, 27 Jul 2020 12:16:31 +0000 (08:16 -0400)]
Merge pull request #6662 from kuldeepkash/evpn_type2_tests

tests: Adding test suites evpn_type5_test_topo1

4 years agodoc: Remove `Cisco Compatability` section
Donald Sharp [Mon, 27 Jul 2020 11:57:13 +0000 (07:57 -0400)]
doc: Remove `Cisco Compatability` section

This code was deprecated in 5.0 and removed after a year.
It has not been in the code base and we forgot to update the
doc.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Deref after null check in bgp_evpn_vty.c
Donald Sharp [Mon, 27 Jul 2020 11:10:41 +0000 (07:10 -0400)]
bgpd: Deref after null check in bgp_evpn_vty.c

Coverity has noticed that we are using bgp_evpn after
we have already NULL checked it one time.  Add an assert
to make Coverity happy here, if we get to this point
something terrible has happened.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Prevent Null pointer usage
Donald Sharp [Mon, 27 Jul 2020 10:59:45 +0000 (06:59 -0400)]
bgpd: Prevent Null pointer usage

Coverity rightly points out that bgp_table_top might return
NULL and immediately deref'ing it might be a problem.
Add a bit of safety.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agobgpd: Comment out dead code for future
Donald Sharp [Mon, 27 Jul 2020 10:54:23 +0000 (06:54 -0400)]
bgpd: Comment out dead code for future

I wanted to preserve the old code flow to see what might
be needed in the future in commit:
23ca3269da5f9d898cb54d42c560d519b9cb9915

Coverity doesn't like dead code.  So let's comment it out.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6802 from donaldsharp/various
Donatas Abraitis [Mon, 27 Jul 2020 07:36:24 +0000 (10:36 +0300)]
Merge pull request #6802 from donaldsharp/various

Various

4 years agovrrpd: Make clang 11 happy
Donald Sharp [Sun, 26 Jul 2020 23:05:09 +0000 (19:05 -0400)]
vrrpd: Make clang 11 happy

Recent changes to remove PRIu... in commit:
6cde4b45528e52819c803de92d10d4be3abddf29

causes clang 11 to be unhappy, with length of field warnings.
Modify the offending code to compile properly using that compiler.
I've tested against clang 11 and gcc 9.3

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agodoc: Add doc for `coalesce-time` in bgp
Donald Sharp [Sun, 26 Jul 2020 22:58:25 +0000 (18:58 -0400)]
doc: Add doc for `coalesce-time` in bgp

The documentation for this command was missing.  Add a little
bit of data for people in the future.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #6796 from russellb/bgp-debug-newline
Quentin Young [Fri, 24 Jul 2020 23:09:36 +0000 (19:09 -0400)]
Merge pull request #6796 from russellb/bgp-debug-newline

bgpd: Add missing newline to a log message

4 years agoMerge pull request #6771 from opensourcerouting/netbsd-tls-buf
Quentin Young [Fri, 24 Jul 2020 18:53:28 +0000 (14:53 -0400)]
Merge pull request #6771 from opensourcerouting/netbsd-tls-buf

lib: fix TLS log buffer on NetBSD

4 years agobgpd: Add missing newline to a log message
Russell Bryant [Fri, 24 Jul 2020 00:26:54 +0000 (20:26 -0400)]
bgpd: Add missing newline to a log message

While checking my BGP debugging settings at the console, I noticed
this message was missing a newline.  Add it to be consistent with the
other similar messages.

Signed-off-by: Russell Bryant <rbryant@redhat.com>
4 years agoMerge pull request #6793 from maduri111/bgpd-wide
Donatas Abraitis [Fri, 24 Jul 2020 05:42:26 +0000 (08:42 +0300)]
Merge pull request #6793 from maduri111/bgpd-wide

bgpd: wide option

4 years agoMerge pull request #6730 from wesleycoakley/pbrd-dscp-ecn
Russ White [Thu, 23 Jul 2020 16:08:38 +0000 (12:08 -0400)]
Merge pull request #6730 from wesleycoakley/pbrd-dscp-ecn

DSCP / ECN-based PBR Matching

4 years agoMerge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen
Quentin Young [Thu, 23 Jul 2020 15:26:00 +0000 (11:26 -0400)]
Merge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen

Flowspec some regression seen

4 years agobgpd: wide option
Madhuri Kuruganti [Thu, 23 Jul 2020 09:20:52 +0000 (14:50 +0530)]
bgpd: wide option

Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
4 years agotools: do not silently ignore errors when loading config during startup
Tore Anderson [Wed, 22 Jul 2020 15:32:18 +0000 (17:32 +0200)]
tools: do not silently ignore errors when loading config during startup

Drop the `-n` (`--noerror`) flag from the `vtysh -b` invocation called by the
init script responsible for starting FRR. This ensures that errors in the
configuration file is propagated to the administrator, and prevents a node from
entering a production network while running an essentially undefined
configuration (a behaviour that I can personally attest to has the potential to
cause disastrous network outages - documented in more detail in Cumulus
Networks CS#12791).

Silently ignoring errors also leads to the rather odd behaviour that starting
FRR will ostensibly succeed, while reloading it immediately after - without
changing the configuration - will fail. This is due to the fact that the `-n`
flag is not used while reloading.

The use of the `-n` flag appears to have been introduced without any
explanation in commit 858aa29c6862ed2390baee53b6fc9f54e65246e2 by @donaldsharp.
Looking at the commit message, I suspect that it was not an intentional change.
It seems more likely to me that it was just meant to be used during testing and
development, but ended up being committed to master by accident.

Ticket:CM-28003

Signed-off-by: Tore Anderson <tore@fud.no>
4 years ago*: pim igmp yang registery to appropriate makefile
Chirag Shah [Thu, 23 Jul 2020 06:16:05 +0000 (23:16 -0700)]
*: pim igmp yang registery to appropriate makefile

Move pim and igmp yang files registery to appropriate makefiles.

In yang directory makefile move under `PIMD`
Remove pimd yang files from library makefile instead move them
to pimd makefile.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoMerge pull request #6343 from opensourcerouting/watchfrr-n-20200505
Quentin Young [Wed, 22 Jul 2020 16:07:14 +0000 (12:07 -0400)]
Merge pull request #6343 from opensourcerouting/watchfrr-n-20200505

watchfrr: add `-N` and `--netns` options

4 years agodoc: update watchfrr manpage
David Lamparter [Thu, 8 Aug 2019 18:55:40 +0000 (20:55 +0200)]
doc: update watchfrr manpage

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotools: add frr@.service
David Lamparter [Thu, 8 Aug 2019 18:51:01 +0000 (20:51 +0200)]
tools: add frr@.service

... for starting an FRR instance.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotools/frr-reload.py: support -N pathspace
David Lamparter [Thu, 8 Aug 2019 18:20:33 +0000 (20:20 +0200)]
tools/frr-reload.py: support -N pathspace

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agowatchfrr: add (network) namespace support
David Lamparter [Thu, 8 Aug 2019 17:25:39 +0000 (19:25 +0200)]
watchfrr: add (network) namespace support

This adds -N and --netns options to watchfrr, allowing it to start
daemons with -N and switching network namespaces respectively.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotests: Adding test suites evpn_type5_test_topo1
Kuldeep Kashyap [Wed, 1 Jul 2020 13:16:34 +0000 (13:16 +0000)]
tests: Adding test suites evpn_type5_test_topo1

1. Added 15 test cases to test evpn type5 functionality
2. Total execution time is ~9 mins

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agotests: Adding framework support for EVPN-Type5 automation
Kuldeep Kashyap [Wed, 1 Jul 2020 13:13:08 +0000 (13:13 +0000)]
tests: Adding framework support for EVPN-Type5 automation

1. Added APIs to create evpn related config.
2. Added APIs to verify evpn config and routes.

Signed-off-by: Kuldeep Kashyap <kashyapk@vmware.com>
4 years agoMerge pull request #6780 from chiragshah6/evpn_dev2
Mark Stapp [Tue, 21 Jul 2020 20:08:13 +0000 (16:08 -0400)]
Merge pull request #6780 from chiragshah6/evpn_dev2

zebra: vrf disable clean up evpn rmac and nxthp cache

4 years agoMerge pull request #6711 from GalaxyGorilla/bfd_isis_profiles
Quentin Young [Tue, 21 Jul 2020 18:45:31 +0000 (14:45 -0400)]
Merge pull request #6711 from GalaxyGorilla/bfd_isis_profiles

Add BFD profiles for IS-IS

4 years agoMerge pull request #6435 from idryzhov/fix-no-vrf
Quentin Young [Tue, 21 Jul 2020 15:48:34 +0000 (11:48 -0400)]
Merge pull request #6435 from idryzhov/fix-no-vrf

vtysh: return success from "no vrf" when VRF doesn't exist

4 years agozebra: add validate function for zapi_labels message
Mark Stapp [Mon, 20 Jul 2020 21:19:31 +0000 (17:19 -0400)]
zebra: add validate function for zapi_labels message

Add a simple validation function for zapi_labels messages; it
checks for and validates backup nexthop indexes currently.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #6700 from deastoe/ospf6-interface-decimal-area
David Lamparter [Tue, 21 Jul 2020 11:42:59 +0000 (13:42 +0200)]
Merge pull request #6700 from deastoe/ospf6-interface-decimal-area

4 years agoMerge pull request #6777 from idryzhov/vtysh-defpy
David Lamparter [Tue, 21 Jul 2020 11:36:33 +0000 (13:36 +0200)]
Merge pull request #6777 from idryzhov/vtysh-defpy

vtysh: rework DEFPY processing in extract.pl

4 years agoMerge pull request #6745 from ton31337/fix/handle_bgp_vrf_all_statistics_crash
David Lamparter [Tue, 21 Jul 2020 06:01:22 +0000 (08:01 +0200)]
Merge pull request #6745 from ton31337/fix/handle_bgp_vrf_all_statistics_crash

4 years agoMerge pull request #6764 from dslicenc/frr-reload-vrf-static
David Lamparter [Tue, 21 Jul 2020 05:51:55 +0000 (07:51 +0200)]
Merge pull request #6764 from dslicenc/frr-reload-vrf-static

tools: fix more frr-reload vrf static errors

4 years agoMerge pull request #6776 from idryzhov/ospf-vty
David Lamparter [Tue, 21 Jul 2020 05:49:11 +0000 (07:49 +0200)]
Merge pull request #6776 from idryzhov/ospf-vty

ospfd: remove redundant line continuations

4 years agoMerge pull request #6754 from mjstapp/stream_warn_backtrace
David Lamparter [Tue, 21 Jul 2020 05:48:01 +0000 (07:48 +0200)]
Merge pull request #6754 from mjstapp/stream_warn_backtrace

lib: add a backtrace when stream bounds check fails

4 years agoMerge pull request #6775 from idryzhov/vtysh-linemarkers
David Lamparter [Tue, 21 Jul 2020 05:47:08 +0000 (07:47 +0200)]
Merge pull request #6775 from idryzhov/vtysh-linemarkers

vtysh: suppress linemarkers in vtysh_cmd.c

4 years agozebra: vrf disable clean up evpn rmac nxthp cache
Chirag Shah [Mon, 6 Jul 2020 18:13:54 +0000 (11:13 -0700)]
zebra: vrf disable clean up evpn rmac nxthp cache

In networking restart event, l3vni (vxlan) interface followed by
associated vrf interfaces go down/deleted.
L3vni (oper) down event (from zebra to bgp) triggers to
clean up/un-import evpn routes (one-by-one) from the vrf table,
zebra internally removes the route entry from nexthop and RMAC hash.
When all the routes references in nexthop and RMAC db removed,
both (nexthop/rmac) are suppose to be uninstalled from the
bridge fdb and neigh table.
While evpn routes removal in progress, a vrf disable event removes
l3vni to its vrf association.
Subsequent bgp to evpn routes removal does not clean up thus evpn routes
reference to nexthop and RMAC remains in zebra hash.
bridge fdb and neigh tables are flushed out since networking restart brings down
all interfaces which results in flush of fdb and neigh tables.
By product is the zebra does not install nexthop and rmac when routes are re-imported
into vrf in VNI/VRF up event.

The fix is in vrf disable event to flush all l3vni's nexthop and rmac db.

Ticket:CM-30338
Reviewed By:CCR-10489
Testing Done:

Performed multiple networking restart and checked neigh and
bridge fdb tables for respective nexthop and router mac entry
programmed.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agozebra: evpn l3vni map to vrf nb changes
Chirag Shah [Tue, 14 Jul 2020 21:23:48 +0000 (14:23 -0700)]
zebra: evpn l3vni map to vrf nb changes

The set of northbound changes for l3vni configuration
command under vrf.

vrf x
 vni 1000 prefix-routes-only

{
  "frr-vrf:lib": {
    "vrf": [
      {
        "name": "vrf1",
        "frr-zebra:zebra": {
          "l3vni-id": 4001
        }
      },
      {
        "name": "vrf2",
        "frr-zebra:zebra": {
          "l3vni-id": 4002,
          "prefix-only": true
        }
      }
    ]
  }
}

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agozebra: include backup nexthops for pseudowires
Mark Stapp [Fri, 17 Jul 2020 17:55:23 +0000 (13:55 -0400)]
zebra: include backup nexthops for pseudowires

Include any installed backup nexthops when installing
pseudowires; include installed backups in vty and json
pw show output.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: improve vty, simplify some primary/backup code
Mark Stapp [Fri, 17 Jul 2020 17:10:29 +0000 (13:10 -0400)]
zebra: improve vty, simplify some primary/backup code

Improve vty output for routes and lsps with backups, including
json. Simplify or correct some code that uses both primary and
backup nexthops in dplane, nht.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoyang: move evpn l3vni config under vrf
Chirag Shah [Tue, 14 Jul 2020 17:55:37 +0000 (10:55 -0700)]
yang: move evpn l3vni config under vrf

Move EVPN L3VNI configuration under vrf tree.

augment /frr-vrf:lib/frr-vrf:vrf:
  +--rw zebra
     |
     +--rw vni-id?        vni-id-type
     +--rw prefix-only?   boolean

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
4 years agoMerge pull request #6729 from volta-networks/fix_stale_pw_status
Renato Westphal [Mon, 20 Jul 2020 15:28:58 +0000 (12:28 -0300)]
Merge pull request #6729 from volta-networks/fix_stale_pw_status

ldpd: Update LDP to process received pw-status in received order.

4 years agovtysh: rework DEFPY processing in extract.pl
Igor Ryzhov [Mon, 20 Jul 2020 15:15:49 +0000 (18:15 +0300)]
vtysh: rework DEFPY processing in extract.pl

Currently, all DEFPY commands are translated into one-liners in
vtysh_cmd.c. After the patch, DEFPY commands are correctly indented just
like DEFUN/ALIAS commands.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoospfd: remove redundant line continuations
Igor Ryzhov [Mon, 20 Jul 2020 15:09:34 +0000 (18:09 +0300)]
ospfd: remove redundant line continuations

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agovtysh: suppress linemarkers in vtysh_cmd.c
Igor Ryzhov [Mon, 20 Jul 2020 15:08:00 +0000 (18:08 +0300)]
vtysh: suppress linemarkers in vtysh_cmd.c

Remove lines like this from the vtysh_cmd.c:
```
# 10764 "bgpd/bgp_route.c"
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoldpd: process pw-status in received order
Karen Schoener [Mon, 13 Jul 2020 16:22:15 +0000 (12:22 -0400)]
ldpd: process pw-status in received order

Update LDP to process received pw-status in received order.
Update LDP to save pw-status regardless of whether the PW is configured.
When the PW is configured, LDP checks for any saved PW pw-status.

Signed-off-by: Karen Schoener <karen@voltanet.io>
4 years agolib: add a backtrace when stream bounds check fails
Mark Stapp [Thu, 16 Jul 2020 15:05:01 +0000 (11:05 -0400)]
lib: add a backtrace when stream bounds check fails

Add a backtrace call when the stream code detects a bounds error,
to help with debugging.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agolib: fix TLS log buffer on NetBSD
David Lamparter [Sun, 19 Jul 2020 09:14:48 +0000 (11:14 +0200)]
lib: fix TLS log buffer on NetBSD

... this didn't work on NetBSD.  Like, at all.  It returns a positive
error code from posix_fallocate() and then we bang our head against a
brick wall trying to write to the mmap'd buffer.

Signed-off-by: David Lamparter <equinox@diac24.net>
4 years agolib,yang: merge cisco/zebra access list styles
Rafael Zalamena [Sun, 19 Jul 2020 18:27:56 +0000 (15:27 -0300)]
lib,yang: merge cisco/zebra access list styles

Merge the cisco style access list with zebra's logic so we can mix both
types of rules while keeping the commands.

With this the cisco style limitation of having 'destination-*' only for
specific number ranges no longer exist for users of YANG/northbound (the
CLI still has this limitation).

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 agozebra: add a route_entry flag for FIB-specific nexthops
Mark Stapp [Fri, 17 Jul 2020 17:07:31 +0000 (13:07 -0400)]
zebra: add a route_entry flag for FIB-specific nexthops

Add a route_entry flag to indicate the presence of a fib
(installed) list of nexthops - more explicit and clearer.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agolib: use const in nexthop_level() api
Mark Stapp [Thu, 9 Jul 2020 19:07:50 +0000 (15:07 -0400)]
lib: use const in nexthop_level() api

Use const in nexthop_level()

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agozebra: improve show output for routes with backups
Mark Stapp [Wed, 8 Jul 2020 20:34:58 +0000 (16:34 -0400)]
zebra: improve show output for routes with backups

Improve/clarify some show output for routes with backup
nexthops, esp. multiple backups.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agolib: support multiple backup nexthops in nexthop group cli
Mark Stapp [Wed, 1 Jul 2020 19:56:37 +0000 (15:56 -0400)]
lib: support multiple backup nexthops in nexthop group cli

Revise the nexthop-group cli to support multiple backups for
a single primary nexthop.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agolib: add nexthop_str2backup
Mark Stapp [Wed, 1 Jul 2020 19:55:16 +0000 (15:55 -0400)]
lib: add nexthop_str2backup

Add an api to convert an input list into an array of backup
nexthop indexes; useful for cli input.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agolib,sharpd,zebra: initial support for multiple backup nexthops
Mark Stapp [Tue, 30 Jun 2020 19:52:37 +0000 (15:52 -0400)]
lib,sharpd,zebra: initial support for multiple backup nexthops

Initial changes to support a nexthop with multiple backups. Lib
changes to hold a small array in each primary, zapi message
changes to support sending multiple backups, and daemon
changes to show commands to support multiple backups. The config
input for multiple backup indices is not present here.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agotools: fix more frr-reload vrf static errors
Don Slice [Tue, 14 Jul 2020 14:39:06 +0000 (14:39 +0000)]
tools: fix more frr-reload vrf static errors

Reported that in certain config changes, a static intended for the
default table would be duplicated into a vrf context.  Determined
that we still weren't keeping or adding the exit-vrf command when
necessary to keep the contexts straight.  Added logic to look for
the failing circumstances and add or remove the delete of the
exit-vrf command as needed.

Signed-off-by: Don Slice <dslice@nvidia.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 agozebra: do not free iptable context, once created
Philippe Guibert [Thu, 16 Apr 2020 13:18:24 +0000 (15:18 +0200)]
zebra: do not free iptable context, once created

This commit avoids freeing the iptable context, once created. the case
where there is an error when reading zapi stream simply needs to free
the zpi context.

Fixes: ("8b5c4dce07e6 zebra: fix iptable memleak, fix free funcs")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
4 years agobgpd: flowspec pbr entries list display fix
Philippe Guibert [Thu, 16 Apr 2020 13:57:18 +0000 (15:57 +0200)]
bgpd: flowspec pbr entries list display fix

the pbr entries list was not terminated with a carriage return and a
parenthesis.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
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>