Skip to content

Conversation

louis-6wind
Copy link
Contributor

Fix for the validity and the presence of prefixes in the BGP VPN table.

See individial commit logs

@frrbot frrbot bot added bgp tests Topotests, make check, etc labels Nov 6, 2024
@louis-6wind louis-6wind marked this pull request as draft November 6, 2024 15:50
@riw777 riw777 self-requested a review November 12, 2024 14:57
@frrbot frrbot bot added the bugfix label Nov 14, 2024
@louis-6wind louis-6wind marked this pull request as ready for review November 15, 2024 16:45
@louis-6wind louis-6wind marked this pull request as draft November 21, 2024 10:23
@louis-6wind louis-6wind force-pushed the fix-vpn-leaking branch 2 times, most recently from b4c2e9b to dc3a481 Compare November 25, 2024 14:02
@louis-6wind
Copy link
Contributor Author

ci:rerun

1 similar comment
@louis-6wind
Copy link
Contributor Author

ci:rerun

@louis-6wind
Copy link
Contributor Author

ci:rerun

@louis-6wind louis-6wind marked this pull request as ready for review November 28, 2024 15:25
Copy link

github-actions bot commented Dec 3, 2024

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link
Member

@riw777 riw777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@riw777
Copy link
Member

riw777 commented Dec 3, 2024

conflicts need to be resolved and @ton31337 's comment addressed before we can push ...

@riw777
Copy link
Member

riw777 commented Jan 7, 2025

Just waiting on @ton31337 's comments now ...

@louis-6wind
Copy link
Contributor Author

Just rebased to make sure everything is still OK. Waiting on @ton31337 comments

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@riw777
Copy link
Member

riw777 commented Feb 4, 2025

@Mergifyio rebase

Copy link

mergify bot commented Feb 4, 2025

rebase

☑️ Nothing to do

  • -conflict [📌 rebase requirement]
  • -closed [📌 rebase requirement]
  • queue-position = -1 [📌 rebase requirement]
  • any of:
    • #commits > 1 [📌 rebase requirement]
    • #commits-behind > 0 [📌 rebase requirement]
    • -linear-history [📌 rebase requirement]

@riw777
Copy link
Member

riw777 commented Feb 4, 2025

need to fix the conflicts ...

They are the same value.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Mark a nexthop as invalid if the origin VRF is unusable, either because
it does not exist or its interface is down.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
When leak_update() rechecks an existing path, it considers nothing to
update if the attributes and labels are not changed. However, it does
not take into account the nexthop validity.

Perform a leak update if the nexthop validity has changed.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Do not leak if origin vrf is not usable

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Update route_leak_basic tests. The routes with an unusable nexthop VRF
are no more present in the RIB.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
The bgp_bmp test is failing because r2 lacks the vrf1 VRF, which
prevents it from exporting VPN prefixes from the configured vrf1 BGP
instance. Previous versions allowed the export of static BGP prefixes
from a non-existent VRF, so the test passed under those conditions.

Add a vrf1 VRF on r2.

Fixes: d748544 ("topotests: add basic bgp bmp test")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Check bgp vpn table in bgp_vpnv4_route_leak_basic

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
In bgp_vpnv4_route_leak_basic, remove and add back the static prefix
172.16.3.0/24 on VRF DONNA. Before the previous fixes, the 172.16.3.0/24
prefix re-appeared when it was added back in the VPN table but it was
marked as invalid.

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

@ton31337 ton31337 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@riw777 riw777 merged commit 5518a8c into FRRouting:master Feb 11, 2025
13 checks passed
@SPYFF
Copy link

SPYFF commented Mar 23, 2025

Quickly checked 10.3 stable, apparently this fix is not part of the release. Any chance this will be introduced 10.3.1? Thanks

@ton31337
Copy link
Member

I'd say 3-4 weeks to bundle more bugfixes.

@ton31337
Copy link
Member

ton31337 commented Jun 5, 2025

@Mergifyio backport stable/10.3

Copy link

mergify bot commented Jun 5, 2025

backport stable/10.3

✅ Backports have been created

Jafaral added a commit that referenced this pull request Jun 5, 2025
bgpd: fix for the validity and the presence of prefixes in the BGP VPN table. (backport #17370)
ton31337 added a commit to opensourcerouting/frr that referenced this pull request Aug 2, 2025
* bgpd: correct no form commands (backport FRRouting#18911)
* bgpd: fix to show exist/non-exist-map in 'show run' properly FRRouting#18853
* redhat: make FRR RPM build to work on RedHat 10 (backport FRRouting#18920)
* build: check for libunwind.h, not unwind.h (backport FRRouting#18912)
* bgpd: use AS4B format for BGP loc-rib messages. (backport FRRouting#18936)
* bgpd: fix for the validity and the presence of prefixes in the BGP VPN table. (backport FRRouting#17370)
* bgpd: Force adj-rib-out updates if MRAI is kicked in (backport FRRouting#18959)
* zebra: Provide SID value when sending SRv6 SID release notify message (backport FRRouting#18971)
* bgpd: Fix crash when fetching statistics for bgp instance (backport FRRouting#19003)
* nhrpd: fix crash when accessing invalid memory zone (backport FRRouting#18994)
* zebra: Initialize RB tree for router tables (backport FRRouting#19049)
* zebra: fix null pointer dereference in zebra_evpn_sync_neigh_del (backport FRRouting#19054)
* zebra: fix stale NHG in kernel (backport FRRouting#18899)
* bgpd: Fix incorrect stripping of transitive extended communities (backport FRRouting#19065)
* lib: Fix no on-match goto NUM command (backport FRRouting#19108)
* bgpd: Fix extended community check for IP non-transitive type (backport FRRouting#19097)
* bgpd: Fix DEREF_OF_NULL.EX.COND in bgp_updgrp_packet (backport FRRouting#19126)
* lib: revert addition of vtysh_flush() call in vty_out() (backport FRRouting#19109)
* bgpd: Extract link bandwidth value from extcommunity before using for WCMP (backport FRRouting#19165)
* Use ipv4 class E addresses (240.0.0.0/4) as connected routes by default (backport FRRouting#18095)
* bfdd: Set bfd.LocalDiag when transitioning to AdminDown (backport FRRouting#18592)
* zebra: clean up a json object leak (backport FRRouting#19192)
* bgpd: Do not try to reuse freed route-maps (backport FRRouting#19191)
* lib: fix routemap crash (backport FRRouting#19127)
* bgpd: initialize local variable (backport FRRouting#19233)
* ospfd: Use after free cleanup of lsa (backport FRRouting#19224)
* vtysh: copy config from file should actually apply (backport FRRouting#19242)
* bgpd : Fix compilation error in bgpd module: Update TP_ARGS for bgp (backport FRRouting#19266)
* bgpd: Ensure addpath does not withdraw selected route in some situations (backport FRRouting#19210)
* lib, zebra: mark singleton nexthops inactive/active on link state changes for wecmp (backport FRRouting#18947)
* eigrp: validate hello packets and tlvs better (backport FRRouting#19251)
* bgpd: [GR] fixed selectionDeferralTimer to display select_defer_time val FRRouting#19283

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants