]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
12 months agoMerge pull request #13522 from LabNConsulting/chopps/fix-bgp-test
Donald Sharp [Sun, 14 May 2023 01:43:29 +0000 (21:43 -0400)]
Merge pull request #13522 from LabNConsulting/chopps/fix-bgp-test

tests: improve bgp test determinism

12 months agotests: improve bgp test determinism
Christian Hopps [Sat, 13 May 2023 00:32:54 +0000 (20:32 -0400)]
tests: improve bgp test determinism

don't grep the tail of a log file after running a previous test, there could be
(and have been) other items added to the log in between.

add before and after count of shutdown messages to very the actual message shows
up as the test intended, and keep the search for the shutdown message.

Signed-off-by: Christian Hopps <chopps@labn.net>
12 months agoMerge pull request #13444 from donaldsharp/fix_dplane_provider_counter
Mark Stapp [Fri, 12 May 2023 18:54:13 +0000 (14:54 -0400)]
Merge pull request #13444 from donaldsharp/fix_dplane_provider_counter

zebra: Fix dp_out_queued counter to actually reflect real life

12 months agoMerge pull request #13463 from pguibert6WIND/mpls_alloc_per_nh_2
Donatas Abraitis [Fri, 12 May 2023 17:56:01 +0000 (20:56 +0300)]
Merge pull request #13463 from pguibert6WIND/mpls_alloc_per_nh_2

Mpls allocatio mode per nexthop

12 months agoMerge pull request #13518 from mjstapp/clang_align_macros
Donald Sharp [Fri, 12 May 2023 16:34:59 +0000 (12:34 -0400)]
Merge pull request #13518 from mjstapp/clang_align_macros

tools: config clang-format to allow aligned macros

12 months agozebra: Fix dp_out_queued counter to actually reflect real life
Donald Sharp [Fri, 5 May 2023 14:37:11 +0000 (10:37 -0400)]
zebra: Fix dp_out_queued counter to actually reflect real life

The prov->dp_out_queued counter was never being decremented
when a ctx was pulled off of the list.  Let's change it to
accurately reflect real life.

Broken:
janelle.pinkbelly.org# show zebra dplane providers detailed
Zebra dataplane providers:
Kernel (1): in: 330872, q: 0, q_max: 100, out: 330872, q: 330872, q_max: 330872
janelle.pinkbelly.org#

Fixed:
sharpd@janelle:/tmp/topotests$ vtysh -c "show zebra dplane providers detailed"
Zebra dataplane providers:
Kernel (1): in: 221495, q: 0, q_max: 100, out: 221495, q: 0, q_max: 100
sharpd@janelle:/tmp/topotests$

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
12 months agoMerge pull request #13517 from Keelan10/ospf_ti_lfa-memory-leak
Donald Sharp [Fri, 12 May 2023 14:06:45 +0000 (10:06 -0400)]
Merge pull request #13517 from Keelan10/ospf_ti_lfa-memory-leak

ospfd: Fix  ospf_ti_lfa memory leak

12 months agotools: config clang-format to allow aligned macros
Mark Stapp [Fri, 12 May 2023 13:16:34 +0000 (09:16 -0400)]
tools: config clang-format to allow aligned macros

Add an AlignConsecutiveMacros config for clang-format.

Signed-off-by: Mark Stapp <mjs@labn.net>
12 months agoospf_ti_lfa: Free p_space memory allocation
Keelan10 [Fri, 12 May 2023 11:05:46 +0000 (15:05 +0400)]
ospf_ti_lfa: Free p_space memory allocation

Free p_space

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
13 months agoMerge pull request #13430 from opensourcerouting/feature/rip_allow-ecmp_limit
Donald Sharp [Fri, 12 May 2023 00:31:46 +0000 (20:31 -0400)]
Merge pull request #13430 from opensourcerouting/feature/rip_allow-ecmp_limit

ripd: Implement allow-ecmp X command

13 months agoMerge pull request #13490 from Jafaral/fix-ospf-asbr-test
Donald Sharp [Fri, 12 May 2023 00:31:21 +0000 (20:31 -0400)]
Merge pull request #13490 from Jafaral/fix-ospf-asbr-test

tests: improve log messages, clear neighbors to avoid bad state

13 months agotests: reset neighbor state machine to avoid bad/stale state
Jafar Al-Gharaibeh [Thu, 11 May 2023 05:12:29 +0000 (00:12 -0500)]
tests: reset neighbor state machine to avoid bad/stale state

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
13 months agoMerge pull request #13507 from opensourcerouting/feature/bgp_route-map_match_source...
Donald Sharp [Thu, 11 May 2023 13:38:57 +0000 (09:38 -0400)]
Merge pull request #13507 from opensourcerouting/feature/bgp_route-map_match_source-protocol

bgpd: Implement match source-protocol for route-maps

13 months agotests: Check if `match source-protocol` route-map cmd works for BGP
Donatas Abraitis [Thu, 11 May 2023 08:34:10 +0000 (11:34 +0300)]
tests: Check if `match source-protocol` route-map cmd works for BGP

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agobgpd: Implement `match source-protocol` for route-maps
Donatas Abraitis [Wed, 10 May 2023 20:37:47 +0000 (23:37 +0300)]
bgpd: Implement `match source-protocol` for route-maps

The main idea is to filter routes by matching source (originating) protocol
for outgoing direction. For instance, filter outgoing routes to an arbitrary
router that are static only. Or filter out only routes learned from RIP.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agotests: log the router id in ospf tests, improve log in a couple of places
Jafar Al-Gharaibeh [Wed, 10 May 2023 20:40:00 +0000 (15:40 -0500)]
tests: log the router id in ospf tests, improve log in a couple of places

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
13 months agoMerge pull request #13489 from LabNConsulting/ospf-opaque-stale-fix
Jafar Al-Gharaibeh [Wed, 10 May 2023 20:51:21 +0000 (15:51 -0500)]
Merge pull request #13489 from LabNConsulting/ospf-opaque-stale-fix

