Commit Graph

20641 Commits

Author SHA1 Message Date
Quentin Young
25ee44b522
Merge pull request #6732 from opensourcerouting/printfrr-prep
*: preparations for printfrr coccinelle run
2020-07-29 14:29:34 -04:00
Donald Sharp
93d08879ad
Merge pull request #6769 from opensourcerouting/acl-regress
lib,yang: merge cisco/zebra access list styles
2020-07-29 09:57:39 -04:00
Rafael Zalamena
e41e0f8135 zebra,fpm: serialize zebra table walks
We were not getting any benefits from attempting to walk all tables at the
same time and it made debugging harder, so lets execute one table walk
per time.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-07-28 12:34:12 -03:00
Rafael Zalamena
55eb9d4d7d zebra,fpm: fix race on completion detection
Zebra runs on a different thread than FPM, so we need to synchronize
them by using events. While here, implement completion detection for all
kinds of walk.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-07-28 12:34:12 -03:00
Rafael Zalamena
e1afb97fdd zebra,fpm: fix input handling
Two important fixes:

* `stream_read_try` does a dirty trick and converts the `-1` return to
  `-2` when errno is `EAGAIN`, `EWOULDBLOCK` or `EINTR`.
* Don't enable reads until the connection is complete.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2020-07-28 12:34:12 -03:00
David Lamparter
fd2edd5ac1
Merge pull request #6792 from chiragshah6/pim_dev
*: pim igmp yang registery to appropriate makefile
2020-07-28 15:13:00 +02:00
David Lamparter
f41f38d88d
Merge pull request #6787 from toreanderson/master
tools: do not silently ignore errors when loading config during startup
2020-07-28 15:09:15 +02:00
Russ White
996b789193
Merge pull request #6758 from chiragshah6/yang_nb6
EVPN northbound conversion for vrf l3vni mapping command
2020-07-28 07:22:24 -04:00
Russ White
4f08132ae9
Merge pull request #6808 from ton31337/fix/dampening_reuse_limit_assert
bgpd: Bypass SA tests regarding division by zero for reuse_limit in dampening
2020-07-28 06:20:29 -04:00
vdhingra
65de8bc8d0 lib: Add support to load submodules in embedded modules framework
BGP Yang is using sub modules and at present FRR is not processing
submodules in embedded framework yang

Signed-off-by: VishalDhingra <vdhingra@vmware.com>
2020-07-28 00:39:32 -07:00
David Lamparter
9034306e4d
Merge pull request #6806 from donaldsharp/tests_log_monitor
tests: Remove 'log monitor' from tests
2020-07-28 00:15:22 +02:00
Rafael Zalamena
5a1ac9688f
Merge pull request #6805 from ton31337/fix/dead_code
bgpd: Remove peer_afc_set()
2020-07-27 18:35:20 -03:00
Rafael Zalamena
4abb2e9951
Merge pull request #6804 from donaldsharp/remove_cisco_compatability
doc: Remove `Cisco Compatability` section
2020-07-27 17:15:02 -03:00
Donatas Abraitis
3ec5c50019 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>
2020-07-27 20:38:42 +03:00
Renato Westphal
790953a387
Merge pull request #6765 from mjstapp/backup_nhg_netlink
lib,zebra: support multiple backup nexthops
2020-07-27 12:49:36 -03:00
Donald Sharp
c19e12b74f 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>
2020-07-27 11:09:16 -04:00
Donatas Abraitis
db8a7160da
Merge pull request #6803 from donaldsharp/coverity_moo_moo
Coverity code cleanup
2020-07-27 17:20:51 +03:00
Donatas Abraitis
dfbd3ae378 bgpd: Remove peer_afc_set()
Dead code.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-07-27 17:16:32 +03:00
Mark Stapp
6c4b304f33
Merge pull request #6662 from kuldeepkash/evpn_type2_tests
tests: Adding test suites evpn_type5_test_topo1
2020-07-27 08:16:31 -04:00
Donald Sharp
b53e5c9ce9 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>
2020-07-27 07:57:13 -04:00
Donald Sharp
5f140efeef 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>
2020-07-27 07:10:41 -04:00
Donald Sharp
7b3a380531 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>
2020-07-27 06:59:45 -04:00
Donald Sharp
3130e28686 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:
23ca3269da

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

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2020-07-27 06:54:23 -04:00
Donatas Abraitis
1460d1b473
Merge pull request #6802 from donaldsharp/various
Various
2020-07-27 10:36:24 +03:00
Donald Sharp
0b1321e218 vrrpd: Make clang 11 happy
Recent changes to remove PRIu... in commit:
6cde4b4552

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>
2020-07-26 19:05:09 -04:00
Donald Sharp
ced26d3d49 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>
2020-07-26 18:58:25 -04:00
Donatas Abraitis
9cbd06e0f8 bgpd: Add a knob to force maximum-prefix even for filtered routes
If _force_ is set, then ALL prefixes are counted for maximum instead of
accepted only. This is useful for cases where an inbound filter is applied,
but you want maximum-prefix to act on ALL (including filtered) prefixes.

