]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
12 months agotests: Drop duplicate pytestmark per file
Donatas Abraitis [Sat, 27 Apr 2024 20:18:15 +0000 (23:18 +0300)]
tests: Drop duplicate pytestmark per file

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agoMerge pull request #15854 from mjstapp/dump_outofsync_flag
Donatas Abraitis [Sat, 27 Apr 2024 18:16:49 +0000 (21:16 +0300)]
Merge pull request #15854 from mjstapp/dump_outofsync_flag

lib: add ZEBRA_FLAG_OUTOFSYNC to dump_flags function

12 months agoMerge pull request #15782 from opensourcerouting/fix/drop_srte_color_flag
Russ White [Sat, 27 Apr 2024 12:19:09 +0000 (08:19 -0400)]
Merge pull request #15782 from opensourcerouting/fix/drop_srte_color_flag

bgpd: Drop SRTE_COLOR attribute flag

12 months agoMerge pull request #15848 from donaldsharp/pim_crash_dnode
Jafar Al-Gharaibeh [Sat, 27 Apr 2024 03:28:10 +0000 (22:28 -0500)]
Merge pull request #15848 from donaldsharp/pim_crash_dnode

pimd: fix crash unconfiguring rp keepalive timer

12 months agoMerge pull request #15796 from LabNConsulting/aceelindem/ospf-ospfapi-options
Donatas Abraitis [Fri, 26 Apr 2024 20:31:38 +0000 (23:31 +0300)]
Merge pull request #15796 from LabNConsulting/aceelindem/ospf-ospfapi-options

ospfd: OSPFAPI Server options to limit to local connections and per-instance TCP

12 months agoMerge pull request #15759 from anlancs/doc-isisd-cleanup-1
Donatas Abraitis [Fri, 26 Apr 2024 20:29:58 +0000 (23:29 +0300)]
Merge pull request #15759 from anlancs/doc-isisd-cleanup-1

doc: clean up a few commands for isis

12 months agoMerge pull request #15737 from vjardin/cmake_install_prefix
Donatas Abraitis [Fri, 26 Apr 2024 20:29:29 +0000 (23:29 +0300)]
Merge pull request #15737 from vjardin/cmake_install_prefix

cmake install prefix

12 months agoMerge pull request #15841 from pguibert6WIND/dx6_support
Donatas Abraitis [Fri, 26 Apr 2024 20:25:34 +0000 (23:25 +0300)]
Merge pull request #15841 from pguibert6WIND/dx6_support

zebra, sharpd: add srv6 End.DX6 support

12 months agoMerge pull request #15845 from pguibert6WIND/bmp_improvements
Donatas Abraitis [Fri, 26 Apr 2024 20:24:54 +0000 (23:24 +0300)]
Merge pull request #15845 from pguibert6WIND/bmp_improvements

Bmp improvements about statistics

12 months agolib: add ZEBRA_FLAG_OUTOFSYNC to dump_flags function 15854/head
Mark Stapp [Fri, 26 Apr 2024 18:48:00 +0000 (14:48 -0400)]
lib: add ZEBRA_FLAG_OUTOFSYNC to dump_flags function

Right where the zapi route flags are defined, there's a comment
asking that the flag-dumper-function also be updated.

Also apply clang-format's preferences, so next person won't have
to.

Signed-off-by: Mark Stapp <mjs@cisco.com>
12 months agoMerge pull request #15723 from opensourcerouting/feature/extended_link_bw_refactored_v1
Russ White [Fri, 26 Apr 2024 18:41:05 +0000 (14:41 -0400)]
Merge pull request #15723 from opensourcerouting/feature/extended_link_bw_refactored_v1

bgpd: Implement extended link-bandwidth

12 months agoMerge pull request #15588 from opensourcerouting/sqlite-filename-size
Donald Sharp [Fri, 26 Apr 2024 14:19:05 +0000 (10:19 -0400)]
Merge pull request #15588 from opensourcerouting/sqlite-filename-size

lib: fix SQLite dbfile path length

12 months agopimd: fix crash unconfiguring rp keepalive timer 15848/head
Vijayalaxmi Basavaraj [Mon, 22 Apr 2024 17:55:23 +0000 (10:55 -0700)]
pimd: fix crash unconfiguring rp keepalive timer

pimd crashs while unconfigure of rp ka timer as we are trying to access
a yand dnode(suppress timer) which does not exist at the moment.

User just configured rp keepalive timer and not suppress timer,
the yang dnode would not be present. Instead of directly accessing
yang_dnode_get_unit16, first check the yang node exist using
the xpath.

Ticket: #3874971

Testing:

Before:
------
tor-11(config)# no ip pim rp keep-alive-timer 3000
vtysh: error reading from pimd: Success (0)Warning: closing connection to pimd because of an I/O error!