ospfd: OSPF opaque LSA stale processing fix and topotests.

13 months agoMerge pull request #13495 from LabNConsulting/chopps/munet-0.13.3
Jafar Al-Gharaibeh [Wed, 10 May 2023 20:05:47 +0000 (15:05 -0500)]
Merge pull request #13495 from LabNConsulting/chopps/munet-0.13.3

tests: update to munet 0.13.3, restoring GNU screen functionality

13 months agodoc: Use `match source-protocol` for route-maps in BGP as well
Donatas Abraitis [Wed, 10 May 2023 18:00:17 +0000 (21:00 +0300)]
doc: Use `match source-protocol` for route-maps in BGP as well

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agoMerge pull request #13485 from donaldsharp/ospf_loopback_cost
Jafar Al-Gharaibeh [Wed, 10 May 2023 16:13:15 +0000 (11:13 -0500)]
Merge pull request #13485 from donaldsharp/ospf_loopback_cost

ospfd: Respect loopback's cost that is set and set loopback costs to 0

13 months agoMerge pull request #13479 from ryndia/fix_leak
Donald Sharp [Wed, 10 May 2023 12:53:23 +0000 (08:53 -0400)]
Merge pull request #13479 from ryndia/fix_leak

[WIP] ospfd: opsf_abr.c memory leak fix, free unused range

13 months agoospfd: Respect loopback's cost that is set and set loopback costs to 0
Donald Sharp [Tue, 9 May 2023 17:10:35 +0000 (13:10 -0400)]
ospfd: Respect loopback's cost that is set and set loopback costs to 0

When setting an loopback's cost, set the value to 0, unless the operator
has assigned a value for the loopback's cost.

RFC states:

If the state of the interface is Loopback, add a Type 3
link (stub network) as long as this is not an interface
to an unnumbered point-to-point network. The Link ID
should be set to the IP interface address, the Link Data
set to the mask 0xffffffff (indicating a host route),
and the cost set to 0.

FRR is going to allow this to be overridden if the operator specifically
sets a value too.

Fixes: #13472
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agoMerge pull request #13486 from opensourcerouting/fix/doc_aigp_neighbor
Donald Sharp [Wed, 10 May 2023 12:25:40 +0000 (08:25 -0400)]
Merge pull request #13486 from opensourcerouting/fix/doc_aigp_neighbor

doc: Add `neighbor aigp` command for BGP

13 months agoMerge pull request #13493 from anlancs/fix/bgpd-cleanup-11
Donatas Abraitis [Wed, 10 May 2023 11:30:04 +0000 (14:30 +0300)]
Merge pull request #13493 from anlancs/fix/bgpd-cleanup-11

bgpd: Cosmetic change for mac check

13 months agotests: update to munet 0.13.3, restoring GNU screen functionality
Christian Hopps [Wed, 10 May 2023 09:44:16 +0000 (09:44 +0000)]
tests: update to munet 0.13.3, restoring GNU screen functionality

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agobgpd: Cosmetic change for mac check
anlan_cs [Wed, 10 May 2023 08:50:36 +0000 (16:50 +0800)]
bgpd: Cosmetic change for mac check

Remove useless `return` code, and correct a spelling.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
13 months agoospfd: opsf_abr.c memory leak fix, free range
Jeevesh Rishi Dindyal (Sarvesh) [Tue, 9 May 2023 09:59:58 +0000 (13:59 +0400)]
ospfd: opsf_abr.c memory leak fix, free range

The new create range attribute is send to add to ranges, but not use if the prefix already exist in the ranges.

Signed-off-by: ryndia <dindyalsarvesh@gmail.com>
13 months agoMerge pull request #13488 from LabNConsulting/chopps/wf-python
Jafar Al-Gharaibeh [Wed, 10 May 2023 00:17:25 +0000 (19:17 -0500)]
Merge pull request #13488 from LabNConsulting/chopps/wf-python

doc: python, required by clippy, is no longer a non-essential tool

13 months ago ospfd: OSPF opaque LSA stale processing fix and topotests.
Acee [Tue, 9 May 2023 20:51:03 +0000 (16:51 -0400)]
    ospfd: OSPF opaque LSA stale processing fix and topotests.

        1. Fix OSPF opaque LSA processing to preserve the stale opaque
            LSAs in the Link State Database for 60 seconds consistent with
            what is done for other LSA types.
         2. Add a topotest that tests for cases where ospfd is restarted
            and a stale OSPF opaque LSA exists in the OSPF routing domain
            both when the LSA is purged and when the LSA is reoriginagted
            with a more recent instance.

Signed-off-by: Acee <aceelindem@gmail.com>
13 months agodoc: python, required by clippy, is no longer a non-essential tool
Christian Hopps [Tue, 9 May 2023 20:22:39 +0000 (20:22 +0000)]
doc: python, required by clippy, is no longer a non-essential tool

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agodoc: add bgp allocation-mode per nexthop information
Philippe Guibert [Tue, 31 Jan 2023 10:05:12 +0000 (11:05 +0100)]
doc: add bgp allocation-mode per nexthop information

Add bgp allocation-mode per nexthop information.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
PR=81857
Link: https://github.com/FRRouting/frr/pull/12646
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Acked-by: Louis Scalbert <louis.scalbert@6wind.com>
13 months agotopotests: add bgp_vpnv6 test allocation
Philippe Guibert [Wed, 1 Feb 2023 16:28:15 +0000 (17:28 +0100)]
topotests: add bgp_vpnv6 test allocation

This test demonstrates that a label is allocated for each
ipv6 next-hop. IPv6 test introduces link local ipv6 addresses
as next hops, and compared to IPv4, one can have two different
next-hops depending if the next-hop is defined by a global
address (static route redistributed) or a bgp peer.

