Commit Graph

29152 Commits

Author SHA1 Message Date
Quentin Young
526e898295 doc: fix wrong reference to release filename
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-10 11:58:29 -05:00
Igor Ryzhov
accef597df ospfd: remove commands for broken GR helper mode
Issue #9983 explains what is wrong with the GR helper mode.

To unblock the CI that fails almost all the time on the ospf_gr_topo1
test, remove the commands and disable the test. Also add a reminder to
completely remove the helper mode if no one fixes the code in a month.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-10 19:17:03 +03:00
Donatas Abraitis
37b6787730
Merge pull request #9700 from mjstapp/add_json_det_attrs
bgpd: Add 'show bgp <afi> <safi> json detail' header data
2021-11-10 16:42:30 +02:00
David Lamparter
afb8fe93b1 doc: stick libunwind into build docs
It's strictly optional, but… the backtraces are really much better.
Specifically, `libunwind` is notably more capable in figuring out
function names compared to glibc/libexecinfo `backtrace_symbols()`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 15:30:56 +01:00
David Lamparter
de75bdc37b doc: add unique-id & backtrace user docs
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 15:30:56 +01:00
David Lamparter
3942ee1f7b lib: fix elf_py TLS section handling
... need to ignore TLS sections, their address is effectively
meaningless but can overlap other sections we actually need to access.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 15:30:56 +01:00
Igor Ryzhov
c3634e4411 bfdd: fix coverity warnings
show/clear DEFUNs always require either peer label or IP address to be
specified, so if `label` is NULL then `peer_str` is definitely not NULL.
But Coverity doesn't know about that, so it complains about possible
NULL dereference of `peer_str`. This commit should make Coverity happy.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-10 16:36:15 +03:00
David Lamparter
8d4e934b08 lib: avoid include loop with assert.h
`assert.h` -> `xref.h` -> `typesafe.h` -> `assert.h`

Might be possible to do this more cleanly some way, but that way is not
obvious, so here's the "simple & dumb" approach.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 12:36:50 +01:00
David Lamparter
ef990bd94b lib: add debug uid XXXXX-XXXXX backtrace
Looks much prettier if `libunwind` is available, but works with glibc or
libexecinfo's `backtrace()` too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-10 12:36:50 +01:00
Rafael Zalamena
08b4c288db
Merge pull request #9941 from chiragshah6/mdev
pimd: fix msdp mesh grp with wildcard member addr
2021-11-10 07:41:33 -03:00
David Lamparter
4894e9c12a lib: stuff xrefs into a tree for lookup
... so we can actually access by UID without searching the entire list.

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-11-10 10:39:17 +01:00
David Lamparter
b0993fb201 lib: add missing include in typerb.h
The RB-tree macros use memset(), so we need to #include <string.h>

Signed-off-by: David Lamparter <equinox@diac24.net>
2021-11-10 10:39:17 +01:00
Quentin Young
f34334ba44 doc: many process fixes / reorders
* Separate process into stages; stage 1 is preparation, stage 2 is
  staging, stage 3 is publishing
* Reorder some steps
* Remove some steps
* Elaborate on some steps
* Add some steps

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 16:40:41 -05:00
Quentin Young
5530810f33 doc: change instructions for running release tests
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 16:21:55 -05:00
Quentin Young
b7ca0bc360 doc: update docs details in release procedure
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:12:37 -05:00
Quentin Young
4bdfe95e2e doc: use sphinx auto-numbering in release docs
Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-09 15:08:54 -05:00
Anuradha Karuppiah
6b74db7544 pimd: handle vxlan sg add/del for upstream entries that are in a reg-join state
pim-vxlan uses periodic null registers to bootstrap a new (VTEP, mcast-grp).
These null registers were not being sent if the (S, G) was already present
and in a register-join state.

Ticket: #2848079

Signed-off-by: Anuradha Karuppiah <anuradhak@nvidia.com>
2021-11-09 10:31:46 -08:00
Mark Stapp
34e5d7e884
Merge pull request #9939 from idryzhov/fix-ptm-build
zebra: fix build with --enable-bfdd=no
2021-11-09 11:49:09 -05:00
Quentin Young
46be0bd1ae
Merge pull request #10007 from Jafaral/debrpm 2021-11-09 11:25:15 -05:00
rgirada
89f472acb4 ospfd: fixing few coverity issues in ospf_vty.c
Description:
	timerval datastructure is being used without initialization.
	Using these uninitialized parameters can lead unexpected results
	so initializing before using it.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
