Commit Graph

24361 Commits

Author SHA1 Message Date
Javier Garcia
9af46face2 doc: clang in openbsd is the default and update compiler.
Also
 - update info about new packages needed as libcares.
 - create proper links to libyang so ld can find the lib.

Signed-off-by: Javier Garcia <javier.garcia@voltanet.io>
2021-04-28 18:53:20 +02:00
Quentin Young
693fc882d7 zebra: use safe stream decodes for evpn zapi msg
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-28 11:43:50 -04:00
Quentin Young
f3aa221ffd pimd, zebra: explicit cast int netlink val to uint
encoding signed int as unsigned is bad practice; since we want to do
it here lets at least be explicit about it

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-28 11:43:50 -04:00
Quentin Young
bbad027684 lib, bgpd, zebra: RA interval is unsigned
Use unsigned value for all RA requests to Zebra

- encoding signed int as unsigned is bad practice
- RA interval is never, and should never be, negative

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-28 11:43:50 -04:00
Quentin Young
0ffd0fb536 bgpd, zebra: encode ip addr len as uint16
This is always a 16 bit unsigned value.

- signed int is the wrong type to use
- encoding a signed int as a uint32 is bad practice
- decoding a signed int encoded as a uint32 into a uint16 is bad
  practice

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-04-28 11:43:45 -04:00
Jafar Al-Gharaibeh
fa4154ef8b
Merge pull request #8322 from qlyoung/topotests
Assorted topotests cleanup
2021-04-28 10:40:25 -05:00
Erik Kooistra
23508fff9f ospfd: Fixed some ASAN errors
This fixes 2 asan errors:
If we only have a TLV_ROUTER_ADDR don't continue after we skipped it.
Fixed length when parsing EXT_TLV_LINK_SIZE.

Signed-off-by: Erik Kooistra <me@erikkooistra.nl>
2021-04-28 15:51:18 +02:00
Rafael Zalamena
45881354fb
Merge pull request #8583 from idryzhov/fix-topotest
tests: fix topotest polling log
2021-04-28 07:16:43 -03:00
Donatas Abraitis
a1fc0cb01e
Merge pull request #8471 from idryzhov/cleanup-num-named-lists
*: cleanup number-named access-lists and prefix-lists
2021-04-28 08:33:24 +03:00
Igor Ryzhov
8d3dab20b5 tests: fix topotest polling log
The current log prints maximum wait time which is not actually correct,
because it doesn't include the command execution time. We usually have
"failed after X seconds" log with X being far longer than this maximum.

Let's print the maximum number of tries instead.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-28 02:52:58 +03:00
Ameya Dharkar
d60f63f087 bgpd: Handle EAD/EVI local route updates on VNI RD change
When VNI RD changes, EAD/EVI routes with old RD should be withdrawn from
the global routing table and EAD/EVI routes in the VNI should be
advertised with the new RD.

