]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
11 months agobgpd: bmp rename tlv types
Maxence Younsi [Tue, 7 May 2024 11:15:31 +0000 (13:15 +0200)]
bgpd: bmp rename tlv types

renamed BMP_INFO_TYPE_SYSDESCR to BMP_INIT_INFO_TYPE_SYSDESCR
renamed BMP_INFO_TYPE_SYSNAME to BMP_INIT_INFO_TYPE_SYSNAME
added BMP_PEERUP_INFO_STRING

Signed-off-by: Maxou <maxence.younsi@insa-lyon.fr>
11 months agoMerge pull request #15594 from idryzhov/mgmt-rpc
Christian Hopps [Mon, 6 May 2024 20:05:50 +0000 (16:05 -0400)]
Merge pull request #15594 from idryzhov/mgmt-rpc

mgmtd: implement YANG RPC/action support

11 months agoMerge pull request #15902 from opensourcerouting/build-xref-setup-hppa
Donald Sharp [Mon, 6 May 2024 14:29:05 +0000 (10:29 -0400)]
Merge pull request #15902 from opensourcerouting/build-xref-setup-hppa

build: fix missing `XREF_SETUP` (and HP PA-RISC build failure)

11 months agoMerge pull request #15889 from opensourcerouting/build-libatomic
Donald Sharp [Mon, 6 May 2024 14:27:33 +0000 (10:27 -0400)]
Merge pull request #15889 from opensourcerouting/build-libatomic

build: link libatomic if available

11 months agoMerge pull request #15915 from opensourcerouting/build-format-suseconds
Donald Sharp [Mon, 6 May 2024 14:26:46 +0000 (10:26 -0400)]
Merge pull request #15915 from opensourcerouting/build-format-suseconds

lib, gcc-plugin: fix 64-bit time_t prints

11 months agoMerge pull request #15924 from chiragshah6/fdev5
Donatas Abraitis [Mon, 6 May 2024 07:12:27 +0000 (10:12 +0300)]
Merge pull request #15924 from chiragshah6/fdev5

bgpd: [GR] fix mode change vtysh return code

11 months agoMerge pull request #15921 from cscarpitta/bgp-fix-srv6-locator-delete-crash
Donatas Abraitis [Mon, 6 May 2024 05:51:24 +0000 (08:51 +0300)]
Merge pull request #15921 from cscarpitta/bgp-fix-srv6-locator-delete-crash

bgpd: Fix crash when deleting the SRv6 locator

11 months agobgpd: Fix the order of NULL check and ZAPI decode
Carmine Scarpitta [Sun, 5 May 2024 05:25:57 +0000 (07:25 +0200)]
bgpd: Fix the order of NULL check and ZAPI decode

When BGP receives an SRV6_LOCATOR_ADD message from zebra, it calls the
`bgp_zebra_process_srv6_locator_add()` function to process the message.
`bgp_zebra_process_srv6_locator_add()` decodes the message first, and
then if the pointer to the default BGP instance is NULL (i.e. the
default BGP instance is not configured yet), it returns early without
doing anything and without using the decoded message information.

This commit fixes the order of the operations executed by
`bgp_zebra_process_srv6_locator_add()`. We first ensure that the default
BGP instance is ready and we return early if it is not. Then, we decode
the message and do something with the information contained in it.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
11 months agobgpd: [GR] fix mode change vtysh return code
Chirag Shah [Fri, 2 Feb 2024 20:11:58 +0000 (12:11 -0800)]
bgpd: [GR] fix mode change vtysh return code

When a bgp neighbor graceful-restart config mode change
is applied, after accepting the config if it does not
take effect instead of throwing vtysh error code,
return the success to vtysh and warn the user.
The debug log is already present at critical code point
where GR failure is seen during config apply.

Ticket: #3761481
Testing Done:

root@tor-1:# vtysh -c 'config t' -c 'router bgp 65564
vrf VRF2' -c 'neighbor 20.1.1.1 graceful-restart'
As part of configuring graceful-restart, capability send to zebra failed
root@tor-1:# echo $?
0

