Commit Graph

26761 Commits

Author SHA1 Message Date
Igor Ryzhov
88ae096331 fabricd: cleanup interface config output
We don't need to scan through all configured areas to find the circuit
associated with the interface. It is always stored in ifp->info.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-11 14:56:34 +03:00
Igor Ryzhov
92f85e656b lib: remove confusing bfd TTL API
There are two APIs to control the expected number of hops for a BFD
session – `bfd_sess_set_mininum_ttl` and `bfd_sess_set_hop_count`.
The former is very confusing, as it takes an expected TTL in the
BFD packet which is actually a protocol internal value. The latter is
simple and straightforward – it takes an expected number of hops, which
is always 1 for single-hop and >1 for multi-hop.

As the former API is not used anywhere, just remove it to avoid any
confusion.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2021-11-11 14:56:04 +03:00
Igor Ryzhov
0ac8055ca1
Merge pull request #10029 from anlancs/doc-bgp-title
doc: remove redundant chars for bgp
2021-11-11 14:50:53 +03:00
David Lamparter
fec9fb2985 tests: fix frr-format warnings in printfrr test
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-11 12:27:11 +01:00
David Lamparter
5863f58933 build: adjust silent make rules in tests
Purely aesthetic change to make these rules not stick out like a sore
thumb.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-11 12:26:29 +01:00
David Lamparter
5b21845971 build: adjust compiler/C11 bits for autoconf 2.70+
`autoconf` finally arrived in the 2010s and tries to do ISO C11.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-11 12:18:44 +01:00
David Lamparter
6125c10c29 build: work around AC_PROG_LEX deprecation warning
`AC_PROG_LEX without either yywrap or noyywrap is obsolete`, says
autoconf 2.70.  Sadly, there is no transition window for this, in 2.69
the macro takes no arguments.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2021-11-11 11:58:50 +01:00
anlan_cs
b58393f6ab doc: remove redundant chars for bgp
Signed-off-by: anlan_cs <anlan_cs@tom.com>
2021-11-11 03:19:59 -05:00
Donald Sharp
933a8c8a4c
Merge pull request #10026 from idryzhov/bfd-peer-str-coverity
bfdd: fix coverity warnings
2021-11-10 19:01:57 -05:00
Donald Sharp
e1d1b1dec7 pimd: Remove default from enum based switch
enum based switches should never use default.  It makes
it very hard to fix and find issues when the enum is
changed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2021-11-10 17:35:22 -05:00
Donald Sharp
6f0331d8b4
Merge pull request #9988 from idryzhov/ospf-gr-broken
ospfd: remove commands for broken GR helper mode
2021-11-10 14:05:38 -05:00
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