Broadcast message from root@tor-11 (somewhere) (Mon Apr 22 17:29:12 2024):

cumulus-core: Running cl-support for core files "pimd.25467.1713806952.core"

After:
-----
tor-11(config)# no ip pim rp keep-alive-timer 3000
tor-11(config)#

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Signed-off-by: Vijayalaxmi Basavaraj <vbasavaraj@nvidia.com>
12 months agoMerge pull request #15843 from opensourcerouting/yang-link-netconf-acm
Mark Stapp [Fri, 26 Apr 2024 13:31:44 +0000 (09:31 -0400)]
Merge pull request #15843 from opensourcerouting/yang-link-netconf-acm

yang: ietf-netconf-acm needs to be in libfrr

12 months agoMerge pull request #15850 from donaldsharp/sa_clang_15_some_problems
Mark Stapp [Fri, 26 Apr 2024 12:01:26 +0000 (08:01 -0400)]
Merge pull request #15850 from donaldsharp/sa_clang_15_some_problems

bgpd: Remove unused addition found in clang

12 months agoMerge pull request #15744 from pguibert6WIND/snmp_oid_line73_error
Donald Sharp [Fri, 26 Apr 2024 11:38:42 +0000 (07:38 -0400)]
Merge pull request #15744 from pguibert6WIND/snmp_oid_line73_error

topotests: lib, fix filter out "At line 73 in /usr/share/snmp/mibs/ie…

12 months agoMerge pull request #15849 from donaldsharp/redistibute_doc_change
Donatas Abraitis [Fri, 26 Apr 2024 09:52:37 +0000 (12:52 +0300)]
Merge pull request #15849 from donaldsharp/redistibute_doc_change

bgpd: Explain Better admin w/ redistribution a bit better.

12 months agobgpd: add bmp loc-rib 64 bit gauge value 15845/head
Philippe Guibert [Thu, 25 Apr 2024 15:50:24 +0000 (17:50 +0200)]
bgpd: add bmp loc-rib 64 bit gauge value

There is no support for option 8, as per RFC7854.
Add the 64 bit counter in the peer structure.
Add the missing per peer statistic.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agobgpd: add 'bmp stat send-experimental' command
Philippe Guibert [Thu, 25 Apr 2024 15:30:57 +0000 (17:30 +0200)]
bgpd: add 'bmp stat send-experimental' command

Some wireshark versions can not decode the experimental
bmp stat code. This may also be the case for some collectors.
Add a vty command to be able to disable bmp to sending
those values.

> [no] bmp stat send-experimental

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agobgpd: add bmp adj-rib-in 64 bit gauge value
Philippe Guibert [Thu, 25 Apr 2024 14:53:21 +0000 (16:53 +0200)]
bgpd: add bmp adj-rib-in 64 bit gauge value

There is no support for option 7, as per RFC7854.
Add the 64 bit counter in the peer structure.
Add the 64 bit bmp value write api.
Add the missing per peer statistic.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agobgpd: Remove unused addition found in clang 15850/head
Donald Sharp [Thu, 25 Apr 2024 18:45:32 +0000 (14:45 -0400)]
bgpd: Remove unused addition found in clang

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
12 months agobgpd: Explain Better admin w/ redistribution a bit better. 15849/head
Donald Sharp [Thu, 25 Apr 2024 18:17:46 +0000 (14:17 -0400)]
bgpd: Explain Better admin w/ redistribution a bit better.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
12 months agoospfd: OSPFAPI Server options to limit to local connections and per-instance TCP 15796/head
Acee Lindem [Fri, 19 Apr 2024 15:33:20 +0000 (15:33 +0000)]
ospfd: OSPFAPI Server options to limit to local connections and per-instance TCP

This commit include OSPFAPI Server options to:

 1. Allow specification of the OSPFAPI server local address.
 2. Allow different OSPFAPI server TCP ports to be specified for different
    OSPF instances in /etc/services.

Signed-off-by: Acee Lindem <acee@lindem.com>
12 months agoyang: ietf-netconf-acm needs to be in libfrr 15843/head
David Lamparter [Thu, 25 Apr 2024 13:06:14 +0000 (15:06 +0200)]
yang: ietf-netconf-acm needs to be in libfrr

ietf-key-chain depends on ietf-netconf-acm, and lib/ code sets up the
former, so ietf-netconf-acm needs to be embedded in the libfrr too.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
12 months agozebra, sharpd: add srv6 End.DX6 support 15841/head
Philippe Guibert [Thu, 25 Apr 2024 11:38:23 +0000 (13:38 +0200)]
zebra, sharpd: add srv6 End.DX6 support

