tests: Remove warning about passive commandSeveral tests have warnings about the passive
command and how to use it. Let's address this.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
doc: add allowed-neighbors commandLet users know about new command to filter PIM sessions based on peer
address.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
topotests: test PIM neighbor filteringAdd new topology for testing neighbor filtering and more features in
the future.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
pimd: allow restricting neighbors per interfaceJust filter incoming packets against a specified prefix-list.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Merge pull request #18108 from opensourcerouting/fix/zebra_no_vni_validationzebra: Do not flush an existing vni configuration trying to remove wrong vni
bgpd: Fix another crash in orfI was pointed at yet another crash in the orf code. I think it
stems from basicaly the same problem as the last one. Let's just
make sure that the orf_plist is handled appropriately.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
doc: correct `ip rip split-horizon` command in the RIP documentation.The previous version incorrectly spelled the command as `ip split-horizon`. The correct command is `ip rip split-horizon`, as indicated in the code at line 675 of rip_cli.c.
Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
tools: add logfmt option for frr-reload.pyAdd the option of printing logs in logfmt format.
Additional machine readable information can be printed via the `extra`
argument.
Example:
```python
log.debug("exit context"), extra={"line": line, "ctx_keys": ctx_keys})
log.error(f"Failed to execute command {' '.join(cmd)}", extra={"cmd": cmd})
```
Signed-off-by: Giovanni Tataranni <g.tataranni@gmail.com>
tests: Fix intermittent failures in `srv6_encap_src_addr` topotestThe `srv6_encap_src_addr` runs a vtysh command to configure the SRv6
encapsulation source address and then immediately invokes an iproute2
command to verify that zebra has set this address in the kernel. There
is no wait between the two operations and the verification is attempted
only once. If the topotest does not find the expected address it fails
immediately.
The problem is that when topot...
tests: Increase retry timeout in `srv6_encap_src_addr` topotestThe `srv6_encap_src_addr` topotest uses a waiting time that is too
small. For this reason during startup it prints a warning:
```
2025-02-16 09:23:47,704 WARNING: topo: Waiting time is too small (count=10, wait=1), using default values (count=20, wait=3)
```
This commit increases the waiting time to fix the warning.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
tests: Do not load bgpd config in `srv6_encap_src_addr` topotestThe `srv6_encap_src_addr` topotest tries to load bgpd.conf file that
does not exist, which produces the following warning:
```
2025-02-16 09:23:35,151 WARNING: topo: missing config 'r1' for '/media/frr/tests/topotests/srv6_encap_src_addr/r1/bgpd.conf' creating empty file '/etc/frr/bgpd.conf'
```
Since this topotest doesn't actually use bgpd, there's no point in
loading the config file.
Signe...
tests: Do not load sharpd config in `srv6_encap_src_addr` topotestThe `srv6_encap_src_addr` topotest tries to load sharpd.conf file that
does not exist, which produces the following warning:
```
2025-02-16 09:23:35,151 WARNING: topo: missing config 'r1' for '/media/frr/tests/topotests/srv6_encap_src_addr/r1/sharpd.conf' creating empty file '/etc/frr/sharpd.conf'
```
Since this topotest doesn't actually use sharpd, there's no point in
loading the config file...
tests: Remove bgpd marker in `srv6_encap_src_addr` topotestThe `srv6_encap_src_addr` does not use bgp. As such, it should not have
bgpd marker.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
isisd: Request SRv6 locator after zebra connectionWhen SRv6 is enabled and an SRv6 locator is specified in the IS-IS
configuration, IS-IS may attempt to request SRv6 locator information from
zebra before the connection is fully established. If this occurs, the
request fails with the following error:
```
2025/02/14 21:41:20 ISIS: [HR66R-TWQYD][EC 100663302] srv6_manager_get_locator: invalid zclient socket
````
As a result, IS-IS is unable to ...
isisd: Add helper function to request SRv6 locator informationThis commit adds a function that iterates over all IS-IS areas and asks
the SRv6 Manager for information about the configured locators.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
staticd: Failed to register nexthop after networking restartProblem:
After networking restart, staticd unregistered the nexthop
but failed to register the nexthop again, which caused the
nexthop to remain inactive in zebra for static route.
Fix:
Call to static_zebra_nht_register() from static_install_path() was
removed in 3c05d53bf8defc36acdfe6e78064e068d60c649f. Adding it back
so that staticd can register the nexthop for static routes.
Testing:
After...
lib: nb: call child destroy CBs when YANG container is deletedPreviously the code was only calling the child destroy callbacks if the target
deleted node was a non-presence container. We now add a flag to the callback
structure to instruct northbound to perform the rescursive delete for code that
wishes for this to happen.
- Fix wrong relative path lookup in keychain destroy callback
Signed-off-by: Christian Hopps <chopps@labn.net>
sharpd: add `crashme` commandsThis adds 2 commands, one that should just straight up SEGV, another
that should trip an ASAN warning for an use-after-free.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
isisd, lib: add some codepoints usually shared with other vendorsSome codepoints can not be read by interoperating with CISCO.
This is because PSP/USP flavor are used by default, and the display of
the isis output has to be adapted.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
doc: Update description of 'allow-reserved-ranges'Update user documentation to reflect behavior of config command
'allow-reserved-ranges' after changes enable use of ipv4 class E
addresses by default.
Signed-off-by: David Schweizer <dschweizer@opensourcerouting.org>
lib,zebra: Allow class E prefixes in RIBChanges allow ipv4 class E addresses and prefixes in the 240.0.0.0/4
range to be configured on interfaces, imported from the kernel routing
table and redistributed as connected routes in zebra by default.
Changes also fix routes with class E prefixes in kernel routing table
getting rejected by zebra during early daemon startup.
Drivin this change in default behavior are cloud providers (with
...
bgpd: When removing the prefix list drop the pointerWe are very very rarely seeing this crash:
0 0x7f36ba48e389 in prefix_list_apply_ext lib/plist.c:789
1 0x55eff3fa4126 in subgroup_announce_check bgpd/bgp_route.c:2334
2 0x55eff3fa858e in subgroup_process_announce_selected bgpd/bgp_route.c:3440
3 0x55eff4016488 in subgroup_announce_table bgpd/bgp_updgrp_adv.c:808
4 0x55eff401664e in subgroup_announce_route bgpd/bgp_updgrp_ad...
Merge pull request #18080 from opensourcerouting/fix/enable_ll_capability_if_using_unnumerredbgpd: Some fixes/improvements for Link-Local Next Hop capability
tools: watchfrr should ignore frr_global_optionswatchfrr is currently being started with $frr_global_options
This is problematic as that it has a entirely different cli
than the rest of the daemons and we have no plans to make
this equivalent.
Fixes: #18107
Signed-off-by: Donald Sharp <sharpd@nvidia.com>