Signed-off-by: Ameya Dharkar <adharkar@vmware.com>
2021-04-27 16:35:24 -07:00
Russ White
d8c3daca19
Merge pull request #8531 from mjstapp/fix_backups_misc
zebra: Misc fixups for backup nexthops
2021-04-27 16:04:24 -04:00
Russ White
0a9fdfee67
Merge pull request #8527 from opensourcerouting/fixes-20210421
lib: fix zlog assert() & CLI node_exit
2021-04-27 15:14:12 -04:00
Russ White
43f337aee8
Merge pull request #8487 from pguibert6WIND/ospf6_vrfs
ospf6d: add 'show ipv6 ospf6 vrfs' command
2021-04-27 15:06:11 -04:00
Mark Stapp
4be858e587
Merge pull request #8572 from opensourcerouting/pthread-autoconf
build: fix pthread CFLAGS for function checks
2021-04-27 13:50:18 -04:00
Stephen Worley
829c939a88
Merge pull request #8488 from mjstapp/more_workqueue
lib, zebra: use zebra workqueue for NHG updates
2021-04-27 11:59:33 -04:00
David Lamparter
f1d85301f3 build: fix pthread CFLAGS for function checks
The pthread_* checks for extra pthread features really need
PTHREAD_CFLAGS...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-27 15:11:33 +02:00
Donatas Abraitis
ad889e0d17 tests: Add pytest bgpd markers for recent BGP tests
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-04-27 09:23:58 +03:00
Donatas Abraitis
b47f1527b4
Merge pull request #8553 from idryzhov/fix-bgp-get
bgpd: fix bgp_get_vty return values
2021-04-27 09:22:08 +03:00
Renato Westphal
120dab7e17
Merge pull request #8517 from volta-networks/ldp_defer_zebra_updates
ldpd: defer register for info until configured
2021-04-26 23:57:57 -03:00
Renato Westphal
54e9f5138c
Merge pull request #8538 from mjstapp/re_dump_nh_labels
zebra: include nexthops' label stacks in zebra rib debug
2021-04-26 23:57:03 -03:00
Donald Sharp
c0267e5a1b
Merge pull request #8565 from mjstapp/fix_eigrp_tlvs
eigrpd: validate TLV lengths
2021-04-26 19:38:01 -04:00
Igor Ryzhov
d09328e599 bgpd: fix bgp_get_vty return values
There are multiple problems:
- commit ef7c53e2 introduced a new return value 2 which broke things,
  because a lot of code treats non-zero return as an error,
- there is an incorrect error returned when AS number mismatches.

This commit fixes both.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-26 23:16:51 +03:00
Igor Ryzhov
9a92b4e75d
Merge pull request #8548 from donaldsharp/bgp_dampening
bgpd: prevent doppelganger overwrite of subsuquently configured cli
2021-04-26 23:13:05 +03:00
Rubens Figueiredo
6ad993774c doc: isis: document default value for metric-style
Signed-off-by: Rubens Figueiredo <rubens.figueiredo@bisdn.de>
2021-04-26 17:36:20 +02:00
Mark Stapp
9e01ea8c8a
Merge pull request #8520 from donaldsharp/ecmp_doc_change
zebra: Add some flavor documentation for ECMP in zebra
2021-04-26 11:26:18 -04:00
Mark Stapp
bb46c2d1ff eigrpd: validate TLV lengths
Check that incoming TLVS a) don't overrun the incoming packet,
b) don't underrun the required size for the type of TLV.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
2021-04-26 11:20:57 -04:00
Mark Stapp
b5130003af
Merge pull request #8549 from sworleys/NHG-Grace-Fix
zebra: Proto-NHG Fix Graceful-Restart-Retain Crash Loop
2021-04-26 08:34:31 -04:00
Mark Stapp
8123bf2bd6
Merge pull request #8534 from opensourcerouting/threads-vs-fork
lib, pathd PCEP: creating threads before forking does _not_ work
2021-04-26 07:57:15 -04:00
Rafael Zalamena
ae08637827
Merge pull request #8540 from donaldsharp/kill_them_all
tests: Remove kill_mininet_router_process
2021-04-26 11:52:38 +00:00
Rafael Zalamena
cd66038b98
Merge pull request #8555 from idryzhov/fix-bfd-test
tests: fix bfd-bgp-cbit-topo3 test
2021-04-26 11:49:00 +00:00
Emanuele Di Pascale
67da957372 zebra: debug log for redistribute_del
We're firing an event debug log for zebra_redistribute_add, but not one
for zebra_redistribute_delete. Let's make it symmetric.

Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-04-26 10:00:37 +02:00
Fredi Raspall
ce510d2e0e ldpd: defer register for info until configured
Instead of registering to receive default-VRF information and routes
when first connected to zebra, defer the registration until some ldp
configuration is entered.

This avoids redistributing IPv4/IPv6 routes to ldpd when not needed.