Add the support for adding DX6 behavior into netlink layer of zebra.
Add the necessary test in sharpd.

> ubuntu2204# sharp install seg6local-routes 1:1::1:2 nexthop-seg6local loop1 End_DX6 4:4::4:6 1
> ubuntu2204# do show ipv6 route
> [..]
> D>* 1:1::1:2/128 [150/0] is directly connected, loop1, seg6local End.DX6 nh6 4:4::4:6, weight 1, 00:00:03

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agoMerge pull request #15833 from mjstapp/fix_vtysh_bgp_defs
David Lamparter [Thu, 25 Apr 2024 11:10:43 +0000 (13:10 +0200)]
Merge pull request #15833 from mjstapp/fix_vtysh_bgp_defs

12 months agodocs: libs install-prefix since cmake 3.21 15737/head
Vincent JARDIN [Sun, 14 Apr 2024 08:49:26 +0000 (10:49 +0200)]
docs: libs install-prefix since cmake 3.21

use the new recommendation from cmake:
  --install-prefix <directory>
     New in version 3.21.

     Specify the installation directory, used by the
     CMAKE_INSTALL_PREFIX variable. Must be an
     absolute path.

reminder: the default path is /usr/local instead of /usr

Signed-off-by: Vincent Jardin <vjardin@free.fr>
12 months agodocs: sysrepo install-prefix since cmake 3.21
Vincent JARDIN [Sun, 14 Apr 2024 08:46:34 +0000 (10:46 +0200)]
docs: sysrepo install-prefix since cmake 3.21

use the new recommendation from cmake:
  --install-prefix <directory>
     New in version 3.21.

     Specify the installation directory, used by the
     CMAKE_INSTALL_PREFIX variable. Must be an
     absolute path.

reminder: the default path is /usr/local instead of /usr

Signed-off-by: Vincent Jardin <vjardin@free.fr>
12 months agodocs: libyang install-prefix since cmake 3.21
Vincent JARDIN [Sun, 14 Apr 2024 08:43:07 +0000 (10:43 +0200)]
docs: libyang install-prefix since cmake 3.21

use the new recommendation from cmake:
  --install-prefix <directory>
     New in version 3.21.

     Specify the installation directory, used by the
     CMAKE_INSTALL_PREFIX variable. Must be an
     absolute path.

reminder: the default path is /usr/local instead of /usr

Signed-off-by: Vincent Jardin <vjardin@free.fr>
12 months agoMerge pull request #15794 from chiragshah6/fdev2
Donatas Abraitis [Wed, 24 Apr 2024 19:33:37 +0000 (22:33 +0300)]
Merge pull request #15794 from chiragshah6/fdev2

tools: fix pim interface config deletion II

12 months agoMerge pull request #15783 from LabNConsulting/aceelindem/ospf-neighbor-filter
Donatas Abraitis [Wed, 24 Apr 2024 19:30:11 +0000 (22:30 +0300)]
Merge pull request #15783 from LabNConsulting/aceelindem/ospf-neighbor-filter

ospfd: Add prefix-list filtering of OSPF neighbors on OSPF interface

12 months agoMerge pull request #15805 from LabNConsulting/working/lb/nhrp-retry-based-on-config2
Donald Sharp [Wed, 24 Apr 2024 14:16:59 +0000 (10:16 -0400)]
Merge pull request #15805 from LabNConsulting/working/lb/nhrp-retry-based-on-config2

nhrp: replace hard coded retry time with value derived from holdtime

12 months agodoc: clean up a few commands for isis 15759/head
anlan_cs [Tue, 16 Apr 2024 09:23:20 +0000 (17:23 +0800)]
doc: clean up a few commands for isis

Remove a few obsoleted isis commands based on code.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
12 months agolib,bgpd,vtysh: move bgp vty defines to lib 15833/head
Mark Stapp [Wed, 24 Apr 2024 12:23:12 +0000 (08:23 -0400)]
lib,bgpd,vtysh: move bgp vty defines to lib

Stop including a bgp header file from vtysh; move a couple
of cli string defines to a library header.

Signed-off-by: Mark Stapp <mjs@cisco.com>
12 months agoMerge pull request #15766 from louis-6wind/fix-network-rd
Donatas Abraitis [Wed, 24 Apr 2024 11:34:19 +0000 (14:34 +0300)]
Merge pull request #15766 from louis-6wind/fix-network-rd

bgpd: fix show run of network route-distinguisher

12 months agoMerge pull request #15819 from louis-6wind/fix-snmp-oid
Donald Sharp [Wed, 24 Apr 2024 11:25:22 +0000 (07:25 -0400)]
Merge pull request #15819 from louis-6wind/fix-snmp-oid