For instance, we have a configuration like:

neighbor r1 maximum-prefix 10
neighbor r1 prefix-list custom in
!
ip prefix-list custom seq 1 permit 10.0.0.0/24
ip prefix-list custom seq 2 permit 10.0.1.0/24

This will accept only 2 prefixes and discard all others instead of
shutting down the session when 10 is reached.

With this new knob (force), we will count all received prefixes and shutdown
the session when 10 is reached.

The bigger problem is when you have lots of peers with full feed and such a
configuration like in an example.

This is kinda re-ordering of how to treat filter vs. maximum-prefix.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-07-26 23:16:37 +03:00
Donatas Abraitis
c1bcac1d78 doc: Add new bgpd command maximum-prefix <num> force
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2020-07-26 23:08:31 +03:00
Quentin Young
7d1d2517ea
Merge pull request #6796 from russellb/bgp-debug-newline
bgpd: Add missing newline to a log message
2020-07-24 19:09:36 -04:00
Quentin Young
6df9625212
Merge pull request #6771 from opensourcerouting/netbsd-tls-buf
lib: fix TLS log buffer on NetBSD
2020-07-24 14:53:28 -04:00
Russell Bryant
81bf7425ba 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>
2020-07-24 08:20:26 -04:00
Donatas Abraitis
d2b4eeb1fb
Merge pull request #6793 from maduri111/bgpd-wide
bgpd: wide option
2020-07-24 08:42:26 +03:00
Russ White
a90f46738a
Merge pull request #6730 from wesleycoakley/pbrd-dscp-ecn
DSCP / ECN-based PBR Matching
2020-07-23 12:08:38 -04:00
Quentin Young
bd6cec43c3
Merge pull request #6243 from pguibert6WIND/flowspec_some_regression_seen
Flowspec some regression seen
2020-07-23 11:26:00 -04:00
Madhuri Kuruganti
ae2488324e bgpd: wide option
Signed-off-by: Madhuri Kuruganti <k.madhuri@samsung.com>
2020-07-23 19:18:11 +05:30
Tore Anderson
e220f954de
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 858aa29c68 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>
2020-07-23 10:29:27 +02:00
Chirag Shah
b37e4b282d *: 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>
2020-07-22 23:22:23 -07:00
Quentin Young
9d9adc84c7
Merge pull request #6343 from opensourcerouting/watchfrr-n-20200505
watchfrr: add `-N` and `--netns` options
2020-07-22 12:07:14 -04:00
David Lamparter
aa01fe3f49 doc: update watchfrr manpage
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-07-22 12:56:04 +02:00
David Lamparter
e2986b1b27 tools: add frr@.service
... for starting an FRR instance.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-07-22 12:56:04 +02:00
David Lamparter
a0a7dead0b tools/frr-reload.py: support -N pathspace
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2020-07-22 12:56:04 +02:00
David Lamparter
33606a1547 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>
2020-07-22 12:56:04 +02:00
Kuldeep Kashyap
1b66072ce0 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>
2020-07-22 09:04:16 +00:00
Kuldeep Kashyap
3c334c3915 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>
2020-07-22 06:12:55 +00:00
Mark Stapp
832d7382c8
Merge pull request #6780 from chiragshah6/evpn_dev2
zebra: vrf disable clean up evpn rmac and nxthp cache
2020-07-21 16:08:13 -04:00
Quentin Young
65b86778c1
Merge pull request #6711 from GalaxyGorilla/bfd_isis_profiles
Add BFD profiles for IS-IS
2020-07-21 14:45:31 -04:00
Quentin Young
807b454043
Merge pull request #6435 from idryzhov/fix-no-vrf
vtysh: return success from "no vrf" when VRF doesn't exist
2020-07-21 11:48:34 -04:00
Mark Stapp
ff8d3c2dd4 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>
2020-07-21 08:04:00 -04:00
David Lamparter
a5d68ac07a
Merge pull request #6700 from deastoe/ospf6-interface-decimal-area 2020-07-21 13:42:59 +02:00
David Lamparter
97c8ca8808
Merge pull request #6777 from idryzhov/vtysh-defpy
vtysh: rework DEFPY processing in extract.pl
2020-07-21 13:36:33 +02:00