| Age | Commit message (Collapse) | Author | 
 | 
We iterated over all bgp_path_info's, but once we remove the path, we didn't
check for other paths under the same bgp_dest.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
 | 
 | 
bgpd: Treat numbered community-list only if it's in a range 1-500 (backport #17305)
 | 
 | 
Before this patch, if we set something like:
```
bgp extcommunity-list expanded 1234 permit admin
```
In running config we have:
```
bgp extcommunity-list 1234 seq 5 permit admin
```
That leads to incorrect rendering, even more the line can't be deleted.
With this fix we treat numbered community-list only if it's inside the range
1-500, otherwise it's a non-numbered clist.
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 4c1ee29116aff081f63b1fc7dad18cbfe1b8007f)
 | 
 | 
zebra: Add missing new line for help string (backport #17318)
 | 
 | 
```
  -A, --asic-offload        FRR is interacting with an asic underneath the linux kernel
      --v6-with-v4-nexthops Underlying dataplane supports v6 routes with v4 nexthops  -s, --nl-bufsize          Set netlink receive buffer size
```
Fixes: 1f5611c06d1c243b42279748788f0627793ead9c ("zebra: Allow zebra cli to accept v6 routes with v4 nexthops")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 25ae643996d338b8230fb15a9064843fe85de224)
 | 
 | 
(9.1 backport) bgpd: add `bgp ipv6-auto-ra` command
 | 
 | 
