]>
git.puffer.fish Git - mirror/frr.git/log
Carmine Scarpitta [Fri, 6 Sep 2024 21:23:56 +0000 (23:23 +0200)]
tests: SRv6 SID Manager check ping
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 21:23:37 +0000 (23:23 +0200)]
tests: SRv6 SID Manager json cmp
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 21:23:18 +0000 (23:23 +0200)]
tests: SRv6 SID Manager teardown module
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 21:22:58 +0000 (23:22 +0200)]
tests: SRv6 SID Manager setup module
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 21:22:39 +0000 (23:22 +0200)]
tests: SRv6 SID Manager build topology
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 21:22:02 +0000 (23:22 +0200)]
tests: Add SRv6 SID Manager topotest
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:56:23 +0000 (22:56 +0200)]
tests: Add json to verify rt6 vpn rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:56:15 +0000 (22:56 +0200)]
tests: Add json to verify rt6 vrf20 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:56:09 +0000 (22:56 +0200)]
tests: Add json to verify rt6 vrf10 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:57 +0000 (22:54 +0200)]
tests: Add json to verify rt6 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:50 +0000 (22:54 +0200)]
tests: Add json to verify rt6 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:40 +0000 (22:54 +0200)]
tests: Add json to verify rt6 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:35 +0000 (22:54 +0200)]
tests: Add json to verify rt6 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:18 +0000 (22:54 +0200)]
tests: Add zebra configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:10 +0000 (22:54 +0200)]
tests: Add sharp configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:54:03 +0000 (22:54 +0200)]
tests: Add ISIS configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:53:53 +0000 (22:53 +0200)]
tests: Add BGP configuration for rt6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:52:20 +0000 (22:52 +0200)]
tests: Add json to verify rt5 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:52:11 +0000 (22:52 +0200)]
tests: Add json to verify rt5 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:52:02 +0000 (22:52 +0200)]
tests: Add json to verify rt5 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:51:57 +0000 (22:51 +0200)]
tests: Add json to verify rt5 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:51:48 +0000 (22:51 +0200)]
tests: Add zebra configuration for rt5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:51:41 +0000 (22:51 +0200)]
tests: Add ISIS configuration for rt5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:50:39 +0000 (22:50 +0200)]
tests: Add json to verify rt4 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:50:31 +0000 (22:50 +0200)]
tests: Add json to verify rt4 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:50:22 +0000 (22:50 +0200)]
tests: Add json to verify rt4 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:50:17 +0000 (22:50 +0200)]
tests: Add json to verify rt4 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:50:07 +0000 (22:50 +0200)]
tests: Add zebra configuration for rt4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:58 +0000 (22:49 +0200)]
tests: Add ISIS configuration for rt4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:49 +0000 (22:49 +0200)]
tests: Add json to verify rt3 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:41 +0000 (22:49 +0200)]
tests: Add json to verify rt3 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:33 +0000 (22:49 +0200)]
tests: Add json to verify rt3 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:26 +0000 (22:49 +0200)]
tests: Add json to verify rt3 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:14 +0000 (22:49 +0200)]
tests: Add zebra configuration for rt3
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:49:07 +0000 (22:49 +0200)]
tests: Add ISIS configuration for rt3
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:59 +0000 (22:48 +0200)]
tests: Add json to verify rt2 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:48 +0000 (22:48 +0200)]
tests: Add json to verify rt2 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:34 +0000 (22:48 +0200)]
tests: Add json to verify rt2 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:24 +0000 (22:48 +0200)]
tests: Add json to verify rt2 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:09 +0000 (22:48 +0200)]
tests: Add zebra configuration for rt2
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:48:01 +0000 (22:48 +0200)]
tests: Add ISIS configuration for rt2
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:46:53 +0000 (22:46 +0200)]
tests: Add json to verify rt1 ISIS adj
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:46:40 +0000 (22:46 +0200)]
tests: Add json to verify rt1 SRv6 locators
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:46:26 +0000 (22:46 +0200)]
tests: Add json to verify rt1 ipv6 routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:46:19 +0000 (22:46 +0200)]
tests: Add json to verify rt1 ip routes
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:45:41 +0000 (22:45 +0200)]
tests: Add json to verify rt1 vpn rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:45:30 +0000 (22:45 +0200)]
tests: Add json to verify rt1 vrf20 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:45:21 +0000 (22:45 +0200)]
tests: Add json to verify rt1 vrf10 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:43:51 +0000 (22:43 +0200)]
tests: Add zebra configuration for rt1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:43:42 +0000 (22:43 +0200)]
tests: Add sharp configuration for rt1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:43:34 +0000 (22:43 +0200)]
tests: Add ISIS configuration for rt1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:43:26 +0000 (22:43 +0200)]
tests: Add BGP configuration for rt1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:40:45 +0000 (22:40 +0200)]
tests: Add zebra configuration for dst
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:40:31 +0000 (22:40 +0200)]
tests: Add sharp configuration for dst
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:52 +0000 (22:39 +0200)]
tests: Add json to verify ce6 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:46 +0000 (22:39 +0200)]
tests: Add zebra configuration for ce6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:39 +0000 (22:39 +0200)]
tests: Add BGP configuration for ce6
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:32 +0000 (22:39 +0200)]
tests: Add json to verify ce5 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:24 +0000 (22:39 +0200)]
tests: Add zebra configuration for ce5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:15 +0000 (22:39 +0200)]
tests: Add BGP configuration for ce5
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:39:06 +0000 (22:39 +0200)]
tests: Add json to verify ce4 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:38:54 +0000 (22:38 +0200)]
tests: Add zebra configuration for ce4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:38:47 +0000 (22:38 +0200)]
tests: Add BGP configuration for ce4
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:38:15 +0000 (22:38 +0200)]
tests: Add json to verify ce3 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:38:06 +0000 (22:38 +0200)]
tests: Add zebra configuration for ce3
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:38:00 +0000 (22:38 +0200)]
tests: Add BGP configuration for ce3
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:37:42 +0000 (22:37 +0200)]
tests: Add json to verify ce2 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:37:35 +0000 (22:37 +0200)]
tests: Add zebra configuration for ce2
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:37:26 +0000 (22:37 +0200)]
tests: Add BGP configuration for ce2
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:37:13 +0000 (22:37 +0200)]
tests: Add json to verify ce1 rib
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:35:43 +0000 (22:35 +0200)]
tests: Add zebra configuration for ce1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 6 Sep 2024 20:35:34 +0000 (22:35 +0200)]
tests: Add BGP configuration for ce1
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Donald Sharp [Fri, 6 Sep 2024 16:16:45 +0000 (12:16 -0400)]
Merge pull request #16757 from mjstapp/fix_ospfd_dlist_sa
ospfd: add assert to resolve SA warning
Mark Stapp [Fri, 6 Sep 2024 13:15:50 +0000 (09:15 -0400)]
ospfd: add assert to resolve SA warning
Resolve a couple of SA warnings by asserting that pointers are
valid.
Signed-off-by: Mark Stapp <mjs@cisco.com>
Donatas Abraitis [Fri, 6 Sep 2024 06:43:00 +0000 (09:43 +0300)]
Merge pull request #16746 from Jafaral/nhrp-test
tests: nhrp, use unified config, remove misleading error log
Donatas Abraitis [Fri, 6 Sep 2024 06:39:01 +0000 (09:39 +0300)]
Merge pull request #16754 from sri-mohan1/srib-24-frr-a
babeld: changes for code maintainability
Donatas Abraitis [Fri, 6 Sep 2024 06:28:24 +0000 (09:28 +0300)]
Merge pull request #16220 from donaldsharp/zebra_fpm_backpressure
Zebra fpm backpressure
sri-mohan1 [Fri, 6 Sep 2024 01:32:51 +0000 (07:02 +0530)]
babeld: changes for code maintainability
these changes are for improving the code maintainability and readability
Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
Donald Sharp [Thu, 5 Sep 2024 21:42:20 +0000 (17:42 -0400)]
Merge pull request #16751 from opensourcerouting/fix/solo_peer-group
bgpd: Some peer-groups related changes/fixes
Donald Sharp [Mon, 17 Jun 2024 14:42:41 +0000 (10:42 -0400)]
zebra: Modify show `zebra dplane providers` to give more data
The show zebra dplane provider command was ommitting
the input and output queues to the dplane itself.
It would be nice to have this insight as well.
New output:
r1# show zebra dplane providers
dataplane Incoming Queue from Zebra: 100
Zebra dataplane providers:
Kernel (1): in: 6, q: 0, q_max: 3, out: 6, q: 14, q_max: 3
dplane_fpm_nl (2): in: 6, q: 10, q_max: 3, out: 6, q: 0, q_max: 3
dataplane Outgoing Queue to Zebra: 43
r1#
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Wed, 12 Jun 2024 19:16:08 +0000 (15:16 -0400)]
zebra: Limit queue depth in dplane_fpm_nl
The dplane providers have a concept of input queues
and output queues. These queues are chained together
during normal operation. The code in zebra also has
a feedback mechanism where the MetaQ will not run when
the first input queue is backed up. Having the dplane_fpm_nl
code grab all contexts when it is backed up prevents
this system from behaving appropriately.
Modify the code to not add to the dplane_fpm_nl's internal
queue when it is already full. This will allow the backpressure
to work appropriately in zebra proper.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Wed, 12 Jun 2024 18:14:48 +0000 (14:14 -0400)]
zebra: Modify dplane loop to allow backpressure to filter up
Currently when the dplane_thread_loop is run, it moves contexts
from the dg_update_list and puts the contexts on the input queue
of the first provider. This provider is given a chance to run
and then the items on the output queue are pulled off and placed
on the input queue of the next provider. Rinse/Repeat down through
the entire list of providers. Now imagine that we have a list
of multiple providers and the last provider is getting backed up.
Contexts will end up sticking in the input Queue of the `slow`
provider. This can grow without bounds. This is a real problem
when you have a situation where an interface is flapping and an
upper level protocol is sending a continous stream of route
updates to reflect the change in ecmp. You can end up with
a very very large backlog of contexts. This is bad because
zebra can easily grow to a very very large memory size and on
restricted systems you can run out of memory. Fortunately
for us, the MetaQ already participates with this process
by not doing more route processing until the dg_update_list
goes below the working limit of dg_updates_per_cycle. Thus
if FRR modifies the behavior of this loop to not move more
contexts onto the input queue if either the input queue
or output queue of the next provider has reached this limit.
FRR will naturaly start auto handling backpressure for the dplane
context system and memory will not go out of control.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Mon, 17 Jun 2024 15:05:28 +0000 (11:05 -0400)]
zebra: Use the ctx queue counters
The ctx queue data structures already have a counter
associated with them. Let's just use them instead.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Donald Sharp [Thu, 5 Sep 2024 17:45:19 +0000 (13:45 -0400)]
Merge pull request #16752 from opensourcerouting/skip_scale_on_32bit
tests: Skip bgp_l3vpn vrf tests on 32bit systems
Russ White [Thu, 5 Sep 2024 15:40:48 +0000 (11:40 -0400)]
Merge pull request #15676 from cscarpitta/bgp-srv6-sid-manager
bgpd: Extend BGP to communicate with the SRv6 SID Manager to allocate/release SRv6 SIDs
Martin Winter [Thu, 5 Sep 2024 13:57:27 +0000 (15:57 +0200)]
tests: Skip bgp_l3vpn vrf tests on 32bit systems
Tests may fail because of limited memory on 32bit system
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Donatas Abraitis [Thu, 5 Sep 2024 13:31:37 +0000 (16:31 +0300)]
tests: Check if we can use `solo` with a peer-group
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 5 Sep 2024 12:48:14 +0000 (15:48 +0300)]
bgpd: Show what is the real type of the peer-group
```
ton# sh ip bgp peer-group
BGP peer-group pg-a
Peer-group type is auto
Configured address-families: IPv4 Unicast;
BGP peer-group pg-e, remote AS 0
Peer-group type is external
Configured address-families: IPv4 Unicast;
BGP peer-group pg-i, remote AS 65001
Peer-group type is internal
Configured address-families: IPv4 Unicast;
ton#
```
`auto` should be handled accordingly.
Fixes: 0dfe25697f5299326046fcfb66f2c6beca7c423c ("bgpd: Implement neighbor X remote-as auto")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Mark Stapp [Thu, 5 Sep 2024 12:21:54 +0000 (08:21 -0400)]
Merge pull request #16749 from opensourcerouting/fix/issue_16747
bgpd: Retry connecting to label manager if failed
Donatas Abraitis [Thu, 5 Sep 2024 12:16:05 +0000 (15:16 +0300)]
bgpd: Allow using `solo` for peer-groups
Inherit solo flag for peer-group members also.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Donatas Abraitis [Thu, 5 Sep 2024 09:35:51 +0000 (12:35 +0300)]
bgpd: Retry connecting to label manager if failed
Fixes: https://github.com/FRRouting/frr/issues/16747
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Philippe Guibert [Sat, 8 Jun 2024 05:15:47 +0000 (07:15 +0200)]
bgpd: add locator name in sid notify messages
In the near future, some daemons may only register SIDs. This may be
the case for the pathd daemon when creating SRv6 binding SIDs.
When a locator is getting deleted at ZEBRA level, the daemon may have
an easy way to find out the SIds to unregister to.
This commit proposes to add the locator name to the SID_SRV6_NOTIFY
message whenever possible. Only case when an allocation failure happens,
the locator will not be present. In all other places, the notify API
at procol levels has the locator name extra-parameter.
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 23 Mar 2024 18:25:31 +0000 (19:25 +0100)]
bgpd: Cleanup related to SRv6
Remove unused SRv6 code.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Thu, 2 May 2024 15:08:07 +0000 (17:08 +0200)]
bgpd: Receive SRv6 SIDs notification from zebra
Zebra sends a `SRV6_SID_NOTIFY` notification to inform clients about the
result of a SID alloc/release operation. This commit adds a handler to
process a `SRV6_SID_NOTIFY` notification received from zebra.
If the notification indicates that a SID allocation operation was
successful, then it stores the allocated SID in the SRv6 database,
installs the SID into the RIB, and advertises the SID to the other BGP
routers.
If the notification indicates that an operation has failed, it logs the
error.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Fri, 10 May 2024 10:50:27 +0000 (12:50 +0200)]
bgpd: Make `sid_register()` non-static
Make the `sid_register()` function non-static to allow other BGP modules
(e.g. bgp_zebra.c) to register SIDs.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 23 Mar 2024 18:24:59 +0000 (19:24 +0100)]
bgpd: Request SRv6 SIDs to SID Manager
Currently, BGP allocates SIDs without interacting with Zebra.
Recently, the SRv6 implementation has been improved. Now, the daemons
need to interact with Zebra through ZAPI to obtain and release SIDs.
This commit extends BGP to request SIDs from Zebra instead of allocating
the SIDs on its own.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 23 Mar 2024 18:23:52 +0000 (19:23 +0100)]
bgpd: Release SIDs when disabling SRv6 in BGP
When SRv6 VPN is unconfigured in BGP, BGP needs to interact with SID Manager to
release the SID and make it available to other daemons
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 23 Mar 2024 18:17:48 +0000 (19:17 +0100)]
bgpd: Add API to get/release SRv6 SIDs
Add an API to get/release SRv6 SIDs through the SRv6 SID Manager.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Sat, 23 Mar 2024 18:16:36 +0000 (19:16 +0100)]
bgpd: Receive SRv6 locator info from zebra
This commit extends BGP to process locator information received from
SRv6 Manager (zebra) and save the locator info in the SRv6 database.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
Carmine Scarpitta [Thu, 9 May 2024 13:45:10 +0000 (15:45 +0200)]
bgpd: Deal with SRv6 locator instead of chunk
Currently, when SRv6 is enabled in BGP, BGP requests a locator chunk
from Zebra. Zebra assigns a locator chunk to BGP, and then BGP can
allocate SIDs from the locator chunk.
Recently, the implementation of SRv6 in Zebra has been improved, and a
new API has been introduced for obtaining/releasing the SIDs.
Now, the daemons no longer need to request a chunk.
Instead, the daemons interact with Zebra to obtain information about the
locator and subsequently to allocate/release the SIDs.
This commit extends BGP to use the new SRv6 API. In particular, it
removes the chunk throughout the BGP code and modifies BGP to
request/save/advertise the locator instead of the chunk.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>