bgpd, ospfd: fix non increasing SNMP OID

12 months agotools: fix frr-reload for no ip msdp peer cmd 15794/head
Chirag Shah [Tue, 23 Apr 2024 02:47:27 +0000 (19:47 -0700)]
tools: fix frr-reload for no ip msdp peer cmd

no form of 'ip pm msdp peer <> source <>' does not
accept source argument. Stip the 'source <>' part from
config line being deleted via frr-reload.

Ticket: #3874971
Testing:

Config:
vrf blue
 ip msdp peer 1.1.1.1 source 1.1.1.1

frr-reload failure log:
2024-04-23 02:08:32,501  INFO: Failed to execute vrf blue  no ip
msdp peer 1.1.1.1 source 1.1.1.1 exit
2024-04-23 02:08:32,501 ERROR: "vrf blue --  no ip msdp peer 1.1.1.1
source 1.1.1.1 -- exit" we failed to remove this command
2024-04-23 02:08:32,501 ERROR: % Unknown command:  no ip msdp peer
1.1.1.1 source 1.1.1.1

Signed-off-by: Chirag Shah <chirag@nvidia.com>
12 months agotools: fix pim interface config deletionII
Chirag Shah [Thu, 18 Apr 2024 18:44:00 +0000 (11:44 -0700)]
tools: fix pim interface config deletionII

When no ip pim is performed subsequent pim related
configs under the interface also implicitly deleted.
The previous fix was attempting to remove from the same
list which was being integrated.
First collect the lines to remove in separate list
then at the end remove from the original lines_to_del.

commit 623af04e1c does not work properly if tries to delete
an entry from existing list which is being walked on.

Ticket: #3869779

Testing done:

frr.conf:
no interface config

running-config:
--------------
interface swp1
ip pim
ip pim active-active
ip pim allow-rp rp-list sample
ip pim bfd
ip pim use-source 1.1.1.1
ip multicast boundary oil test
exit

frr-reload log pointing only no ip pim config
is removed under interface:
2024-04-18 18:44:37,202  INFO: "frr defaults datacenter" cannot be removed
2024-04-18 18:44:37,202  INFO: "service integrated-vtysh-config" cannot be removed
2024-04-18 18:44:37,504  INFO: Executed "interface swp1  no ip pim exit"
2024-04-18 18:44:37,505  INFO: /var/run/frr/reload-YHS51E.txt content

Signed-off-by: Chirag Shah <chirag@nvidia.com>
12 months agoMerge pull request #15769 from raja-rajasekar/rajasekarr/backpressure_display_i_o_buf
Mark Stapp [Tue, 23 Apr 2024 17:01:35 +0000 (13:01 -0400)]
Merge pull request #15769 from raja-rajasekar/rajasekarr/backpressure_display_i_o_buf

zebra: Actually display I/O buffer sizes (part-2)

12 months agoMerge pull request #15801 from LabNConsulting/chopps/new-munet
Donald Sharp [Tue, 23 Apr 2024 16:58:48 +0000 (12:58 -0400)]
Merge pull request #15801 from LabNConsulting/chopps/new-munet

Improve coverage functionality

12 months agoMerge pull request #15810 from opensourcerouting/fix/enforce_first_as_bgp_peer-group
Donald Sharp [Tue, 23 Apr 2024 16:57:24 +0000 (12:57 -0400)]
Merge pull request #15810 from opensourcerouting/fix/enforce_first_as_bgp_peer-group

bgpd: Inherit some peer flags from the peer-group

12 months agoMerge pull request #15714 from mjstapp/sync_pthread_startup
Donald Sharp [Tue, 23 Apr 2024 16:55:27 +0000 (12:55 -0400)]
Merge pull request #15714 from mjstapp/sync_pthread_startup

lib: serialize pthread startup

12 months agonhrp: replace hard coded retry time with value derived from holdtime 15805/head
Lou Berger [Tue, 23 Apr 2024 15:51:33 +0000 (11:51 -0400)]
nhrp: replace hard coded retry time with value derived from holdtime

Signed-off-by: Lou Berger <lberger@labn.net>
12 months agotopotests: lib, fix filter out "At line 73 in /usr/share/snmp/mibs/ietf/SNMPv2-PDU... 15744/head
Philippe Guibert [Mon, 15 Apr 2024 12:12:23 +0000 (14:12 +0200)]
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>
12 months agoMerge pull request #15815 from donaldsharp/blackhole_reinstall
Mark Stapp [Tue, 23 Apr 2024 12:08:43 +0000 (08:08 -0400)]
Merge pull request #15815 from donaldsharp/blackhole_reinstall

lib, zebra: Check for not being a blackhole route