This test checks that:
- The labels are correctly allocated per connected next-hop.
- The default label is used for non connected prefixes.
- The withdraw operation frees the MPLS entry.
- If a recursive route is redistributed by BGP, then the nexthop
tracking will find the appropriate nexthop entry, and the
associated label will be found out.
- When a prefix moves from one peer to one another behind the
vrf, then the MPLS switching operation for return
traffic is changing the outgoing interface to use.
- When the 'label vpn export <value>' MPLS label value is changed,
then the modification is propagated to prefixes which use that value.
- Also, when unconfiguring the per-nexthop allocation mode, check
that the MPLS entries and the VPNv4 entries of r1 are changed
accordingly.
- Reversely, when re-configuring the per-nexthop allocation mode,
check that the allocation mode reuses the other label values.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agotopotests: add bgp mpls allocation per next-hop test
Philippe Guibert [Tue, 10 Jan 2023 13:53:54 +0000 (14:53 +0100)]
topotests: add bgp mpls allocation per next-hop test

A new test suite checks for the mpls label allocation
per nexthop mode. This test checks that:
- The labels are correctly allocated per connected
next-hop.
- The default label is used for non connected prefixes
- The withdraw operation frees the mpls entry.
- If a recursive route is redistributed by BGP, then the nexthop
tracking will find the appropriate nexthop entry, and the associated
label will be found out.
- When a prefix moves from one peer to one another behind the vrf,
then the MPLS switching operation for return traffic is changing
the outgoing interface to use.
- When the 'label vpn export <value>' MPLS label value is changed,
then the modification is propagated to prefixes which use that value.
- When unconfiguring the per-nexthop allocation mode, check
that the MPLS entries and the VPNv4 entries of r1 are changed
accordingly.
- Reversely, when re-configuring the per-nexthop allocation mode,
check that the allocation mode reuses the other label values.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: add 'show bgp label-nexthop [detail]' command
Philippe Guibert [Mon, 16 Jan 2023 17:24:26 +0000 (18:24 +0100)]
bgpd: add 'show bgp label-nexthop [detail]' command

The following command is made available to list the labels
allocated per-nexthop, along with the paths registered to it.

 > # show bgp vrf vrf1 label-nexthop
 > Current BGP label nexthop cache for IP, VRF vrf1
 >  192.0.2.11, label 20 #paths 3
 >    if r1-eth1
 >    Last update: Mon Jan 16 18:52:11 2023
 >  192.0.2.12, label 17 #paths 2
 >    if r1-eth1
 >    Last update: Mon Jan 16 18:52:08 2023
 >  192.0.2.14, label 18 #paths 1
 >    if r1-eth1
 >    Last update: Mon Jan 16 18:52:07 2023
 >  192.168.255.13, label 19 #paths 1
 >    if r1-eth2
 >    Last update: Mon Jan 16 18:52:10 2023

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: update time of last change when label nexthop entry changed
Philippe Guibert [Thu, 16 Feb 2023 12:46:32 +0000 (13:46 +0100)]
bgpd: update time of last change when label nexthop entry changed

A timer attribute is added for each label nexthop entry, in order
to know when the last change occured.
The timer value will be used for troubleshooting by a show
command in the next commit.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: export redistributed routes with label allocation per nexthop
Philippe Guibert [Fri, 3 Mar 2023 20:33:34 +0000 (21:33 +0100)]
bgpd: export redistributed routes with label allocation per nexthop

The label allocation per nexthop mode requires to use a nexthop
tracking context. For redistributed routes, a nexthop tracking
context is created, and the resolution helps to know the real
nexthop ip address used. The below configuration example has
been used:

 > vrf vrf1
 >  ip route 172.31.0.14/32 192.0.2.14
 >  ip route 172.31.0.15/32 192.0.2.12
 >  ip route 172.31.0.30/32 192.0.2.30
 > exit
 > router bgp 65500 vrf vrf1
 >  address-family ipv4 unicast
 >   redistribute static
 >   label vpn export per-nexthop
 > [..]

The static routes are correctly imported in the BGP IPv4 RIB.
Contrary to label allocation per vrf mode, some nexthop tracking
are created/or reused:

 > # show bgp vrf vrf1 nexthop
 > 192.0.2.12 valid [IGP metric 0], #paths 3, peer 192.0.2.12
 >  if r1-eth1
 >  Last update: Fri Jan 13 15:49:42 2023
 > 192.0.2.14 valid [IGP metric 0], #paths 1
 >  if r1-eth1
 >  Last update: Fri Jan 13 15:49:42 2023
 > 192.0.2.30 valid [IGP metric 0], #paths 1
 >  if r1-eth1
 >  Last update: Fri Jan 13 15:49:51 2023
 > [..]

This results in having a BGP VPN route for each of the static
routes:

 > # show bgp ipv4 vpn
 > [..]
 > Route Distinguisher: 444:1
 >  *> 172.31.0.14/32   192.0.2.14@9<            0         32768 ?
 >  *> 172.31.0.15/32   192.0.2.12@9<            0         32768 ?
 >  *> 172.31.0.30/32   192.0.2.30@9<            0         32768 ?
 > [..]

Without that patch, only the redistributed routes that rely on a
pre-existing nexthop tracking context could be exported.

Also, a command in the code about redistributed routes is modified
accordingly, to explain that redistribute routes may be submitted
to nexthop tracking in the case label allocation per next-hop is
used.

note:
VNC routes have been removed from the redistribution,
because of a test failure in the bgp_l3vpn_to_bgp_direct test.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: correctly initialize the IP nexthop of redistributed routes
Philippe Guibert [Fri, 13 Jan 2023 14:51:59 +0000 (15:51 +0100)]
bgpd: correctly initialize the IP nexthop of redistributed routes