bgpd: fix blank line in running-config with bmp listener cmd (backport #17278)
 | 
 | 
bgpd:  fix crash when polling bgp4v2PathAttrTable (backport #17245)
 | 
 | 
we have
(gdb) p *path->attr->aspath
$1 = {refcnt = 3, segments = 0x0, json = 0x0, str = 0x55723d0b7470 "", str_len = 0, asnotation = ASNOTATION_PLAIN}
It looks like this aspath is empty, resulting in a size 0 and NULL pointer for path->attr->aspath->segments which leads to the SIGSEGV
fixe: return 0 when segments is null.
Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
(cherry picked from commit ee2f1b85cf95fcbfd0a54dc15b911f525e96b163)
 | 
 | 
Introduce a command to stop bgpd from enabling IPv6 router advertisement
messages sending on interfaces.
Signed-off-by: Mikhail Sokolovskiy <sokolmish@gmail.com>
 | 
 | 
An extra blank line is added in show running-config with BMP:
> ubuntu2204hwe(config)# router bgp 65500
> ubuntu2204hwe(config-router)# bmp targets tgt
> ubuntu2204hwe(config-bgp-bmp)# bmp monitor ipv4 unicast pre-policy
> ubuntu2204hwe(config-bgp-bmp)# bmp listener 192.0.2.100 port 44
> ubuntu2204hwe(config-bgp-bmp)# do show running-config
>
> router bgp 65500
> [..]
>  bmp targets tgt
>   bmp monitor ipv4 unicast pre-policy
>                                       <-- blank line
>   bmp listener 192.0.2.100 port 44
>  exit
Remove the blank line.
Fixes: ed18356f1f2d ("bgpd/bmp: BMP implementation")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
(cherry picked from commit 9a33ee18bfe2769e173911d69cee64b78143184b)
 | 
 | 
bgpd: fix display of local label in show bgp (backport #17243)
 | 
 | 
opensourcerouting/fix/backport_1fe1f8d87c4ab46ae18536a2418c05ae5fd95185_9.1
lib, zebra: Keep `zebra on-rib-process script` in frr.conf (backport #17160)
 | 
 | 
Fix the display of the local label in show bgp.
> r1# show bgp ipv4 labeled-unicast 172.16.2.2/32
> BGP routing table entry for 172.16.2.2/32, version 2
> Local label: 16 <---- MISSING
> Paths: (1 available, best #1, table default, vrf (null))
>   Advertised to non peer-group peers:
>  192.168.1.2
>  65501
>    192.168.1.2 from 192.168.1.2 (172.16.2.2)
>      Origin IGP, metric 0, valid, external, best (First path received)
>      Remote label: 3
>      Last update: Fri Oct 25 17:55:45 2024
Fixes: 67f67ba481 ("bgpd: Drop label_ntop/label_pton functions")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
(cherry picked from commit e7b3276ace65d59edb4d614158d4f2959f12f868)
 | 
 | 
After the change:
```
$ grep on-rib-process /etc/frr/frr.conf
zebra on-rib-process script script4
$ systemctl restart frr
$ vtysh -c 'show run' | grep on-rib-process
zebra on-rib-process script script4
```
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
 | 
 | 
pimd: allow resolving bsr via directly connected secondary address (backport) (backport #17217)
 | 
 | 
This only matters to single hop nodes that are adjacent to the bsr. More common
with IPv6 where LL address is used in PIM as the primary address. If the BSR IP
happens to be an address on the same interface, the receiving pim router
rejects the BSR address because it expects the BSR IP to resolve via the LL address
even if we have a connected route for the same BSR IP subnet. Effectively, we want to
allow rpf to be resolved via secondary IPs with connected routes on the same interface,
and not limit them to primary addresses.
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
(cherry picked from commit d23a7d0949aaa9aa95d6d3ae293ac4eea81e19f5)
 | 
 | 
opensourcerouting/fix/backport_d46511d4456ccaccfdac34b456c1c225a29609c8_9.1
bgpd: compare aigp after local route check in bgp_path_info_cmp()
 | 
 | 
For consistency between RIB and BGP, the aigp comparison should
be made after the local route check in bgp bestpath selection.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
 | 
 | 
cscarpitta/fix/backport_add-sid-structure-to-seg6local-nh_for_9.1
bgpd, lib: Include SID structure in seg6local nexthop (backport for 9.1)
 | 
 | 
Include SID structure information when removing an SRv6 End.DT46 SID
from the forwarding plane.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
 | 
 | 
Include SID structure information when removing an SRv6 End.DT4 or End.DT6 SID
from the forwarding plane.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
 | 
 | 
Include SID structure information when installing an SRv6 End.DT46 SID
in the forwarding plane.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
 | 
 | 
Include SID structure information when installing an SRv6 End.DT6 or End.DT4 SID
in the forwarding plane.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
 | 
 | 
Include SID structure information in seg6local nexthop data structure.
Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
 | 
 | 
Revert "lib: Attach stdout to child only if --log=stdout and stdout F… (backport #17198)
 | 
 | 
This reverts commit 0e3c5e8e5907321b35201f0985c1d3f4a1b0e639.
(cherry picked from commit 6a36b9ef49bfce59a7e674df233265da6d275257)
 | 
 | 
bgpd: allow value 0 in aigp-metric setting (backport #17169)
 | 
 | 
The value of 0 is accepted from peers, and can also be set by the
route-map "set aigp-metric igp-metric". For coonsistency, it should
be allowed in "set aigp-metric <value>" as well.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit e07f38a43f0b176fcfb96403db71291c04f76cfb)
 | 
 | 
bgpd: fix several issues in sourcing AIGP attribute (backport #17091)
 | 
 | 
Add a new topotest for getting the aigp from the "igp-metric"
for a redistributed route (ospf route in the test).
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit 51612593f7f747d0003a48a41367be87d3ea5361)
 | 
 | 
Fix several issues in sourcing AIGP attribute:
1) AIGP should not be set as default for a redistributed route or a
   static network. It should be set by config instead.
2) AIGP sourced by "set aigp-metric igp-metric" in a route-map does
   not set the correct value for a redistributed route.
3) When redistribute a connected route like loopback, the AGIP (with
   value 0) is sourced by "set aigp-metric igp-metric", but the
   attribute is not propagated as the attribute flag is not set.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit f65356d8bb9a43b1725fafdbd30aba0de9d214fa)
 | 
 | 
zebra: unlock node only after operation in zebra_free_rnh() (backport #17116)
 | 
 | 
Move route_unlock_node() after rnh_list_del().
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit 5b6ff51b8ae7f8c7348cea4de9543956f32641a7)
 | 
 | 
bgpd: fix route selection with AIGP (backport #17093)
 | 
 | 
Fix and adjust the topotest post the fix for route selection with
AIGP.
When there are multiple	IGP domains (OSPF in this case), the nexthop
for a BGP route with the AIGP attribute must be resolved in its own
IGP domain.
The changes in r2/bgpd.conf and r3/bgpd.conf are needed as incorrect
IGP metrics are received from NHT for the recursive nexthops. Once
the issue is resolved, the changes can be reverted.
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit 1ee7e63a6c432662ef3a9a2bd0e1c41298bdf196)
 | 
 | 
The nexthop metric should be added to AIGP when calculating the
bestpath in bgp_path_info_cmp().
Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
(cherry picked from commit 081422e8e71085d3a3d4d2ff0bc1e1abaff0d52e)
 | 
 | 
bgpd: EVPN fix per rd specific type-2 json output (backport #16913)
 | 
 | 
bgpd: Move some non BGP-specific route-map functions to lib (backport #17059)
 | 
 | 
They are managed under `frr-route-map`, not under `frr-bgp-route-map`.
Fixes: https://github.com/FRRouting/frr/issues/17055
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit b9a9be492e8dde39a0040bd1140893ccab83c2be)
 | 
 | 
vrrpd: iterate over all ancillary messages (backport #17022)
 | 
 | 
Assign the return of `CMSG_NXTHDR` so we can really iterate over the
ancillary data.
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit 5e1a3cd2ad1148f60f5a59474bcf3d176b9ab789)
 | 
 | 
zebra: Fix crash during reconnect (backport #17000)
 | 
 | 
bgpd: Actually make ` --v6-with-v4-nexthops` it work (backport #16971)
 | 
 | 
bfdd: add no variants to interval configurations (backport #16968)
 | 
 | 
fpm_enqueue_rmac_table expects an fpm_rmac_arg* as its argument.
The issue can be reproduced by dropping the TCP session using:
ss -K dst 127.0.0.1 dport = 2620
I used Fedora 40 and frr 9.1.2 and I got the gdb backtrace:
(gdb) bt
0  0x00007fdd7d6997ea in fpm_enqueue_rmac_table (bucket=0x2134dd0, arg=0x2132b60) at zebra/dplane_fpm_nl.c:1217
1  0x00007fdd7dd1560d in hash_iterate (hash=0x21335f0, func=0x7fdd7d6997a0 <fpm_enqueue_rmac_table>, arg=0x2132b60) at lib/hash.c:252
2  0x00007fdd7dd1560d in hash_iterate (hash=0x1e5bf10, func=func@entry=0x7fdd7d698900 <fpm_enqueue_l3vni_table>,
    arg=arg@entry=0x7ffed983bef0) at lib/hash.c:252
3  0x00007fdd7d698b5c in fpm_rmac_send (t=<optimized out>) at zebra/dplane_fpm_nl.c:1262
4  0x00007fdd7dd6ce22 in event_call (thread=thread@entry=0x7ffed983c010) at lib/event.c:1970
5  0x00007fdd7dd20758 in frr_run (master=0x1d27f10) at lib/libfrr.c:1213
6  0x0000000000425588 in main (argc=10, argv=0x7ffed983c2e8) at zebra/main.c:492
Signed-off-by: Igor Zhukov <fsb4000@yandex.ru>
(cherry picked from commit a3877e4444dc3a1253135d3b9479935fc9a966f8)
 | 
 | 
*: Modify clang-format column limit to 100 (backport #16934)
 | 
 | 
A bunch of recent discussion has gone on about this.  Let's see
if we are actually interested in making a change.
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit bc915893a21eeedcaaf612dc66f6d1646ba4a1f2)
 | 
 | 
bgpd: fix printfrr_bp for non initialized peers (backport #16977)
 | 
 | 
Fix printfrr_bp for non initialized peers. For example:
> Sep 26 17:56:44 r1 bgpd[26295]: [GJPH1-W8PZV] Resetting peer (null)(Unknown) due to change in addpath config
Is now:
> Oct 02 14:00:59 r1 bgpd[12795]: [MNE5N-K0G4Z] Resetting peer 2.2.2.2 due to change in addpath config
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
(cherry picked from commit b56cfc6c808d330a85a06421c7fc5f5f9066938f)
 |