Signed-off-by: Chirag Shah <chirag@nvidia.com>
11 months agoMerge pull request #15917 from anlancs/isisd/fix-display-route
Donatas Abraitis [Sat, 4 May 2024 09:30:17 +0000 (12:30 +0300)]
Merge pull request #15917 from anlancs/isisd/fix-display-route

isisd: adjust the format of display command

11 months agoMerge pull request #15607 from chiragshah6/evpn_dev4
Donatas Abraitis [Sat, 4 May 2024 06:08:04 +0000 (09:08 +0300)]
Merge pull request #15607 from chiragshah6/evpn_dev4

zebra: bridge flap handle vlan membership update

11 months agobgpd: Fix crash when deleting the SRv6 locator
Carmine Scarpitta [Fri, 3 May 2024 21:35:05 +0000 (23:35 +0200)]
bgpd: Fix crash when deleting the SRv6 locator

When BGP receives a `SRV6_LOCATOR_DEL` from zebra, it invokes
`bgp_zebra_process_srv6_locator_delete` to process the message.

`bgp_zebra_process_srv6_locator_delete` obtains a pointer to the default
BGP instance and then dereferences this pointer.

If the default BGP instance is not ready / not configured yet, this
pointer this pointer is `NULL` and dereferencing it causes BGP to crash.

This commit fix the issue by adding a a check to verify if the pointer
is `NULL` and returning early if it is.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
11 months agozebra: bridge flap handle vlan membership update
Chirag Shah [Fri, 22 Mar 2024 20:25:18 +0000 (13:25 -0700)]
zebra: bridge flap handle vlan membership update

Upon bridge flap, the associated SVD case,
VLAN membership is not updated correctly.
When SVI comes up, the VNI could not associate
with it as bridge VLAN membership was not updated.

Ticket: #3821632

Testing:

Before fix:
-----------
tor-1:#ifdown br_l3vni ; sleep 1 ; ifup br_l3vni
tor-1:# vtysh -c 'show evpn vni 8888'
VNI: 8888
  Type: L3
  Tenant VRF: sym_1
  Vlan: 490
  Bridge: br_l3vni
  Local Vtep Ip: 27.0.0.9
  Vxlan-Intf: vxlan99
  SVI-If: None    <<<<<< SVI not found
  State: Down     <<<<<< status remained in down BGP is not informed
  VNI Filter: none
  System MAC: None
  Router MAC: None
  L2 VNIs: 1800 1801 1900 1901

After fix:
----------

tor-1:# ifdown br_l3vni; sleep 1; ifup br_l3vni
tor-1:# vtysh

Hello, this is FRRouting (version 8.4.3).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

tor-1# show evpn vni 8888
VNI: 8888
  Type: L3
  Tenant VRF: sym_1
  Vlan: 490
  Bridge: br_l3vni
  Local Vtep Ip: 27.0.0.9
  Vxlan-Intf: vxlan99
  SVI-If: vlan490_l3 <<<<<<
  State: Up          <<<<<<
  VNI Filter: none
  System MAC: 44:38:39:ff:ff:29
  Router MAC: 44:38:39:ff:ff:29
  L2 VNIs: 1800 1801 1900 1901

Signed-off-by: Chirag Shah <chirag@nvidia.com>
11 months agoisisd: adjust the format of display command
anlan_cs [Fri, 3 May 2024 15:04:05 +0000 (23:04 +0800)]
isisd: adjust the format of display command

Before:
```
anlan# show isis neighbor
Area xx:
  System Id           Interface   L  State        Holdtime SNPA
 0023.0000.0000      enp1s0      2  Down          Expiring2c53.4a30.0820
```

After:
```
anlan# show isis neighbor
Area xx:
 System Id           Interface   L  State         Holdtime SNPA
 0023.0000.0000      enp1s0      2  Down          Expiring 2c53.4a30.0820
```

The `-` display format caused by no hello packet in `isis_adj_print_vty()`
is same as that of above "Expiring".