This is a preliminary work to export redistributed routes from
a given VRF in an VPN network. The exportation works well, when
the label allocation is based on an per-vrf mode, but not on
a per nexthop mode.

To associate a label with a connected nexthop, the nexthop
tracking contexts are used. Until today, there was no tracking
context for redistributed routes. But when using this vpn
allocation mode, one needs to know whether the route is directly
connected or not. When using the nexthop tracking context, the
nexthop attribute of the bgp update needs to have the nexthop
properly set. This was not the case for the mp_nexthop_global_in
attribute which was empty.

This commit is mandatory in order to later use nexthop tracking
context.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: use nexthop interface when adding LSP in BGP MPLSVPN
Philippe Guibert [Thu, 16 Feb 2023 09:39:40 +0000 (10:39 +0100)]
bgpd: use nexthop interface when adding LSP in BGP MPLSVPN

BGP MPLSVPN next hop label allocation was using only the next-hop
IP address. As MPLSVPN contexts rely on bnc contexts, the real
nexthop interface is known, and the LSP entry to enter can apply
to the specific interface. To illustrate, the BGP service is able
to handle the following two iproute2 commands:

 > ip -f mpls route add 105 via inet 192.0.2.45 dev r1-eth1
 > ip -f mpls route add 105 via inet 192.0.2.46 dev r1-eth2

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: add support for l3vpn per-nexthop label
Philippe Guibert [Tue, 28 Feb 2023 13:25:02 +0000 (14:25 +0100)]
bgpd: add support for l3vpn per-nexthop label

This commit introduces a new method to associate a label to
prefixes to export to a VPNv4 backbone. All the methods to
associate a label to a BGP update is documented in rfc4364,
chapter 4.3.2. Initially, the "single label for an entire
VRF" method was available. This commit adds "single label
for each attachment circuit" method.

The change impacts the control-plane, because each BGP update
is checked to know if the nexthop has reachability in the VRF
or not. If this is the case, then a unique label for a given
destination IP in the VRF will be picked up. This label will
be reused for an other BGP update that will have the same
nexthop IP address.

The change impacts the data-plane, because the MPLs pop
mechanism applied to incoming labelled packets changes: the
MPLS label is popped, and the packet is directly sent to the
connected nexthop described in the previous outgoing BGP VPN
update.

By default per-vrf mode is done, but the user may choose
the per-nexthop mode, by using the vty command from the
previous commit. In the latter case, a per-vrf label
will however be allocated to handle networks that are not directly
connected. This is the case for local traffic for instance.

The change also include the following:

-  ECMP case
In case a route is learnt in a given VRF, and is resolved via an
ECMP nexthop. This implies that when exporting the route as a BGP
update, if label allocation per nexthop is used, then two possible
MPLS values could be picked up, which is not possible with the
current implementation. Actually, the NLRI for VPNv4 stores one
prefix, and one single label value, not two. Today, RFC8277 with
multiple label capability is not yet available.
To avoid this corner case, when a route is resolved via more than one
nexthop, the label allocation per nexthop will not apply, and the
default per-vrf label will be chosen.
Let us imagine BGP redistributes a static route using the `172.31.0.20`
nexthop. The nexthop resolution will find two different nexthops fo a
unique BGP update.

 > r1# show running-config
 > [..]
 > vrf vrf1
 >  ip route 172.31.0.30/32 172.31.0.20
 > r1# show bgp vrf vrf1 nexthop
 > [..]
 > 172.31.0.20 valid [IGP metric 0], #paths 1
 >  gate 192.0.2.11
 >  gate 192.0.2.12
 >  Last update: Mon Jan 16 09:27:09 2023
 >  Paths:
 >    1/1 172.31.0.30/32 VRF vrf1 flags 0x20018

To avoid this situation, BGP updates that resolve over multiple
nexthops are using the unique per-vrf label.

- recursive route case

Prefixes that need a recursive route to be resolved can
also be eligible for mpls allocation per nexthop. In that
case, the nexthop will be the recursive nexthop calculated.

To achieve this, all nexthop types in bnc contexts are valid,
except for the blackhole nexthops.

- network declared prefixes

Nexthop tracking is used to look for the reachability of the
prefixes. When the the 'no bgp network import-check' command
is used, network declared prefixes are maintained active,
even if there is no active nexthop.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: add the bgp_label_per_nexthop_cache struct and apis
Philippe Guibert [Tue, 28 Feb 2023 13:17:17 +0000 (14:17 +0100)]
bgpd: add the bgp_label_per_nexthop_cache struct and apis

This commit introduces the necessary structs and apis to
create the cache entries that store the label information
associated to a given nexthop.

A hash table is created in each BGP instance for all the
AFIs: IPv4 and IPv6. That hash table is initialised.
An API to look and/or create an entry based on a given
nexthop.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: introduce LP_TYPE_NEXTHOP label type
Philippe Guibert [Tue, 28 Feb 2023 13:11:30 +0000 (14:11 +0100)]
bgpd: introduce LP_TYPE_NEXTHOP label type

A new label type is introduced: LP_TYPE_NEXTHOP. This new
label type will be used in next commits to allocate labels
for a specific nexthop IP address.
The commit changes add vty and json outputs to display
the new label type and the label values associated.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: add vty command to select label allocation per nexthop
Philippe Guibert [Wed, 15 Feb 2023 20:03:19 +0000 (21:03 +0100)]
bgpd: add vty command to select label allocation per nexthop

A new VTY command is introduced in ipv4 unicast and ipv6 unicast
address family, under a BGP instance.

 > r1# label vpn export allocation-mode per-nexthop|per-vrf

This command will update the label values associated for each
BGP update to export to the global instance. Two modes are
available: per-nexthop and per-vrf. The latter is the default
one.

