ripd: Do not send redistributed networks if interface is not enabledThe neighbor command triggers unicast RIP updates even if the underlying
interface is not enabled via the network command, causing routing leakage.
No RIP packets should be sent. The interface is not enabled via network,
so it should remain silent regardless of neighbor configuration.
Cisco, Juniper, Bird, etc. prevents this behavior, let's be consistent with
others too.
Signed-off-by: Donat...
lib: add extern available variadic zlog functionThis is needed to use FRR logging functionality from non-C languages (e.g.,
rust) which cannot use the inline variant, and cannot construct the va_list arg.
Signed-off-by: Christian Hopps <chopps@labn.net>
lib: fix for leaf in the root of moduleThis fixes a problem with handling modules which have a leaf nodes at the
root (and so snode->parent == NULL).
Signed-off-by: Christian Hopps <chopps@labn.net>
mgmtd: fix edit error value to be proper (-) errno.We need to map mgmt_result to `-errno` which we label `error` here. As this is
what is expected to be found in the `mgmt_msg_error->error` field.
Signed-off-by: Christian Hopps <chopps@labn.net>
tests: cleanup identifier names in fe_client.pyalso remove unneeded __init__.py file it messes up pylint when importing
from the same directory in a script file.
Signed-off-by: Christian Hopps <chopps@labn.net>
bgpd: Add more connection direction debuggingWhen debugging issues having a bit more data about the connection
direction in some situations would be useful.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
*: only include frr json.h where neededRemove our json.h header from some high-use lib headers, and
include it where it's needed. Also avoid the libjson-c
typedefs in some of our apis.
Signed-off-by: Mark Stapp <mjs@cisco.com>
bgpd: Support sending multiple labels in BGP-LUAdd multiple label support in bgp_attr_stream_put_labeled_prefix
Signed-off-by: Kyrylo Yatsenko <hedrok@gmail.com>
vtysh: implement clear commandImplement clear command that does kind of the same as C-l. The only
difference is that it also clears the visible line, so that the line
with the "clear" command invocation also vanishes.
Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
doc: document requirement for python libyang < verison 4.Version 4 release is anticipated and won't be compatible with v3
Signed-off-by: Christian Hopps <chopps@labn.net>
tests: allow adding daemons to inferred from frr.conf- Allow pasing daemon name strings rather than RD_X value
- Allow just passing a daemon name string instead of a tuple of daemon and
param.
Signed-off-by: Christian Hopps <chopps@labn.net>
tests: mgmt_oper: add missing combinations and missing gen scriptAdd missing generating script lines as well as some missing combinations
of the commands (was actually missing a bug found in interface queries).
These generic interface queries needed a new filter (clean_json()) to remove
some auto-created linux interfaces that exist on some systems and not
others (e.g., gre0, gretap0, erspan0 when gre kernel module is loaded) to keep
from failing sometimes.
...
tests: don't access event struct in grpc unit testUse an api instead of direct struct access in the GRPC
unit-test: the struct is opaque now.
Signed-off-by: Mark Stapp <mjs@cisco.com>
build: make `strlcpy` and co. decls C++ compatibleNeed an `extern "C"` on these so C++ links to the correct symbols.
Fixes: FRRouting/frr#20199
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
build: don't try no_sanitize on variables on GCCGCC doesn't support `__attribute__((no_sanitize))` on variables, only on
functions. And it has started warning about it. Do it only on clang,
shut up the warning.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
lib: don't override inet_ntop on glibc >= 2.41For one, it collides with `_FORTIFY_SOURCE` on 2.41+, giving very
strange compile errors. But for another, the performance issues with
inet_ntop were actually fixed upstream.
References: https://sourceware.org/git/?p=glibc.git;a=commit;h=090dfa40a5e46f7c0e4d6e8369bcbbd51267625f
References: https://sourceware.org/git/?p=glibc.git;a=commit;h=80f389ed7e684582439629b264c22a84c26bfd8e
Signed-off-b...
Merge pull request #20223 from opensourcerouting/fix/bfd_hold_time_expire_configuredbgpd: Start BFD hold timer ONLY if hold-time is configured (not zero)
lib: northbound: fix coverity #1667734Check the return value of the allocation function as we do elsewhere.
Signed-off-by: Christian Hopps <chopps@labn.net>
lib: fix some issue with lttng tracingFix some issues with lttng tracing: hand event loop name as a
string, disable a format-string gcc warning in the logging
code.
Signed-off-by: Mark Stapp <mjs@cisco.com>
lib: Print identity for log facilityInstead of printing ietf-syslog-types:local5, we should print only local5
Fixes: f90bd85 ("lib: logging: split up files for conversion to nb")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd: Start BFD hold timer ONLY if hold-time is configured (not zero)The issue is that this hold timer is triggered always if hold time is not configured.
We should trigger it ONLY if it's configured and not ZERO.
Fixes: 04e0140 ("bgpd: Add Hold Time(r) for BFD strict mode")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>