Signed-off-by: anlan_cs <anlan_cs@tom.com>
11 months agoMerge pull request #15914 from opensourcerouting/build-deprecated-no-error
Donald Sharp [Fri, 3 May 2024 14:48:20 +0000 (10:48 -0400)]
Merge pull request #15914 from opensourcerouting/build-deprecated-no-error

build: exclude deprecated decls from -Werror

11 months agoMerge pull request #15904 from LabNConsulting/chopps/remsleep
Donald Sharp [Fri, 3 May 2024 14:37:47 +0000 (10:37 -0400)]
Merge pull request #15904 from LabNConsulting/chopps/remsleep

tests: remove reliance on time.sleep

11 months agoMerge pull request #15901 from anlancs/zebra/fix-one-comment
Donatas Abraitis [Fri, 3 May 2024 08:09:29 +0000 (11:09 +0300)]
Merge pull request #15901 from anlancs/zebra/fix-one-comment

zebra: clean up one comment

11 months agobuild: hppa is weird
David Lamparter [Thu, 2 May 2024 09:00:17 +0000 (11:00 +0200)]
build: hppa is weird

hppa (yes, HP PA-RISC) apparently creates relocations that refer to
".init+0x12345" for everything, referencing way past the end of the
.init section.  While this is only fallback code hit when XREF_SETUP()
is missing (i.e. the FRRouting.XREF ELF note is absent), try to make it
work anyway.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agobuild: warn/fail on missing `XREF_SETUP()`
David Lamparter [Thu, 2 May 2024 08:57:31 +0000 (10:57 +0200)]
build: warn/fail on missing `XREF_SETUP()`

While clippy tries really, really hard to work under adverse conditions,
and this catches missing XREF_SETUP() on almost all CPU architectures,
this doesn't quite work on hppa.  So, make it a warning on *all*
platforms (or error for --enable-dev-build) in order to catch it before
shipping off to Debian's buildd and blowing up there...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months ago*: add XREF_SETUP() to libraries and utilites
David Lamparter [Thu, 2 May 2024 08:55:11 +0000 (10:55 +0200)]
*: add XREF_SETUP() to libraries and utilites

This is theoretically not needed if neither DEFUNs nor zlog_* calls are
used, except I'm about to turn it into a build error to catch the cases
where it _is_ necessary.  Which is libmgmt_be_nb.la in this case, where
it causes build failures on hppa.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agotools/gcc-plugins: warn for `suseconds_t` format
David Lamparter [Tue, 30 Apr 2024 12:13:22 +0000 (14:13 +0200)]
tools/gcc-plugins: warn for `suseconds_t` format

The plugin was already catching attempts to print `time_t` without
casting it first (there is no valid printf specifier without a cast),
but `__suseconds64_t` needs the same treatment.  (Probably
`__suseconds_t` too, if it exists, which I'm not sure it does - but that
doesn't matter, the plugin ignores non-existing types.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agolib: fix `time_t` print without cast
David Lamparter [Tue, 30 Apr 2024 12:18:03 +0000 (14:18 +0200)]
lib: fix `time_t` print without cast

The gcc plugin wasn't warning about printing `suseconds_t` (which is
`time_t`, but in `struct timeval`.)  It needs to be printed with a cast,
just like `time_t`.  Luckily there is only one such usage.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agoMerge pull request #15837 from acooks-at-bda/dev/fix-deprecated-cares-api
David Lamparter [Thu, 2 May 2024 20:26:16 +0000 (22:26 +0200)]
Merge pull request #15837 from acooks-at-bda/dev/fix-deprecated-cares-api

11 months agobuild: exclude deprecated decls from -Werror
David Lamparter [Thu, 2 May 2024 20:07:24 +0000 (22:07 +0200)]
build: exclude deprecated decls from -Werror

Other parts of the system can change (e.g. libc-ares), making things
deprecated, and then our build fails for no reason inside FRR.  This
shouldn't be an error.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agoMerge pull request #15840 from opensourcerouting/ospf6-iftype-connected-fix
Donald Sharp [Thu, 2 May 2024 14:22:11 +0000 (10:22 -0400)]
Merge pull request #15840 from opensourcerouting/ospf6-iftype-connected-fix