With this commit only, configuring label allocation per nexthop
will only reset the BGP updates, and the per-vrf mode label
allocation will be chosen.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: remove ATTR_NEXT_HOP for redistributed ipv6 nexthops
Philippe Guibert [Wed, 1 Feb 2023 15:52:28 +0000 (16:52 +0100)]
bgpd: remove ATTR_NEXT_HOP for redistributed ipv6 nexthops

This commit addresses an issue with an MPLS VPN network
redistributing static routes that are exported to the VPN,
and where the labels are allocated per next-hop.

For that purpose, the nexthop of the static routes is
checked against the nexthop tracking. The validation
of a valid nexthop will trigger the use of a unique
label for all prefixes using that destination.

However, the nexthop fails to be validated, with the
following message:

 > evaluate_paths: prefix 172:31::14/128 (vrf vrf1), ignoring path due to
 > martian or self-next-hop

The reason is due to the way the attr is created.
By default, the ATTR_NEXTHOP attribute is set for
all prefixes, whereas this flag should only be valid
for IPv4. In the case there is an IPv6 nexthop, remove
the ATTR_NEXTHOP flag.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agobgpd: encode_label call, remove unnecessary braces
Philippe Guibert [Sun, 19 Mar 2023 17:26:41 +0000 (18:26 +0100)]
bgpd: encode_label call, remove unnecessary braces

Remove unnecessary braces.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agozebra: mpls nexthop entry displays also interface when available
Philippe Guibert [Thu, 2 Mar 2023 09:46:31 +0000 (10:46 +0100)]
zebra: mpls nexthop entry displays also interface when available

The 'show mpls table json' command displays the outgoing interface
name only when the nexthop type is either NEXTHOP_TYPE_IFINDEX or
NEXTHOP_TYPE_IPV6_IFINDEX. add the interface name for the nexthop
type NEXTHOP_TYPE_IPV4_IFINDEX.

Fixes: ("b78b820d46d6") MPLS: Display enhancements and JSON support
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agozebra: handle nexthop vrf_id in ZEBRA_MPLS_LABELS messages
Philippe Guibert [Thu, 12 Jan 2023 07:44:29 +0000 (08:44 +0100)]
zebra: handle nexthop vrf_id in ZEBRA_MPLS_LABELS messages

This commit addresses the case where a service wants to install
an LSP entry to a next-hop located in a VRF instance. The incoming
MPLS packet is on the namespace and has to be directed to a nexthop
located behind an interface that sits in a specific VRF instance.
The below iproute command can illustrate:

  > ip link add vrf1 type vrf table 10
  > ip link set dev vrf1 up
  > ip link set dev eth0 master vrf1
  > ip a a 192.0.2.1/24 dev eth0
  > ip -f mpls route add 105 via inet 192.0.2.45 dev eth0

If a service uses the ZEBRA_MPLS_LABELS messages, then the LSP
message is ignored: from zebra perspective, the MPLS entries are
visible via the 'show mpls table' command, but no LSP entry is
installed in the kernel.

The issue is in the nhlfe_nexthop_active_ipv[4/6] function: the
outgoing interface mentioned in the nexthop is searched in the
main VRF, whereas the interface is in a separate VRF. The interface
is not found, and the nhlfe to install is considered not active.

To address this issue, reuse the incoming vrf_id parameter transmitted
in the nexthop structure from the ZEBRA_MPLS_LABELS message. When
creating an NHLFE entry, the vrf_id is used instead of the DEFAULT_VRF.
And the nhlfe entry can be considered as active.

One alternate solution to reuse the vrf_id parameter in the mpls network
context would be to modify the search function in nhlfe_nexthop_active..()
function: looking for an existing ifindex in the zns. However, this
solution may not fit later when netns backend would be used.

Note that some changes have not been done yet and are considered
sufficient for now:
- The 'nhlfe_find' API: the assumption is done that only the linux vrf
backend is used for now.

- The 'mpls_lsp_install()' API: It is currently used by the CLI command
which does not handle the interface parameter, and the SRTE service, whih
always sends LSPs towards a nexthop located in the VRF_DEFAULT.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agozebra: accept LSP entries with an mpls-less outgoing interface
Philippe Guibert [Thu, 12 Jan 2023 07:33:50 +0000 (08:33 +0100)]
zebra: accept LSP entries with an mpls-less outgoing interface

The ZEBRA_MPLS_LABELS_[ADD/DELETE/REPLACE] messages may change an
LSP entry based on an incoming MPLS entry, followed by a given
next-hop.
Having a next hop with no label information inside is rejected
by the zebra layer. As illustration, the following ZAPI message
would be rejected, because the next hop does not contain any
label information.

  > ip -f mpls route add 105 via inet 192.0.2.45

At the same time, such configuration is desirable to be
supported:

An attempt has been done to configure the next-hop with an implicit-
null label. But the message is rejected by the kernel:

  > ip -f mpls route add 104 as 3 via inet 192.0.2.45
  > Error: Implicit NULL Label (3) can not be used in encapsulation.

The commit proposes to accept ZEBRA_MPLS_LABELS_[XX] messages with
a nexthop that does not contain any label information.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
13 months agodoc: Add `neighbor aigp` command for BGP
Donatas Abraitis [Tue, 9 May 2023 18:21:34 +0000 (21:21 +0300)]
doc: Add `neighbor aigp` command for BGP

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agoMerge pull request #13429 from opensourcerouting/feature/mark_pr_as_need_rebase
Donald Sharp [Tue, 9 May 2023 17:39:38 +0000 (13:39 -0400)]
Merge pull request #13429 from opensourcerouting/feature/mark_pr_as_need_rebase

github: Add rebase label on PR if it's > 50 commits behind

13 months agoMerge pull request #13438 from gpnaveen/vrf_on_loopback
Donald Sharp [Tue, 9 May 2023 17:39:18 +0000 (13:39 -0400)]
Merge pull request #13438 from gpnaveen/vrf_on_loopback