2021-11-09 04:35:12 -08:00
Igor Ryzhov
b6380d60c7
Merge pull request #9996 from opensourcerouting/resolver-fix-threads
lib: fix `struct thread **` misuse in c-ares resolver bindings
2021-11-09 13:55:44 +03:00
Russ White
d630e21a0b
Merge pull request #9924 from idryzhov/isis-nb-improvements
various isisd northbound fixes
2021-11-08 17:56:22 -05:00
Russ White
e2b5cbf7a0
Merge pull request #9995 from donaldsharp/bfd_ospf_topo1_convvergence
tests: bfd_ospf_topo1 expects unreasonable convergence times under load
2021-11-08 13:52:12 -05:00
Quentin Young
5b80c10d1f doc: update release process
Clarify process for editing changelog and updating the configure.ac
project version, as well as procedure for doing sanity testing prior to
creating the release tag.

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
2021-11-08 13:50:18 -05:00
Jafar Al-Gharaibeh
350dd6d895 debian: adjust the changelog for the dev branch
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2021-11-08 11:54:42 -06:00
Jafar Al-Gharaibeh
c5b26b20a7 debian, redhat: sync changelog from 8.1 release
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2021-11-08 11:43:33 -06:00
Chirag Shah
b13f35ec67 zebra: svi down remove l2vni from l3vni list
Problem:
L2-VNI SVI down followed by L2-VNI's vxlan device
deletion leads to stale entry into L3VNI's
L2-VNI list.

Solution:
When L2-VNI associated SVI is down, default vrf
is the new tenant vrf.
Remove L2-VNI from L3VNI's l2vni list as
L3VNI/VRF is no longer valid in absence of associated
SVI.

When SVI is up re-add L2-VNI into associated VRF's
L3VNI.

The above remove/add from the L3VNI's L2VNI list is
already done when vxlan or L2-VNI is flaped, just need
to handle when SVI is flapped.

Ticket:#2817127
Reviewed By:
Testing Done:

After deleting SVI following by L2-VNI deletion,
L3VNI's L2-VNI list delets the L2-VNI. (no stale entry).

After adding back SVI/L2-VNI, L3VNI list adds back the
L2-VNI and it is associated right tenant VRF.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-11-08 09:33:16 -08:00
Donald Sharp
b7bd8fce85
Merge pull request #9966 from idryzhov/release-daemon-table-chunks
zebra: don't register same hook multiple times
2021-11-08 12:28:10 -05:00
Donald Sharp
240f79f89f
Merge pull request #9984 from ton31337/fix/bgp_view_all
bgpd: Set afi by default to AFI_IP6 for `show bgp vrf/view all`
2021-11-08 12:27:10 -05:00
Chirag Shah
97495b70b8 pimd: fix msdp mesh grp with wildcard member addr
frr-reload fails to recognize wildcard "*" for
member address in frr.conf/runing-config as cli
syntax expects in v4 address format.

Ticket: #2816923

Testing:

Without fix:
running config:
ip msdp mesh-group foo1 member *
Frr reoad failure log:
2021-11-02 11:05:04,317  INFO: Loading Config object from vtysh show running
line 5: % Unknown command: ip msdp mesh-group foo1 member *

Traceback (most recent call last):
  File "/usr/lib/frr/frr-reload.py", line 1950, in <module>

With fix:
--------
running config displays:
ip msdp mesh-group foo1 member 0.0.0.0

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2021-11-08 06:50:55 -08:00
David Lamparter
14ae4f17a8 lib: remove vector_get_index()
... its only purpose was to serve as a footgun, and all such uses have
been eliminated now.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-08 14:07:30 +01:00
David Lamparter
ecabab0320 tests: add c-ares "exercise" tool
This can't really be run as part of CI, it's intended as a helper
instead, to use manually after poking around in the c-ares binding code.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-08 14:06:21 +01:00
David Lamparter
865dd9fe0b tests: allow common_cli.c with logging enabled
common_cli.c disables logging by default so stdio is usable as vty
without log messages getting strewn inbetween.  This the right thing for
most tests, but not all; sometimes we do want log messages.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-08 14:06:21 +01:00
David Lamparter
faf079ff7e lib: fix c-ares thread misuse
The `struct thread **ref` that the thread code takes is written to and
needs to stay valid over the lifetime of a thread.  This does not hold
up if thread pointers are directly put in a `vector` since adding items
to a `vector` may reallocate the entire array.  The thread code would
then write to a now-invalid `ref`, potentially corrupting entirely
unrelated data.