12 months agoRevert "bgpd: fix pointer arithmetic in bgp snmp module" 15819/head
Louis Scalbert [Tue, 23 Apr 2024 09:39:29 +0000 (11:39 +0200)]
Revert "bgpd: fix pointer arithmetic in bgp snmp module"

This reverts commit d9bd9ebbf1c3ab902133e7f47c4b8c073e2df3d4.

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>
12 months agoRevert "ospfd: fix some dicey pointer arith in snmp module"
Louis Scalbert [Tue, 23 Apr 2024 09:36:14 +0000 (11:36 +0200)]
Revert "ospfd: fix some dicey pointer arith in snmp module"

This reverts commit 438ef98701e9922e81a451f87ad053268a1a557e.

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>
12 months agobgpd: fix show run of network route-distinguisher 15766/head
Louis Scalbert [Tue, 16 Apr 2024 14:41:51 +0000 (16:41 +0200)]
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>
12 months agoMerge pull request #15813 from pguibert6WIND/isis_srv6_backup_endx
Igor Ryzhov [Tue, 23 Apr 2024 08:11:08 +0000 (11:11 +0300)]
Merge pull request #15813 from pguibert6WIND/isis_srv6_backup_endx

isisd: fix renaming backup define for ENDX SID

12 months agoMerge pull request #15536 from ak503/bgp_bfd
Donatas Abraitis [Tue, 23 Apr 2024 08:09:11 +0000 (11:09 +0300)]
Merge pull request #15536 from ak503/bgp_bfd

bgpd: fix disable bfd profile for neighbors.

12 months agoMerge pull request #15717 from pguibert6WIND/vrf_label_allocate_when_necessary
Donatas Abraitis [Tue, 23 Apr 2024 08:08:21 +0000 (11:08 +0300)]
Merge pull request #15717 from pguibert6WIND/vrf_label_allocate_when_necessary

bgpd: do allocate vrf label only when necessary

12 months agoMerge pull request #15750 from piotrsuchy/json_show_ip_prefix_list_fix
Donatas Abraitis [Tue, 23 Apr 2024 08:06:44 +0000 (11:06 +0300)]
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

12 months agobgpd: Update IPv6 extended community sub-type for extended link bandwidth 15723/head
Donatas Abraitis [Tue, 23 Apr 2024 05:52:31 +0000 (08:52 +0300)]
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>
12 months agotests: Check if extended link bandwidth can be more than 25gbps
Donatas Abraitis [Sat, 13 Apr 2024 19:05:20 +0000 (22:05 +0300)]
tests: Check if extended link bandwidth can be more than 25gbps

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Use snprintfrr() to print PRIu64 for ipv6_ecommunity_lb_str()
Donatas Abraitis [Thu, 11 Apr 2024 10:15:21 +0000 (13:15 +0300)]
bgpd: Use snprintfrr() to print PRIu64 for ipv6_ecommunity_lb_str()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: Check if extended link bandwidth is considered into also
Donatas Abraitis [Thu, 11 Apr 2024 08:55:06 +0000 (11:55 +0300)]
tests: Check if extended link bandwidth is considered into also

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Include IPv6 extended community into multipath considerations
Donatas Abraitis [Thu, 11 Apr 2024 08:52:02 +0000 (11:52 +0300)]
bgpd: Include IPv6 extended community into multipath considerations

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Extract link bandwidth from IPv6 extended community if received
Donatas Abraitis [Wed, 10 Apr 2024 13:33:14 +0000 (16:33 +0300)]
bgpd: Extract link bandwidth from IPv6 extended community if received

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months ago*: Use uint64_t for weight down the path to Zebra
Donatas Abraitis [Wed, 10 Apr 2024 13:13:57 +0000 (16:13 +0300)]
*: Use uint64_t for weight down the path to Zebra

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Allow sending extended communities between OAD peers
Donatas Abraitis [Wed, 10 Apr 2024 10:34:47 +0000 (13:34 +0300)]
bgpd: Allow sending extended communities between OAD peers

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Implement draft-li-idr-link-bandwidth-ext-01
Donatas Abraitis [Wed, 10 Apr 2024 07:16:01 +0000 (10:16 +0300)]
bgpd: Implement draft-li-idr-link-bandwidth-ext-01

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Print IPv6 extended communities for `show bgp <prefix>`
Donatas Abraitis [Wed, 10 Apr 2024 10:35:09 +0000 (13:35 +0300)]
bgpd: Print IPv6 extended communities for `show bgp <prefix>`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Add `neighbor ... extended-link-bandwidth` command
Donatas Abraitis [Mon, 8 Apr 2024 06:07:01 +0000 (09:07 +0300)]
bgpd: Add `neighbor ... extended-link-bandwidth` command

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Print IPv6 extended community for `show bgp attribute-info`
Donatas Abraitis [Wed, 10 Apr 2024 08:31:43 +0000 (11:31 +0300)]
bgpd: Print IPv6 extended community for `show bgp attribute-info`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Adopt ecommunity_linkbw_present for IPv6 extended communities
Donatas Abraitis [Wed, 10 Apr 2024 07:12:02 +0000 (10:12 +0300)]
bgpd: Adopt ecommunity_linkbw_present for IPv6 extended communities

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Drop non ieee encoding parsing for ipv6 extended communities
Donatas Abraitis [Mon, 8 Apr 2024 06:26:29 +0000 (09:26 +0300)]
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>
12 months agobgpd: Convert 32-bit to 64-bit link bandwidth variable (link_bw)
Donatas Abraitis [Mon, 8 Apr 2024 06:22:02 +0000 (09:22 +0300)]
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>
12 months agodoc: Add `neighbor ... extended-link-bandwidth` command
Donatas Abraitis [Wed, 10 Apr 2024 10:43:15 +0000 (13:43 +0300)]
doc: Add `neighbor ... extended-link-bandwidth` command

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agolib, zebra: Check for not being a blackhole route 15815/head
Donald Sharp [Fri, 19 Apr 2024 16:13:32 +0000 (12:13 -0400)]
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>
12 months agoMerge pull request #15468 from idryzhov/mgmt-native-edit
Christian Hopps [Mon, 22 Apr 2024 09:42:44 +0000 (05:42 -0400)]
Merge pull request #15468 from idryzhov/mgmt-native-edit

