Lou Berger
cffec3cbad
nhrp: replace hard coded retry time with value derived from holdtime
...
Signed-off-by: Lou Berger <lberger@labn.net>
2024-04-23 11:51:33 -04:00
Donatas Abraitis
1ce626aea6
vtysh: Show ip ospf network ...
even if it's not the same as the interface type
...
ospfv3 shows this unconditionally, and ospfv2 does not show `ip ospf network ...` if the type of the interface matches the specified network.
Fixes: https://github.com/FRRouting/frr/issues/15817
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-23 17:13:46 +03:00
Philippe Guibert
a08922256a
isis, lib: add isis srv6 capability to ls_node
...
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-23 14:27:01 +02:00
Philippe Guibert
196f0d69fa
isisd, lib: add link state support for srv6 adjacencies
...
Add support for endx_lan and endx adjacency.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-23 14:27:01 +02:00
Philippe Guibert
03d2ad01a4
lib: fix srv6 locator flags propagated to isis
...
When usid is not used, the isis_srv6_topo1 test does not work.
The SID prefix allocated by isis is different when the usid
flags is set or not. When the flags is not transmitted to isis,
the SID allocated is supposed to be a 128 bit mask length SID,
which is not what the isis_srv6_topo1 test is supposed to obtain.
Fix this by exchanging the flags locator value in the zclient api.
Fixes: 9b7491e1fc
("lib: Add support for flags to the SRv6 locator")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-23 14:25:48 +02:00
Philippe Guibert
5e7bb79f11
topotests: lib, fix filter out "At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU" message
...
When testing SNMP service on FRR, the following error message may
appear on some distros.
> # snmpwalk -v2c -c public .1.3.6 1.1.1.1 <OID>
> Bad operator (INTEGER): At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU
> [..then result ..]
>
The error message is due to the /etc/snmp/snmp.conf file. By default, this
file is used by both snmp server and client side. The net-snmp MIB parsing
routing loads MIBS, to bind oids with the naming scheme used by the MIBS.
> # cat /etc/frr/snmp.conf
> [snmp]
> mibs +ALL
>
A potential fix would consist in modifying the SNMPv2-PDU.mib file: the
problem is known on ubuntu distros, as the snmp-mibs-downloader package
has not updated the SNMPv2-PDU.mib file.
The choice is done to not modify the original distro where the test is run
on. Fix the topotests by ignoring the 'SNMPv2-PDU line 73" error message, and
keep the other error messages that may happen, for instance, when an
unknown oid name value is requested.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-23 14:24:51 +02:00
Mark Stapp
a4e60f3399
Merge pull request #15815 from donaldsharp/blackhole_reinstall
...
lib, zebra: Check for not being a blackhole route
2024-04-23 08:08:43 -04:00
Louis Scalbert
c1124a44c3
Revert "bgpd: fix pointer arithmetic in bgp snmp module"
...
This reverts commit d9bd9ebbf1
.
The previous code was correct even if the coverity scanner was
complaining.
Fixes: https://github.com/FRRouting/frr/issues/15680
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-04-23 11:39:29 +02:00
Louis Scalbert
c7895ba320
Revert "ospfd: fix some dicey pointer arith in snmp module"
...
This reverts commit 438ef98701
.
The previous code was correct even if the coverity scanner was
complaining.
Fixes: https://github.com/FRRouting/frr/issues/15680
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-04-23 11:36:14 +02:00
Louis Scalbert
3d3a138f5a
bgpd: fix show run of network route-distinguisher
...
Route-distinguisher (RD) is not printed properly in show run:
> address-family ipv6 vpn
> network ff01::/64 rd (null) label 7
> network ff01::/64 rd (null) label 8
ad151f66aa
("bgpd: Refactor bgp_static_set/bgp_static_set_safi") merged
bgp_static_set_safi into bgp_static_set but inadvertently omitted the
handling of prd_pretty.
Copy the pretty RD string if available.
> address-family ipv6 vpn
> network ff01::/64 rd 75:5 label 7
> network ff01::/64 rd 85:5 label 8
Fixes: ad151f66aa
("bgpd: Refactor bgp_static_set/bgp_static_set_safi")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2024-04-23 10:39:21 +02:00
Igor Ryzhov
166a82ca6a
Merge pull request #15813 from pguibert6WIND/isis_srv6_backup_endx
...
isisd: fix renaming backup define for ENDX SID
2024-04-23 11:11:08 +03:00
Donatas Abraitis
bb7b0ff01f
Merge pull request #15536 from ak503/bgp_bfd
...
bgpd: fix disable bfd profile for neighbors.
2024-04-23 11:09:11 +03:00
Donatas Abraitis
0a6f661eae
Merge pull request #15717 from pguibert6WIND/vrf_label_allocate_when_necessary
...
bgpd: do allocate vrf label only when necessary
2024-04-23 11:08:21 +03:00
Donatas Abraitis
5738263065
Merge pull request #15750 from piotrsuchy/json_show_ip_prefix_list_fix
...
vtysh, lib: fix 'show ip[v6] prefix-list ... json' JSON display by moving it to vtysh to fix formatting issue
2024-04-23 11:06:44 +03:00
Donatas Abraitis
634d1375fa
bgpd: Update IPv6 extended community sub-type for extended link bandwidth
...
Already assigned by IANA, just the draft is not yet updated.
https://www.iana.org/assignments/bgp-extended-communities/bgp-extended-communities.xhtml#trans-ipv6
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-23 08:55:00 +03:00
Donatas Abraitis
593a806510
tests: Check if extended link bandwidth can be more than 25gbps
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
4d3e679b04
bgpd: Use snprintfrr() to print PRIu64 for ipv6_ecommunity_lb_str()
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
055cc0488b
tests: Check if extended link bandwidth is considered into also
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
0703ae35cc
bgpd: Include IPv6 extended community into multipath considerations
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
d92a284523
bgpd: Extract link bandwidth from IPv6 extended community if received
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
a988a0a88a
*: Use uint64_t for weight down the path to Zebra
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
e53bd69326
bgpd: Allow sending extended communities between OAD peers
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
09e2a362a3
bgpd: Implement draft-li-idr-link-bandwidth-ext-01
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
b29fdafa3f
bgpd: Print IPv6 extended communities for show bgp <prefix>
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:08 +03:00
Donatas Abraitis
c8a2532ab3
bgpd: Add neighbor ... extended-link-bandwidth
command
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:50:07 +03:00
Donatas Abraitis
540f81c346
bgpd: Print IPv6 extended community for show bgp attribute-info
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:49:16 +03:00
Donatas Abraitis
c4986af74e
bgpd: Adopt ecommunity_linkbw_present for IPv6 extended communities
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:49:16 +03:00
Donatas Abraitis
d9219ee847
bgpd: Drop non ieee encoding parsing for ipv6 extended communities
...
Link-bandwidth is encoded into extended community, not ipv6 extended community.
Thus it's not needed here at all.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:49:00 +03:00
Donatas Abraitis
e0b64f2414
bgpd: Convert 32-bit to 64-bit link bandwidth variable (link_bw)
...
This is needed to implement and use larger bandwidths rather than limiting only
to theoretical 34Gbps max bandwidth.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:48:37 +03:00
Donatas Abraitis
85292ef926
doc: Add neighbor ... extended-link-bandwidth
command
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-22 17:48:37 +03:00
Donald Sharp
29c1ff446e
lib, zebra: Check for not being a blackhole route
...
In zebra_interface_nhg_reinstall zebra is checking that the
nhg is a singleton and not a blackhole nhg. This was originally
done with checking that the nexthop is a NEXTHOP_TYPE_IFINDEX,
NEXTHOP_TYPE_IPV4_IFINDEX and NEXTHOP_TYPE_IPV6_IFINDEX. This
was excluding NEXTHOP_TYPE_IPV4 and NEXTHOP_TYPE_IPV6. These
were both possible to be received and maintained from the upper
level protocol for when a route is being recursively resolved.
If we have gotten to this point in zebra_interface_nhg_reinstall
the nexthop group has already been installed at least once
and we *know* that it is actually a valid nexthop. What the
test is really trying to do is ensure that we are not reinstalling
a blackhole nexthop group( Which is not possible to even be
here by the way, but safety first! ). So let's change
to test for that instead.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2024-04-22 10:44:55 -04:00
Igor Ryzhov
cb88ce132a
lib: fix style and add more comments to NB code
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:49:03 +03:00
Igor Ryzhov
3c8336c845
tests: add topotest for mgmtd rpc processing
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:23 +03:00
Igor Ryzhov
6e0e84491b
ripngd: convert RPC commands to mgmtd
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:23 +03:00
Igor Ryzhov
dbaf05ae3d
ripd: convert RPC commands to mgmtd
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:23 +03:00
Igor Ryzhov
a94f74bc2e
lib: add native RPC processing to mgmt frontend client
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:23 +03:00
Igor Ryzhov
cb6c182852
mgmtd: add native RPC processing
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:22 +03:00
Igor Ryzhov
5b219644ae
mgmtd: add backend xpath map for RPC
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:22 +03:00
Igor Ryzhov
5c3e95d422
lib: add native RPC processing to mgmt backend client
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:22 +03:00
Igor Ryzhov
03883ee431
tests: add test for NB RPC callback
...
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:22 +03:00
Igor Ryzhov
58a8ebc1fc
lib: rework northbound RPC callback
...
Change input/output arguments of the RPC callback from lists of
(xpath/value) tuples to YANG data trees.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
2024-04-22 16:36:22 +03:00
Christian Hopps
7f7bcb1ffa
Merge pull request #15468 from idryzhov/mgmt-native-edit
...
mgmtd: add support for native 'edit' operation
2024-04-22 05:42:44 -04:00
Philippe Guibert
ad874c7d3b
isisd: fix renaming backup define for ENDX SID
...
The define has inheritated from a wrong naming in sr-mpls.
Fix this by renaming ISIS_SRV6_LAN_BACKUP to ISIS_SRV6_ADJ_BACKUP.
Fixes: 2566656a6f
("isisd: Add data structure for SRv6 Adjacency SIDs")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2024-04-22 10:00:07 +02:00
Piotr Suchy
0a17289a3b
vtysh, lib: fix 'show ip[v6] prefix-list ... json' formatting by moving it to vtysh
...
Json output is not valid for 'show ip[v6] prefix-list ... json' commands,
as it goes through all the running daemons and for each one it calls
'vty_show_prefix_list' creating a new json object. To aggreagate the output
and create a valid json that can be parsed, the commands were moved to vtysh.
Before:
{
"ZEBRA":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
}
{
"OSPF":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
}
{
"BGP":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
}
After:
{"zebra":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
,"ospfd":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
,"bgpd":{
"DEFAULT":{
"addressFamily":"IPv4",
"entries":[
{
"sequenceNumber":10,
"type":"permit",
"prefix":"0.0.0.0/0"
}
]
}
}
}
Signed-off-by: Piotr Suchy <piotrsuchy@proton.me>
2024-04-21 23:40:06 +02:00
Donatas Abraitis
83109e3f66
bgpd: Do not reset the session when toggling dynamic capability
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-21 22:29:32 +03:00
Donald Sharp
7ba58e97ff
Merge pull request #15738 from idryzhov/bfd-cbit
...
bfdd: fix BFD_GETCBIT
2024-04-21 10:59:11 -04:00
Donatas Abraitis
70631acbb8
bgpd: Inherit capability dynamic
flag from the peer-group
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-21 14:19:12 +03:00
Donatas Abraitis
9c9f9ce3c1
bgpd: Inherit capability software-version
flag from the peer-group
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-21 14:18:39 +03:00
Donatas Abraitis
6486afe8d5
bgpd: Inherit enforce-first-as
flag from the peer-group
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2024-04-21 14:16:49 +03:00
Igor Ryzhov
99a723e5a8
Merge pull request #15803 from LabNConsulting/chopps/add-missing-zif-type
...
yang: add missing `zif-gre` zebra interface type
2024-04-20 21:25:28 +03:00