This should be extremely rare to trigger in practice since we only use
one c-ares channel, which will likely only ever use one fd, so the
vector is never resized.  That said, c-ares using only one fd is just
plain fragile luck.

Either way, fix this by creating a resolver_fd tracking struct, and
clean up the code while we're at it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-08 14:06:21 +01:00
Igor Ryzhov
2d5b7a5b46
Merge pull request #9977 from ton31337/fix/documentation_for_rpki_from_packages
doc: We must install rpki packages to enable RPKI support
2021-11-08 15:42:51 +03:00
Donald Sharp
bd1d06530b
Merge pull request #10001 from idryzhov/fix-bgp-ci
tests: fix bgp_community_change_update
2021-11-08 07:35:38 -05:00
Igor Ryzhov
9780353f6c tests: fix bgp_community_change_update
949aaea5 removed debugs from all topotests, but this test relies on the
debug logs so it constantly fails now.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-08 13:35:09 +03:00
Donatas Abraitis
5a238a01f1 doc: We must install rpki packages to enable RPKI support
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-08 11:34:52 +02:00
Donald Sharp
30200bc624
Merge pull request #9871 from opensourcerouting/vector-remove-vty
lib: 🧹🧹🧹 vty code 🧹🧹🧹
2021-11-07 10:58:27 -05:00
Christian Hopps
03238bde62
Merge pull request #9859 from donaldsharp/reduce_debugs
tests: Remove debugs from topotests
2021-11-07 09:52:28 -05:00
Donald Sharp
7b66f10e20 tests: bfd_ospf_topo1 expects unreasonable convergence times under load
When our CI test system is under high load, expecting bfd to
converge in under 2 seconds is not going to happen.  Modify the test
suites to just ensure that things reconvderge.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-11-07 08:38:33 -05:00
Donatas Abraitis
d44d6092ed
Merge pull request #9954 from donaldsharp/redistribute_nexthops
zebra: Send up ifindex for redistribution when appropriate
2021-11-07 15:01:03 +02:00
Donald Sharp
949aaea5ba tests: Remove debugs from topotests
Debugs take up a significant amount of cpu time as well as
increased disk space for storage of results. Reduce test
over head by removing the debugs, Hopefully this helps
alleviate some of the overloading that we are seeing in
our CI systems.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-11-07 07:45:27 -05:00
David Lamparter
26ae7cc219 lib: keep vty listeners in a proper struct & list
Makes a bit more sense than the odd vector stuff.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-06 21:11:40 +01:00
David Lamparter
43dd8cafa3 lib: replace vtyvec/vtyshvec with lists
These are just used to iterate over active vty sessions, a vector is a
weird choice there.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-06 21:11:40 +01:00
David Lamparter
69b089fbfd lib: remove unused vty_log() functions
These had no remaining users for a while now.  The logging backend has
its own list of receivers.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-06 21:11:40 +01:00
Donatas Abraitis
458c1475ab bgpd: Set afi by default to AFI_IP6 for show bgp vrf/view detail
AFI/SAFI is handled in bgp_vty_find_and_parse_afi_safi_bgp() properly for
IPv4, but not for IPv6. Let's have it enabled for IPv6 by default.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-06 15:54:20 +02:00
Donatas Abraitis
54d05dea57 bgpd: Set afi by default to AFI_IP6 for show bgp vrf/view all
AFI/SAFI is handled in bgp_vty_find_and_parse_afi_safi_bgp() properly for
IPv4, but not for IPv6. Let's have it enabled for IPv6 by default.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
2021-11-06 15:50:56 +02:00
Donatas Abraitis
79fd3e0c97
Merge pull request #9958 from donaldsharp/all_protocol_nhg_replace
tests: Fix route replace test in all_protocol_startup
2021-11-06 15:11:33 +02:00
Christian Hopps
70eb6c94e6
Merge pull request #9980 from donaldsharp/pim_compile
pimd: remove usage of inet_ntop
2021-11-06 07:12:26 -04:00