mgmtd: add support for native 'edit' operation

12 months agoisisd: fix renaming backup define for ENDX SID 15813/head
Philippe Guibert [Fri, 19 Apr 2024 13:46:20 +0000 (15:46 +0200)]
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: 2566656a6f50 ("isisd: Add data structure for SRv6 Adjacency SIDs")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agovtysh, lib: fix 'show ip[v6] prefix-list ... json' formatting by moving it to vtysh 15750/head
Piotr Suchy [Mon, 15 Apr 2024 19:33:40 +0000 (21:33 +0200)]
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>
12 months agobgpd: Do not reset the session when toggling dynamic capability 15810/head
Donatas Abraitis [Sun, 21 Apr 2024 19:29:32 +0000 (22:29 +0300)]
bgpd: Do not reset the session when toggling dynamic capability

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agoMerge pull request #15738 from idryzhov/bfd-cbit
Donald Sharp [Sun, 21 Apr 2024 14:59:11 +0000 (10:59 -0400)]
Merge pull request #15738 from idryzhov/bfd-cbit

bfdd: fix BFD_GETCBIT

12 months agobgpd: Inherit `capability dynamic` flag from the peer-group
Donatas Abraitis [Sun, 21 Apr 2024 11:19:12 +0000 (14:19 +0300)]
bgpd: Inherit `capability dynamic` flag from the peer-group

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Inherit `capability software-version` flag from the peer-group
Donatas Abraitis [Sun, 21 Apr 2024 11:18:39 +0000 (14:18 +0300)]
bgpd: Inherit `capability software-version` flag from the peer-group

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: Inherit `enforce-first-as` flag from the peer-group
Donatas Abraitis [Sun, 21 Apr 2024 11:16:49 +0000 (14:16 +0300)]
bgpd: Inherit `enforce-first-as` flag from the peer-group

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agoMerge pull request #15803 from LabNConsulting/chopps/add-missing-zif-type
Igor Ryzhov [Sat, 20 Apr 2024 18:25:28 +0000 (21:25 +0300)]
Merge pull request #15803 from LabNConsulting/chopps/add-missing-zif-type

yang: add missing `zif-gre` zebra interface type

12 months agoMerge pull request #15798 from opensourcerouting/fix/show_route_map
Donald Sharp [Sat, 20 Apr 2024 13:05:39 +0000 (09:05 -0400)]
Merge pull request #15798 from opensourcerouting/fix/show_route_map

vtysh: Fix `show route-map` command when calling via `do`

12 months agoyang: add missing `zif-gre` zebra interface type 15803/head
Christian Hopps [Sat, 20 Apr 2024 11:59:02 +0000 (07:59 -0400)]
yang: add missing `zif-gre` zebra interface type

This was caught by the grpc_basic test which was receiving an invalid error
result, which was returned b/c inside zebra the libyang code was flagging the
value as invalid for a derived zebra interface type.

Signed-off-by: Christian Hopps <chopps@labn.net>
12 months agotests: improve coverage no need to modify source/build dir 15801/head
Christian Hopps [Sat, 20 Apr 2024 08:31:03 +0000 (04:31 -0400)]
tests: improve coverage no need to modify source/build dir