Signed-off-by: Fredi Raspall <fredi@voltanet.io>
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
2021-04-26 10:00:37 +02:00
Donatas Abraitis
22a8c40f2a
Merge pull request #8526 from donaldsharp/sysctl_doc
doc: Start talking about useful sysctl's for proper zebra operation
2021-04-25 11:54:13 +03:00
Donatas Abraitis
109637ec5f
Merge pull request #8543 from volta-networks/fix_bgp_invalid_nexthop
bgpd: fix invalid labeled nexthop check
2021-04-25 11:52:19 +03:00
Donald Sharp
53aabbe192 bgpd: Prevent race condition loss of config
If we have a situation where BGP is partially reading in a config
file for a neighbor, *and* the neighbor is coming up *and* we
have a doppelganger.  There exists a race condition when we transfer
the config from the doppelganger to the config peer that we will
overwrite later config because we are copying the config data
from the doppelganger peer( which was captured at the start of initiation
of the peering ).

From what I can tell the peer->af_flags variable is to hold configuration
flags for the local peer.  The doppelganger should never overwrite this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-04-23 23:53:51 -04:00
Igor Ryzhov
f49bdb86eb tests: fix bfd-bgp-cbit-topo3 test
This test is completely incorrect on test_bfd_loss_intermediate step.
It shuts down the interface and then "waiting" for the BGP session to
fail. But instead of the actual wait it compares the output of "show bfd
peers" with the "up" state. As it does this comparison right after the
interface shutdown, the BFD session has not yet failed and the comparison
is always successful except very rare cases when the command takes a lot
of time to execute (due to the heavy load on CI system I suppose).

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-04-24 01:33:32 +03:00
Igor Ryzhov
2ccc493333
Merge pull request #8495 from opensourcerouting/ospfv3-bfd-rework
ospf6d: rework BFD integration and add BFD profiles support
2021-04-24 00:47:31 +03:00
Igor Ryzhov
d06501f3c6
Merge pull request #8462 from opensourcerouting/pim-bfd-refactor
pimd: rework BFD integration and add profile support
2021-04-24 00:46:29 +03:00
Igor Ryzhov
646c4a38dc
Merge pull request #8539 from donaldsharp/isis_circuit_warning
Isis circuit warning
2021-04-23 22:44:49 +03:00
David Lamparter
adf8924df6 ldpd: set frr_is_after_fork in lde/ldpe
These subprocesses don't use frr_config_fork(), so frr_is_after_fork is
never set.  While the frr_pthread stuff isn't currently used there, set
the flag anyway to avoid future headaches.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-23 15:17:07 +02:00
Donald Sharp
c5b8ce0620 isisd: Remove warnings and add some data to debugs for isis_csm.c
When running isis and not running isis on all interfaces results
in a bunch of warn messages to the log about circuit state
changes.  These warn messages also didn't bother to inform
the end user what interface was causing the fun.  Since
the end operator cannot do anything with these warn messages
and nor should they in the vast array of normal operations
modify the code to use event debugging and turn the warns
to debugs.

Additionally add some information to clue the operator
in on to what actual interface we are talking about.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-04-23 08:41:41 -04:00
Rafael Zalamena
d5f9847a9e topotests: test PIM BFD profile integration
Test that PIM BFD profile integration works.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:29:00 -03:00
Rafael Zalamena
46e3d00803 doc: document new PIM BFD command variant
Tell user he can configure BFD profile for sessions created by PIM.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:29:00 -03:00
Rafael Zalamena
745b8d4a68 pimd: support BFD profiles configuration
Allow users to pre configure BFD sessions with a profile.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:29:00 -03:00
Rafael Zalamena
3544d257b7 yang: add PIM BFD profile support
Allow users to configure BFD profile for the peers in a interface.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:29:00 -03:00
Rafael Zalamena
0d00ac9cb5 topotests: add new basic PIM topology test
Test for PIM (re)convergence and BFD usage.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:29:00 -03:00
Rafael Zalamena
1f3e6bf585 pimd: rework BFD integration
Rewrite the BFD integration code to use the new library.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2021-04-23 09:28:57 -03:00
David Lamparter
642ac49da4 *: remaining zassert => assert
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-23 12:25:51 +02:00
David Lamparter
df5dfb77b5 pimd: zassert => assert
No point in having pimd use zassert() while everything else uses plain
assert().

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-04-23 12:25:47 +02:00