ospf6d: fix interface type vs. connected routes updates

11 months agotests: remove reliance on time.sleep
Christian Hopps [Thu, 2 May 2024 10:09:42 +0000 (06:09 -0400)]
tests: remove reliance on time.sleep

Use proper retry loop to wait for state to converge, not some arbitrary delay.

fixes #15878

Signed-off-by: Christian Hopps <chopps@labn.net>
11 months agozebra: clean up one comment
anlan_cs [Fri, 28 Apr 2023 23:49:35 +0000 (07:49 +0800)]
zebra: clean up one comment

With the commit `605df8d4`, all real things are moved into dplane.
So the operations mentioned in this comment have nothing to do with
this function `netlink_link_change()`.

Just remove that confusing and useless comment.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
11 months agoMerge pull request #15891 from mjstapp/retry_pathd_sync_conn
Donatas Abraitis [Thu, 2 May 2024 08:18:10 +0000 (11:18 +0300)]
Merge pull request #15891 from mjstapp/retry_pathd_sync_conn

pathd: retry label-manager connection asynchronously

11 months agoMerge pull request #15890 from httpstorm/frr-macOS-section.2024-04-30
David Lamparter [Wed, 1 May 2024 14:55:54 +0000 (16:55 +0200)]
Merge pull request #15890 from httpstorm/frr-macOS-section.2024-04-30

11 months agoMerge pull request #15892 from donaldsharp/parse_attr_problems
Mark Stapp [Wed, 1 May 2024 13:43:11 +0000 (09:43 -0400)]
Merge pull request #15892 from donaldsharp/parse_attr_problems

zebra: Ensure proper decoding of netlink message

11 months agoMerge pull request #15673 from pguibert6WIND/isis_srv6_usid
Donatas Abraitis [Wed, 1 May 2024 05:26:28 +0000 (08:26 +0300)]
Merge pull request #15673 from pguibert6WIND/isis_srv6_usid

lib: fix srv6 locator flags propagated to isis

11 months agoMerge pull request #15874 from pguibert6WIND/bgp_get_sockname_coverity_1585206
Donatas Abraitis [Wed, 1 May 2024 05:24:31 +0000 (08:24 +0300)]
Merge pull request #15874 from pguibert6WIND/bgp_get_sockname_coverity_1585206

bgpd: fix covery ID 1585206

11 months agozebra: Ensure proper decoding of netlink message
Donald Sharp [Tue, 30 Apr 2024 14:53:48 +0000 (10:53 -0400)]
zebra: Ensure proper decoding of netlink message

As part of the kernel netlink functionality, it is
possible that a bit of nested attributes can be
passed up.  This attribute has a type value which
is stored in the lower 8 bits and in the upper 8
bits are a couple control flags that can be used.
FRR can parse this data and then just throw away
the value unless we mask off the upper 8 bits.
Let's ensure that it can be properly parsed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
11 months agopathd: clean up a log message
Mark Stapp [Tue, 30 Apr 2024 18:34:58 +0000 (14:34 -0400)]
pathd: clean up a log message

Clean up a typo in a log message.

Signed-off-by: Mark Stapp <mjs@cisco.com>
11 months agopathd: retry synchronous label-manager zapi connection
Mark Stapp [Tue, 30 Apr 2024 18:33:13 +0000 (14:33 -0400)]
pathd: retry synchronous label-manager zapi connection

Be prepared to retry setting up pathd's synchronous zapi session
that's used for label-manager.

Signed-off-by: Mark Stapp <mjs@cisco.com>
11 months agolib: fix error on MacOS
Ruben Kerkhof [Wed, 18 Mar 2020 14:40:39 +0000 (15:40 +0100)]
lib: fix error on MacOS

Sections use a different syntax for Mach-O executables.

Fixes:

lib/bfd.c:35:1: error: argument to 'section' attribute is not valid for this target: mach-o section specifier requires a segment and section separated by a
      comma
DEFINE_MTYPE_STATIC(LIB, BFD_INFO, "BFD info")
^
./lib/memory.h:140:2: note: expanded from macro 'DEFINE_MTYPE_STATIC'
        DEFINE_MTYPE_ATTR(group, name, static, desc)                           \
        ^