- by using symlinks in the rundir (/tmp) into the source/build directory
we avoid needing to copy the *.gcda stat files into the source/build dir.

Signed-off-by: Christian Hopps <chopps@labn.net>
12 months agoMerge pull request #15472 from louis-6wind/ipv6-table-direct
Donatas Abraitis [Sat, 20 Apr 2024 08:28:04 +0000 (11:28 +0300)]
Merge pull request #15472 from louis-6wind/ipv6-table-direct

bgpd: add redistribute table-direct command for ipv6-unicast

12 months agotests: update munet to 0.14.0 release
Christian Hopps [Sat, 20 Apr 2024 07:29:03 +0000 (03:29 -0400)]
tests: update munet to 0.14.0 release

Signed-off-by: Christian Hopps <chopps@labn.net>
12 months agoMerge pull request #15792 from opensourcerouting/fix/bgp_send_notification_with_data
Donald Sharp [Fri, 19 Apr 2024 17:25:50 +0000 (13:25 -0400)]
Merge pull request #15792 from opensourcerouting/fix/bgp_send_notification_with_data

bgpd: Include capabilities when sending NOTIFICATION(7)

12 months agovtysh: Fix `show route-map` command when calling via `do` 15798/head
Donatas Abraitis [Fri, 19 Apr 2024 16:17:11 +0000 (19:17 +0300)]
vtysh: Fix `show route-map` command when calling via `do`

Before:

```
ton(config)# do sh route-map
% [ZEBRA] Unknown command: show route-map
% [BGP] Unknown command: show route-map
% [ISIS] Unknown command: show route-map
```

Fixes: 570fdc55fd65899cd4376193e833594af6bca093 ("lib,vtysh: fix show route map JSON output")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: fix BFD C-bit topotest 15738/head
Renato Westphal [Wed, 17 Apr 2024 14:01:23 +0000 (11:01 -0300)]
tests: fix BFD C-bit topotest

When a BFD down notification is received and the C-bit is set in both
directions, any ongoing graceful restart should be aborted and stale
routes removed from the RIB.

This commit updates the `bfd_bgp_cbit_topo3` topotest accordingly to
fix the expected outcomes in the `test_bfd_loss_intermediate` test.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
12 months agoospfd: Add prefix-list filtering of OSPF neighbors on OSPF interface 15783/head
Acee Lindem [Wed, 17 Apr 2024 20:14:56 +0000 (20:14 +0000)]
ospfd: Add prefix-list filtering of OSPF neighbors on OSPF interface

This commit adds the capabiity to filter OSPF neighbors using a
prefix-list with rules matching the neighbor's IP source address.
Configuration, filtering, immediate neighbor pruning, topo-tests,
and documentation are included. The command is:

     ip ospf neighbor-filter <prefix-list> [A.B.C.D]

Signed-off-by: Acee Lindem <acee@lindem.com>
12 months agobgpd: Include capabilities when sending NOTIFICATION(7) 15792/head
Donatas Abraitis [Thu, 18 Apr 2024 14:37:51 +0000 (17:37 +0300)]
bgpd: Include capabilities when sending NOTIFICATION(7)

RFC5492 says:

This document defines a new Error Subcode, Unsupported Capability.
   The value of this Subcode is 7.  The Data field in the NOTIFICATION
   message MUST list the set of capabilities that causes the speaker to
   send the message.  Each such capability is encoded in the same way as
   it would be encoded in the OPEN message.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agobgpd: do allocate vrf label only when necessary 15717/head
Philippe Guibert [Tue, 9 Apr 2024 15:09:39 +0000 (17:09 +0200)]
bgpd: do allocate vrf label only when necessary

Today, with the following bgp instance configured, the
local VRF label is allocated even if it is not used.

> router bgp 65500 vrf vrf1
>  address-family ipv4 unicast
>   label vpn export allocation-mode per-nexthop
>   label vpn export auto
>   rd vpn export 444:1
>   rt vpn both 52:100
>   export vpn
>   import vpn

The 'show mpls table' indicates that the 16 label value
is allocated, but never used in the exported prefixes.

> r1# show mpls table
>  Inbound Label  Type  Nexthop         Outbound Label
>  -----------------------------------------------------
>  16             BGP   vrf1            -
>  17             BGP   192.168.255.13  -
>  18             BGP   192.0.2.12      -
>  19             BGP   192.0.2.11      -

Fix this by only allocating new label values when really
used. Consequently, only 3 labels will be allocated instead
of previously 4.

> r1# show mpls table
>  Inbound Label  Type  Nexthop         Outbound Label
>  -----------------------------------------------------
>  16             BGP   192.168.255.13  -
>  17             BGP   192.0.2.11      -
>  18             BGP   192.0.2.12      -