tests: removing un used loopback interface from bgp admin dist.

13 months agoMerge pull request #13460 from Jafaral/ospf-fix2
Donald Sharp [Tue, 9 May 2023 17:37:40 +0000 (13:37 -0400)]
Merge pull request #13460 from Jafaral/ospf-fix2

tests: remove sleep ospf test

13 months agoMerge pull request #13484 from sri-mohan1/srib-ldpd
Donald Sharp [Tue, 9 May 2023 17:30:00 +0000 (13:30 -0400)]
Merge pull request #13484 from sri-mohan1/srib-ldpd

ldpd: changes for code maintainability

13 months agoMerge pull request #13470 from crosser/fix-test-frrscript
Donald Sharp [Tue, 9 May 2023 15:30:17 +0000 (11:30 -0400)]
Merge pull request #13470 from crosser/fix-test-frrscript

test_frrscript: fix dep for out of tree build

13 months agoldpd: changes for code maintainability
sri-mohan1 [Tue, 9 May 2023 13:15:27 +0000 (18:45 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
13 months agoMerge pull request #13445 from donaldsharp/lua_scripting_mem_leak
Donatas Abraitis [Tue, 9 May 2023 12:38:06 +0000 (15:38 +0300)]
Merge pull request #13445 from donaldsharp/lua_scripting_mem_leak

zebra: Reduce creation and fix memory leak of frrscripting pointers

13 months agoMerge pull request #13437 from raja-rajasekar/raja-rajasekar/show_cmd_fix
Donatas Abraitis [Tue, 9 May 2023 09:51:16 +0000 (12:51 +0300)]
Merge pull request #13437 from raja-rajasekar/raja-rajasekar/show_cmd_fix

bgpd: Fixing the show bgp <vrf> <afi> <safi> detail command

13 months agogithub: Add rebase label on PR if it's > 50 commits behind
Donatas Abraitis [Wed, 3 May 2023 20:17:58 +0000 (23:17 +0300)]
github: Add rebase label on PR if it's > 50 commits behind

The idea is to catch some PRs and rerun them in CI to avoid merging PRs that
are based on the stale base branch and causes issues afterwards.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agoMerge pull request #13471 from opensourcerouting/fix/aigp_non_transitive
Jafar Al-Gharaibeh [Tue, 9 May 2023 04:25:07 +0000 (23:25 -0500)]
Merge pull request #13471 from opensourcerouting/fix/aigp_non_transitive

bgpd: AIGP should be non-transitive

13 months agotests: remove sleep ospf test
Jafar Al-Gharaibeh [Mon, 8 May 2023 05:18:25 +0000 (00:18 -0500)]
tests: remove sleep ospf test

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
13 months agotests: Fix out of tree build for lua scripting
Eugene Crosser [Mon, 8 May 2023 16:38:40 +0000 (18:38 +0200)]
tests: Fix out of tree build for lua scripting

test_frrscript is run from the `tests` directory and expects the sample
lua script `script1.lua` to be present in the `lib` directory. When the
package is built out of tree (which always happens when a debian
package is built), and scripting is enabled, test fails because the lua
file is not present in the `tests/lib/` subdir of the _build_ directory.

Fix this by adding `script1.lua` as an extra dependency for
`test_frrscript`, and a recipe that copies the file from the source tree
to the build tree (note: it needs to be marked ".PHONY" because
otherwise `make` thinks that it already exists, in the source tree).

After this commit, the following command starts to work:

    dpkg-buildpackage --build-profiles=pkg.frr.lua -b -uc

Signed-off-by: Eugene Crosser <crosser@average.org>
13 months agotests: Adjust AIGP metric numbers for iBGP setup
Donatas Abraitis [Mon, 8 May 2023 20:22:26 +0000 (23:22 +0300)]
tests: Adjust AIGP metric numbers for iBGP setup

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agobgpd: Make sure AIGP attribute is non-transitive
Donatas Abraitis [Mon, 8 May 2023 19:49:10 +0000 (22:49 +0300)]
bgpd: Make sure AIGP attribute is non-transitive

The AIGP attribute is an optional, non-transitive BGP path attribute.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agodoc: add documentation for show [ip] bgp [vrf] [afi] [safi] detail [json]
Rajasekar Raja [Fri, 5 May 2023 16:28:40 +0000 (09:28 -0700)]
doc: add documentation for show [ip] bgp [vrf] [afi] [safi] detail [json]

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
13 months agoMerge pull request #13468 from opensourcerouting/ripd-memtype-fix
Donald Sharp [Mon, 8 May 2023 19:15:15 +0000 (15:15 -0400)]
Merge pull request #13468 from opensourcerouting/ripd-memtype-fix

ripd: fix another memtype mismatch

13 months agoMerge pull request #13413 from chiragshah6/fdev2
Mark Stapp [Mon, 8 May 2023 18:36:07 +0000 (14:36 -0400)]
Merge pull request #13413 from chiragshah6/fdev2

zebra: re-install NHG on interface up

13 months agoMerge pull request #13464 from sri-mohan1/srib-ldpd
Donald Sharp [Mon, 8 May 2023 16:42:10 +0000 (12:42 -0400)]
Merge pull request #13464 from sri-mohan1/srib-ldpd

ldpd: changes for code maintainability

13 months agoripd: fix another memtype mismatch
Renato Westphal [Mon, 8 May 2023 14:07:54 +0000 (11:07 -0300)]
ripd: fix another memtype mismatch

Fixes #13447.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
13 months agoMerge pull request #13465 from donaldsharp/ospf_metric_ifindex
Jafar Al-Gharaibeh [Mon, 8 May 2023 14:43:56 +0000 (09:43 -0500)]
Merge pull request #13465 from donaldsharp/ospf_metric_ifindex

tests: ospf_metric_propagation is looking for a specific ifindex and vrfid

13 months agoMerge pull request #13453 from donaldsharp/dplane_memory_leak
Mark Stapp [Mon, 8 May 2023 14:27:08 +0000 (10:27 -0400)]
Merge pull request #13453 from donaldsharp/dplane_memory_leak

Dplane memory leak

13 months agotests: ospf_metric_propagation should not look for a specific vrfId
Donald Sharp [Mon, 8 May 2023 12:06:30 +0000 (08:06 -0400)]
tests: ospf_metric_propagation should not look for a specific vrfId

There is no guarantee that the vrfId is going to be the same across
tests, as that the vrfId is chosen based upon the ifindex of the
vrf device.  As such we should not be looking for the vrfId, but
the correct vrf name.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agotests: ospf_metric_propagation is looking for a specific ifindex
Donald Sharp [Mon, 8 May 2023 11:47:49 +0000 (07:47 -0400)]
tests: ospf_metric_propagation is looking for a specific ifindex

The test ospf_metric_propagation is looking for a specific ifindex
this ifindex is not guaranteed to be any particular value by the underlying
OS.  So let's remove this test for it.  As a side note I am seeing
tests fail in upstream CI because of this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agoMerge pull request #13446 from louis-6wind/fix-ext-comm
Donatas Abraitis [Mon, 8 May 2023 10:44:56 +0000 (13:44 +0300)]
Merge pull request #13446 from louis-6wind/fix-ext-comm

bgpd: fix show running of nt extcommunity

13 months agoldpd: changes for code maintainability
sri-mohan1 [Mon, 8 May 2023 09:58:50 +0000 (15:28 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
13 months agoMerge pull request #13440 from zice312963205/bgpfix
Donatas Abraitis [Mon, 8 May 2023 08:47:14 +0000 (11:47 +0300)]
Merge pull request #13440 from zice312963205/bgpfix

bgpd: fix the issue of connected tag error when BGP subscribes to NHT…

13 months agoMerge pull request #13458 from sri-mohan1/srib-ldpd
Donatas Abraitis [Mon, 8 May 2023 07:22:27 +0000 (10:22 +0300)]
Merge pull request #13458 from sri-mohan1/srib-ldpd

ldpd: changes for code maintainability

13 months agoldpd: changes for code maintainability
sri-mohan1 [Sun, 7 May 2023 15:30:52 +0000 (21:00 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
13 months agoMerge pull request #13455 from sri-mohan1/srib-ldpd
Donatas Abraitis [Sat, 6 May 2023 19:47:27 +0000 (22:47 +0300)]
Merge pull request #13455 from sri-mohan1/srib-ldpd

ldpd: changes for code maintainability

13 months agoldpd: changes for code maintainability
sri-mohan1 [Sat, 6 May 2023 14:22:34 +0000 (19:52 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
13 months agoMerge pull request #13451 from sri-mohan1/srib-ldpd
Donald Sharp [Sat, 6 May 2023 12:49:24 +0000 (08:49 -0400)]
Merge pull request #13451 from sri-mohan1/srib-ldpd

ldpd: changes for code maintainability

13 months agoMerge pull request #13424 from LabNConsulting/chopps/log-config-file-cmds
Donald Sharp [Sat, 6 May 2023 10:47:05 +0000 (06:47 -0400)]
Merge pull request #13424 from LabNConsulting/chopps/log-config-file-cmds

13 months agobgpd: fix the issue of connected tag error when BGP subscribes to NHT from Zebra
Jack.zhang [Fri, 5 May 2023 06:58:32 +0000 (14:58 +0800)]
bgpd: fix the issue of connected tag error when BGP subscribes to NHT from Zebra

Imagine the following scenario:
1.Create a multihop ebgp peer and config the ttl as 254 for both side.
2.Call bgp_start and start an active connection.
Bgp will send a nht register with non-connected flag.
3.The function bgp_accept be called by remote connection.
Bgp will create a accept peer as a passive connection with default ttl(1). And then will send a nht register again with connected flag. This register result will cover the first one.
4.The active connection come to establish first. In funciton "peer_xfer_conn", check for "PEER_FLAG_CONFIG_NODE" flag of "from_peer->doppelganger" will not be pass, so we can not repair the nht register error forever.
Then the bgp nexthop will be like this:
2000::60 invalid, #paths 0, peer 2000::60
Must be Connected
Last update: Thu May 4 09:35:14 2023

The route from this peer can not be treat with a vaild nexthop forever.
This change will fix this error.

Signed-off-by: Jack.zhang <hanyu.zly@alibaba-inc.com>
13 months agozebra: dplane_gre_set could return while leaking ctx
Donald Sharp [Fri, 5 May 2023 23:03:40 +0000 (19:03 -0400)]
zebra: dplane_gre_set could return while leaking ctx

Prevent this function from leaking the ctx memory.
Also properly record that something has gone wrong.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agozebra: Dplane ctx allocation cannot fail
Donald Sharp [Fri, 5 May 2023 22:57:21 +0000 (18:57 -0400)]
zebra: Dplane ctx allocation cannot fail

Having tests for memory allocation success makes no sense
given what happens when frr fails to allocate memory.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agozebra:re-install dependent nhgs on interface up
Chirag Shah [Sat, 29 Apr 2023 02:09:55 +0000 (19:09 -0700)]
zebra:re-install dependent nhgs on interface up

Upon interface up associated singleton NHG's
dependent NHGs needs to be reinstalled as
kernel would have deleted if there is no route
referencing it.

Ticket:#3416477
Issue:3416477
Testing Done:
flap interfaces which are part of route NHG,
upon interfaces up event, NHGs are resynced
into dplane.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
13 months agozebra: re-install nhg on interface up
Ashwini Reddy [Wed, 19 Apr 2023 18:35:25 +0000 (11:35 -0700)]
zebra: re-install nhg on interface up

Intermittently zebra and kernel are out of sync
when interface flaps and the add's/dels are in
same processing queue and zebra assumes no change in nexthop.
Hence we need to bring in a reinstall to kernel
of the nexthops and routes to sync their states.

Upon interface flap kernel would have deleted NHGs
associated to a interface (the one flapped),
zebra retains NHGs for 3 mins even though upper
layer protocol removes the nexthops (associated NHG).
As part of interface address add ,
re-add singleton NHGs associated to interface.

Ticket: #3173663
Issue: 3173663

Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Signed-off-by: Chirag Shah <chirag@nvidia.com>
13 months agoripd: Do not overrun with more ECMP paths than Zebra supports
Donatas Abraitis [Fri, 5 May 2023 20:11:16 +0000 (23:11 +0300)]
ripd: Do not overrun with more ECMP paths than Zebra supports

Let's say FRR is compiled with ECMP max 16, we enter `allow-ecmp 10`, but
Zebra supports only 4.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
13 months agoldpd: changes for code maintainability
sri-mohan1 [Fri, 5 May 2023 18:11:01 +0000 (23:41 +0530)]
ldpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
13 months agozebra: Reduce creation and fix memory leak of frrscripting pointers
Donald Sharp [Fri, 5 May 2023 15:05:12 +0000 (11:05 -0400)]
zebra: Reduce creation and fix memory leak of frrscripting pointers

There are two issues being addressed:

a) The ZEBRA_ON_RIB_PROCESS_HOOK_CALL script point
was creating a fs pointer per dplane ctx in
rib_process_dplane_results().

b) The fs pointer was not being deleted and directly
leaked.

For (a) Move the creation of the fs to outside
the do while loop.

For (b) At function end ensure that the pointer
is actually deleted.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agobgpd: fix show running of nt extcommunity
Louis Scalbert [Fri, 5 May 2023 14:05:42 +0000 (16:05 +0200)]
bgpd: fix show running of nt extcommunity

Setting

> bgp extcommunity-list standard EXT seq 5 permit nt 192.168.1.3:0

results in:

> bgp extcommunity-list standard EXT seq 5 permit NT:192.168.1.3

Fix the display

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
13 months agoMerge pull request #13436 from donaldsharp/ospf_json_mem_leak
Donatas Abraitis [Fri, 5 May 2023 12:14:16 +0000 (15:14 +0300)]
Merge pull request #13436 from donaldsharp/ospf_json_mem_leak

ospfd: Fix memory leaks w/ `show ip ospf int X json` commands

13 months agoMerge pull request #13428 from opensourcerouting/ripd-bfd-fixes
Donald Sharp [Fri, 5 May 2023 12:04:57 +0000 (08:04 -0400)]
Merge pull request #13428 from opensourcerouting/ripd-bfd-fixes

ripd: fix problemas

13 months agoMerge pull request #13435 from mjstapp/fix_pim_cpp_notice
Donald Sharp [Fri, 5 May 2023 12:04:23 +0000 (08:04 -0400)]
Merge pull request #13435 from mjstapp/fix_pim_cpp_notice

pimd: replace CPP_NOTICE lines with TODO comments

13 months agoMerge pull request #13423 from LabNConsulting/chopps/coverity-string-fix
Donald Sharp [Fri, 5 May 2023 11:35:06 +0000 (07:35 -0400)]
Merge pull request #13423 from LabNConsulting/chopps/coverity-string-fix

mgmtd: simplify commit id to just be a timeval string

13 months agobgpd: Fixing the show bgp <vrf> <afi> <safi> detail command
Rajasekar Raja [Thu, 27 Apr 2023 21:03:03 +0000 (14:03 -0700)]
bgpd: Fixing the show bgp <vrf> <afi> <safi> detail command

Adding support to show cmds like  show bgp vrf all detail, show bgp
<afi> <safi> detail & show bgp <vrf> <afi> <safi> detail

Issue:3168406
Ticket:#3168406

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
13 months agotests: removing un used loopback interface from bgp admin dist.
Naveen Guggarigoud [Fri, 5 May 2023 05:20:40 +0000 (05:20 +0000)]
tests: removing un used loopback interface from bgp admin dist.

Signed-off-by: Naveen Guggarigoud <nguggarigoud@vmware.com>
13 months agolib: log commands read from config file
Christian Hopps [Wed, 3 May 2023 04:41:19 +0000 (00:41 -0400)]
lib: log commands read from config file

When the user specifies `--command-log-always` in CLI arguments then also log
commands executed from loading the config file.

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agomgmtd: simplify commit id to just be a timeval string
Christian Hopps [Tue, 2 May 2023 21:17:51 +0000 (17:17 -0400)]
mgmtd: simplify commit id to just be a timeval string

Also fixes coverity warning

Signed-off-by: Christian Hopps <chopps@labn.net>
13 months agoMerge pull request #13357 from Jafaral/fix_ospf_prop
Christian Hopps [Thu, 4 May 2023 18:46:56 +0000 (14:46 -0400)]
Merge pull request #13357 from Jafaral/fix_ospf_prop

tests: clear the ospf neighbor to force a state change

13 months agoospfd: Fix memory leaks w/ `show ip ospf int X json` commands
Donald Sharp [Thu, 4 May 2023 16:53:42 +0000 (12:53 -0400)]
ospfd: Fix memory leaks w/ `show ip ospf int X json` commands

FRR has a memory leak in the case when int X does not
exist and a memory leak when int X does exist.  Fix
these

Fixes: #13434
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
13 months agopimd: replace CPP_NOTICE lines with TODO comments
Mark Stapp [Thu, 4 May 2023 14:26:33 +0000 (10:26 -0400)]
pimd: replace CPP_NOTICE lines with TODO comments

Replace the noisy CPP_NOTICE lines with TODO comments.

Signed-off-by: Mark Stapp <mjs@labn.net>