./lib/memory.h:110:26: note: expanded from macro 'DEFINE_MTYPE_ATTR'
                __attribute__((section(".data.mtypes"))) = { {                 \
                                       ^
1 error generated.

Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
11 months agoMerge pull request #15791 from zhou-run/202404182042
Olivier Dugeon [Tue, 30 Apr 2024 14:33:48 +0000 (16:33 +0200)]
Merge pull request #15791 from zhou-run/202404182042

isisd: When the ISIS instance does not exist, the default metric will not be wide.

11 months agoMerge pull request #15653 from pguibert6WIND/link_state_srv6_capas
Olivier Dugeon [Tue, 30 Apr 2024 13:39:11 +0000 (15:39 +0200)]
Merge pull request #15653 from pguibert6WIND/link_state_srv6_capas

Link state srv6 capas

11 months agobuild: link libatomic if available
David Lamparter [Tue, 30 Apr 2024 09:52:37 +0000 (11:52 +0200)]
build: link libatomic if available

It'll generally exist but be empty on systems that don't need it.
(Some 32bit platforms now need it due to 64bit time_t, and the platform
may not have 64bit atomic ops.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
11 months agoMerge pull request #15669 from poojarathore30/listen-limit-logging
Donatas Abraitis [Tue, 30 Apr 2024 11:54:19 +0000 (14:54 +0300)]
Merge pull request #15669 from poojarathore30/listen-limit-logging

bgpd : Ensure logging for dynamic neighbor listen limit reached

12 months agobgpd: fix covery ID 1585206
Philippe Guibert [Mon, 29 Apr 2024 13:43:29 +0000 (15:43 +0200)]
bgpd: fix covery ID 1585206

The return value of bgp_getsockname() should always be
checked.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agoMerge pull request #15619 from opensourcerouting/fix/memory_optimizations
Donald Sharp [Mon, 29 Apr 2024 13:26:03 +0000 (09:26 -0400)]
Merge pull request #15619 from opensourcerouting/fix/memory_optimizations

bgpd: Put BGP_DEBUG/CONF_BGP_DEBUG under ulikely() optimization

12 months agoMerge pull request #15834 from pguibert6WIND/alias_path_iproute2
Donald Sharp [Mon, 29 Apr 2024 13:21:48 +0000 (09:21 -0400)]
Merge pull request #15834 from pguibert6WIND/alias_path_iproute2

tools: add iproute2 alias for pathd daemon

12 months agoMerge pull request #15824 from opensourcerouting/fix/ospf_show_non_default
Donald Sharp [Mon, 29 Apr 2024 13:21:09 +0000 (09:21 -0400)]
Merge pull request #15824 from opensourcerouting/fix/ospf_show_non_default

vtysh: Show `ip ospf network ...` even if it's not the same as the interface type

12 months agoMerge pull request #15839 from opensourcerouting/ospf6-defun-unwreck
Donald Sharp [Mon, 29 Apr 2024 13:18:32 +0000 (09:18 -0400)]
Merge pull request #15839 from opensourcerouting/ospf6-defun-unwreck

ospf6d: fix DEFUN formatting wrecked by clang

12 months agoMerge pull request #15864 from opensourcerouting/fix/graceful_restart_per_neighbor
Donald Sharp [Mon, 29 Apr 2024 13:16:36 +0000 (09:16 -0400)]
Merge pull request #15864 from opensourcerouting/fix/graceful_restart_per_neighbor

tests: Check if Graceful Restart per-neighbor works as expected

12 months agoMerge pull request #15865 from opensourcerouting/fix/drop_duplicate_pytestmark
Donald Sharp [Mon, 29 Apr 2024 13:14:52 +0000 (09:14 -0400)]
Merge pull request #15865 from opensourcerouting/fix/drop_duplicate_pytestmark

tests: A bit of housekeeping for topotests

12 months agobgpd : Ensure logging for dynamic neighbor listen limit reached
rathorepo [Thu, 18 Apr 2024 09:53:36 +0000 (09:53 +0000)]
bgpd : Ensure logging for dynamic neighbor listen limit reached

Dynamic neighbors exceeding the listen limit were rejected without appropriate logging.
Previously, only rejection logs were generated, leaving users unaware of when the limit being reached.
Adding a log message for when the listen limit is reached

Signed-off-by: Pooja Rathore <rathorepo@vmware.com>
12 months agoMerge pull request #15670 from poojarathore30/pg-deletion-with-listen-range
Donatas Abraitis [Mon, 29 Apr 2024 08:29:07 +0000 (11:29 +0300)]
Merge pull request #15670 from poojarathore30/pg-deletion-with-listen-range

bgpd : Prevent deletion of BGP peer groups associated to listen range

12 months agoMerge pull request #15851 from chiragshah6/fdev2
Donatas Abraitis [Mon, 29 Apr 2024 08:28:03 +0000 (11:28 +0300)]
Merge pull request #15851 from chiragshah6/fdev2

tools: Handle seq num for BGP as-path in frr-reload.py

12 months agoMerge pull request #15861 from anlancs/fix-bgpd-dead-code
Donatas Abraitis [Mon, 29 Apr 2024 08:25:20 +0000 (11:25 +0300)]
Merge pull request #15861 from anlancs/fix-bgpd-dead-code

bgpd: fix the dead code

12 months agotools: add iproute2 alias for pathd daemon
Philippe Guibert [Wed, 24 Apr 2024 15:06:17 +0000 (17:06 +0200)]
tools: add iproute2 alias for pathd daemon

With SRv6 traffic engineering, some ipv6 routes will
be installed by the Pathd daemon.
Populate the iproute2 aliasing table with pathd.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
12 months agotests: Apply black formatting from what frrbot suggested to be happy
Donatas Abraitis [Sat, 27 Apr 2024 20:39:48 +0000 (23:39 +0300)]
tests: Apply black formatting from what frrbot suggested to be happy

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: Add missing check_router_status for bgp_tcp_mss test
Donatas Abraitis [Sat, 27 Apr 2024 20:30:08 +0000 (23:30 +0300)]
tests: Add missing check_router_status for bgp_tcp_mss test

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotools: Add black formatting commit to .git-blame-ignore-revs
Donatas Abraitis [Sat, 27 Apr 2024 20:20:58 +0000 (23:20 +0300)]
tools: Add black formatting commit to .git-blame-ignore-revs

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: Apply black formatting for all tests/topotests
Donatas Abraitis [Sat, 27 Apr 2024 20:19:32 +0000 (23:19 +0300)]
tests: Apply black formatting for all tests/topotests

It's just annoying when the linter tells to apply the formatting for the code
you didn't touch.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
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 agotests: Drop debug statements from bgp_gr_restart_retain_routes
Donatas Abraitis [Sat, 27 Apr 2024 20:09:40 +0000 (23:09 +0300)]
tests: Drop debug statements from bgp_gr_restart_retain_routes

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: Check if Graceful Restart per-neighbor works as expected
Donatas Abraitis [Sat, 27 Apr 2024 20:06:19 +0000 (23:06 +0300)]
tests: Check if Graceful Restart per-neighbor works as expected

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
12 months agotests: Use a single frr.conf for bgp_gr_restart_retain_routes
Donatas Abraitis [Sat, 27 Apr 2024 20:00:36 +0000 (23:00 +0300)]
tests: Use a single frr.conf for bgp_gr_restart_retain_routes

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 agobgpd : Prevent deletion of BGP peer groups associated to listen range
rathorepo [Wed, 3 Apr 2024 10:54:46 +0000 (10:54 +0000)]
bgpd : Prevent deletion of BGP peer groups associated to listen range

Description:
-----
Deleting a peer group also deletes its associated BGP listen range.
This behaviour is undesired as it could cause unintended configuration changes.

Fix :
-----
-Do not allow peer group deletion until they are no longer associated with any listen range.
-Check the count of listen ranges attached to the group.
If any listen ranges are found, returns a configuration warning, preventing the deletion.

Signed-off-by: Pooja Rathore <rathorepo@vmware.com>
12 months agobgpd: fix the dead code
anlan_cs [Sat, 27 Apr 2024 12:59:05 +0000 (20:59 +0800)]
bgpd: fix the dead code

Fixed the Coverity issue 1586018:
Control flow issues (DEADCODE) /bgpd/bgp_ecommunity.c: 1402 in ecommunity_ecom2str()

Signed-off-by: anlan_cs <anlan_cs@tom.com>
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
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
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
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 agotools: Handle seq num for BGP as-path in frr-reload.py
Chirag Shah [Fri, 26 Apr 2024 01:52:31 +0000 (18:52 -0700)]
tools: Handle seq num for BGP as-path in frr-reload.py

If frr.conf has bgp as-path access-list clause without sequence number
then upon performing frr-rleoad, the running config clause with sequence
number will always be deleted and the new ones without sequence will
be re-added.
This could lead to blackholing until the config gets reapplied.

Testing:

frr.conf:
bgp as-path access-list important_internet_bgp_as_numbers permit _16509_

Running config:
bgp as-path access-list important_internet_bgp_as_numbers seq 5 permit
_16509_
!

Before fix
Upon frr-reload it deletes and readd line as without seq

2024-04-26 03:16:45,772  INFO: Executed "no bgp as-path access-list
important_internet_bgp_as_numbers seq 5 permit _16509_"

'bgp as-path access-list important_internet_bgp_as_numbers permit
_16509_\n'

After fix:
no form is not executed and no delta determine between frr.conf
and running-config.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
12 months agolib: replace deprecated ares_gethostbyname
Andrew Cooks [Thu, 25 Apr 2024 07:18:39 +0000 (17:18 +1000)]
lib: replace deprecated ares_gethostbyname

c-ares has deprecated ares_gethostbyname() in version 1.28.0
Replace it with ares_getaddrinfo().

This fixes a build error on Fedora 40.

Signed-off-by: Andrew Cooks <acooks.at.bda@gmail.com>
12 months agobgpd: Remove unused addition found in clang
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.
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
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
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
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 agoospf6d: accept CLI `no` for point-to-multipoint
David Lamparter [Thu, 25 Apr 2024 10:20:27 +0000 (12:20 +0200)]
ospf6d: accept CLI `no` for point-to-multipoint

`point-to-multipoint` was missing on the removal variant of this CLI
command.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
12 months agoospf6d: force recalculate on interface_up
David Lamparter [Thu, 25 Apr 2024 10:18:08 +0000 (12:18 +0200)]
ospf6d: force recalculate on interface_up

interface_up also handles changes to the interface type, i.e. broadcast
to ptp to ptmp.  Connected routes for these are different and must be
readvertised, which is done in ospf6_interface_recalculate_cost() - but
only if the cost changed.  Use the force variant here.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
12 months agoospf6d: fix loopback/ptp/ptmp conn. route checks
David Lamparter [Thu, 25 Apr 2024 10:16:35 +0000 (12:16 +0200)]
ospf6d: fix loopback/ptp/ptmp conn. route checks

The code emitting connected routes was checking against the interface
state (which can also be lo/ptp/ptmp) rather than the interface type.
This was causing wrong IA prefixes for connected routes getting put up
out if the interface was down intermittently.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
12 months agoospf6d: fix DEFUN formatting wrecked by clang
David Lamparter [Thu, 25 Apr 2024 09:45:19 +0000 (11:45 +0200)]
ospf6d: fix DEFUN formatting wrecked by clang

clang-format doesn't understand `DEFUN` and formats it rather ugly.
Standard approach was to skip these in clang-format, which hasn't
happened here sadly.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
12 months agolib: replace deprecated ares_process()
Andrew Cooks [Wed, 24 Apr 2024 05:01:28 +0000 (15:01 +1000)]
lib: replace deprecated ares_process()

ares_process(...) has been deprecated.
Replace it with ares_process_fd(...)

Signed-off-by: Andrew Cooks <acooks.at.bda@gmail.com>
12 months agodocs: libs install-prefix since cmake 3.21
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