Fixes: 577be36a41be ("bgpd: add support for l3vpn per-nexthop label")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agoMerge pull request #15770 from idryzhov/fix-yang-exit
Jafar Al-Gharaibeh [Thu, 18 Apr 2024 06:33:07 +0000 (01:33 -0500)]
Merge pull request #15770 from idryzhov/fix-yang-exit

lib, zebra: fix exit commands

12 months agoMerge pull request #15780 from donaldsharp/rpki_as_0
Donatas Abraitis [Thu, 18 Apr 2024 06:31:39 +0000 (09:31 +0300)]
Merge pull request #15780 from donaldsharp/rpki_as_0

bgpd: Allow specification of AS 0 for rpki commands

12 months agobgpd: Drop SRTE_COLOR attribute flag 15782/head
Donatas Abraitis [Wed, 17 Apr 2024 19:25:29 +0000 (22:25 +0300)]
bgpd: Drop SRTE_COLOR attribute flag

SRTE_COLOR is not defined at all as an attribute, it was a mistake from the
beginning.

SRTE_COLOR is extended community, can't see the reason having it as a community,
and a separate attribute.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agoMerge pull request #15775 from Shbinging/fix_ospf_vtysh_commands
Donatas Abraitis [Wed, 17 Apr 2024 19:01:20 +0000 (22:01 +0300)]
Merge pull request #15775 from Shbinging/fix_ospf_vtysh_commands

ospfd: fix 'no maximum-paths' 'no write-multiplier'  commands

12 months agoMerge pull request #15771 from idryzhov/fix-keychain-crash
Donald Sharp [Wed, 17 Apr 2024 17:26:36 +0000 (13:26 -0400)]
Merge pull request #15771 from idryzhov/fix-keychain-crash

lib: fix keychain NB crash

12 months agoMerge pull request #15774 from louis-6wind/cleanup-allow-martians
Donatas Abraitis [Wed, 17 Apr 2024 16:17:54 +0000 (19:17 +0300)]
Merge pull request #15774 from louis-6wind/cleanup-allow-martians

bgpd: cleanup references to debug bgp allow-martians

12 months agoMerge pull request #15758 from opensourcerouting/pkg_libyang_versions
Igor Ryzhov [Wed, 17 Apr 2024 15:10:09 +0000 (18:10 +0300)]
Merge pull request #15758 from opensourcerouting/pkg_libyang_versions

debian, redhat, snapcraft: Libyang min version is 2.1.128

12 months agobgpd: Allow specification of AS 0 for rpki commands 15780/head
Donald Sharp [Wed, 17 Apr 2024 13:40:00 +0000 (09:40 -0400)]
bgpd: Allow specification of AS 0 for rpki commands

RFC-7607 specifically calls out the allowed usage
of AS 0 to signal that the a particular address is
not in use and should be guarded against.  Add
the ability to specify this special AS in the rpki
commands.

eva# show rpki  as-number 0
RPKI/RTR prefix table
Prefix                                   Prefix Length  Origin-AS
2.57.180.0                                  22 -  24   0
2.58.144.0                                  22 -  22   0
2.59.116.0                                  24 -  24   0
4.42.228.0                                  22 -  22   0
5.57.80.0                                   22 -  22   0
<snip>
2a13:df87:b400::                            38 -  38   0
2a13:df84::                                 32 -  32   0
2630::                                      16 -  16   0
Number of IPv4 Prefixes: 1166
Number of IPv6 Prefixes: 617

eva# show rpki prefix 2630::/16 0
Prefix                                   Prefix Length  Origin-AS
2630::                                      16 -  16   0
eva#

Fixes: #15778
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
12 months agoospfd: fix 'no write-multiplier' command 15775/head
Bing Shui [Wed, 17 Apr 2024 10:41:11 +0000 (10:41 +0000)]
ospfd: fix 'no write-multiplier' command

Signed-off-by: Bing Shui <652023330037@smail.nju.edu.cn>
12 months agoospfd: fix 'no maximum-paths' command
Bing Shui [Wed, 17 Apr 2024 08:41:45 +0000 (08:41 +0000)]
ospfd: fix 'no maximum-paths' command

Signed-off-by: Bing Shui <652023330037@smail.nju.edu.cn>
12 months agobgpd: cleanup references to debug bgp allow-martians 15774/head
Louis Scalbert [Wed, 17 Apr 2024 07:51:07 +0000 (09:51 +0200)]
bgpd: cleanup references to debug bgp allow-martians

The debug command was removed in 17e9298e47 ("bgpd: Remove 'debug bgp
allow-martian'")

Cleanup all references to the debug command.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>