Skip to content

Conversation

louis-6wind
Copy link
Contributor

When a BGP instance with a manually assigned VPN label is deleted, the label is not released from the Zebra label registry. As a result, reapplying a configuration with the same manual label leads to VPN prefix export failures.

For example, with the following configuration:

router bgp 65000 vrf BLUE
address-family ipv4 unicast
label vpn export

Release zebra label registry on unconfiguration.

Fixes: d162d5f ("bgpd: fix hardset l3vpn label available in mpls pool")

When a BGP instance with a manually assigned VPN label is deleted, the
label is not released from the Zebra label registry. As a result,
reapplying a configuration with the same manual label leads to VPN
prefix export failures.

For example, with the following configuration:

> router bgp 65000 vrf BLUE
>  address-family ipv4 unicast
>   label vpn export <int>

Release zebra label registry on unconfiguration.

Fixes: d162d5f ("bgpd: fix hardset l3vpn label available in mpls pool")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
@ton31337
Copy link
Member

@Mergifyio backport dev/10.3 stable/10.2 stable/10.1 stable/10.0

Copy link

mergify bot commented Feb 12, 2025

backport dev/10.3 stable/10.2 stable/10.1 stable/10.0

✅ Backports have been created

@ton31337 ton31337 merged commit cadfc56 into FRRouting:master Feb 13, 2025
18 checks passed
donaldsharp added a commit that referenced this pull request Feb 13, 2025
bgpd: release manual vpn label on instance deletion (backport #18121)
riw777 added a commit that referenced this pull request Feb 18, 2025
bgpd: release manual vpn label on instance deletion (backport #18121)
riw777 added a commit that referenced this pull request Feb 18, 2025
bgpd: release manual vpn label on instance deletion (backport #18121)
riw777 added a commit that referenced this pull request Feb 18, 2025
bgpd: release manual vpn label on instance deletion (backport #18121)
Jafaral added a commit that referenced this pull request Feb 19, 2025
…le/10.2/pr-18121

Revert "bgpd: release manual vpn label on instance deletion (backport #18121)"
Jafaral added a commit that referenced this pull request Feb 19, 2025
…le/10.0/pr-18121

Revert "bgpd: release manual vpn label on instance deletion (backport #18121)"
Jafaral added a commit that referenced this pull request Feb 19, 2025
…le/10.1/pr-18121

Revert "bgpd: release manual vpn label on instance deletion (backport #18121)"
ton31337 added a commit to opensourcerouting/frr that referenced this pull request Aug 2, 2025
bfdd
    Set bfd.localdiag when transitioning to admindown

bgpd
    Allow bfd to work if peer known but interface address not yet
    Correct no form commands
    Do not start bgp session if bgp identifier is not set
    Do not try to reuse freed route-maps
    Don't reuse nexthop variable in loop/switch
    Extract link bandwidth value from extcommunity before using for wcmp
    Fix `set evpn gateway-ip ipv[46]` route-map
    Fix a bug in peer_allowas_in_set()
    Fix bfd with update-source in peer-group
    Fix bgp orf prefix-list json prefix
    Fix crash in displaying json orf prefix-list
    Fix deref_of_null.ex.cond in bgp_updgrp_packet
    Fix for local interface mac cache issue in 'bgp mac hash' table
    Fix holdtime not working properly when busy
    Fix incorrect json in bgp_show_table_rd
    Fix route-distinguisher in vrf leak json cmd
    Fix show bgp vpn rd json
    Fix to show exist/non-exist-map in 'show run' properly
    Fix vty output of evpn route-target as4
    Fixed crash upon bgp network import-check command
    Force adj-rib-out updates if mrai is kicked in
    Release manual vpn label on instance deletion
    Reset bgp session only if it was a real bfd down event
    Retain the routes if we do a clear with n-bit set for graceful-restart
    Send non-transitive extended communities from/to oad peers
    Simplify bgp_input_modifier() function handling an actual route-map
    Update source address for bfd session
    Use igpmetric in bgp_aigp_metric_total()
    When bgp notices a change to shared_network inform bfd of it
    When removing the prefix list drop the pointer
    With suppress-fib-pending ensure withdrawal is sent

build
    Check for libunwind.h, not unwind.h

isisd
    Allow full `no` form for `domain-password` and `area-password`
    Correct edge insertion into ted
    Show correct level information for `show isis interface detail json`

lib
    Clean up nexthop hashing mess
    Crash handlers must be allowed on threads
    Fix `no on-match goto num` command
    Fix false context information for srv6 route
    Fix routemap crash
    Guard against padding garbage in zapi read

nhrpd
    Fix crash when accessing invalid memory zone

ospf6d
    Disable and delete ospfv3 areas that no longer have interfaces or configuration.

pbrd
    Initialize structs used in hash_lookup

redhat
    Add workaround for inet_ntop replacement which breaks rpms
    Make python shebang fix to work with redhat 10
    Rename rpmversion variable as it is now a reserved keyboard

revert "bgpd
    Handle addpath capability using dynamic capabilities"
    Release manual vpn label on instance deletion (backport FRRouting#18121)"
    Send non-transitive extended communities from/to oad peers"

zebrad
    Do not flush an existing vni configuration trying to remove wrong vni
    Evpn svd hash avoid double free
    Guard against junk in nexthop->rmap_src
    Include resolving nexthops in nhg hash
    Prevent vrf table 254 being used by non-default vrf

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
ton31337 added a commit that referenced this pull request Aug 3, 2025
bfdd
    Set bfd.localdiag when transitioning to admindown

bgpd
    Allow bfd to work if peer known but interface address not yet
    Correct no form commands
    Do not start bgp session if bgp identifier is not set
    Do not try to reuse freed route-maps
    Don't reuse nexthop variable in loop/switch
    Extract link bandwidth value from extcommunity before using for wcmp
    Fix `set evpn gateway-ip ipv[46]` route-map
    Fix a bug in peer_allowas_in_set()
    Fix bfd with update-source in peer-group
    Fix bgp orf prefix-list json prefix
    Fix crash in displaying json orf prefix-list
    Fix deref_of_null.ex.cond in bgp_updgrp_packet
    Fix for local interface mac cache issue in 'bgp mac hash' table
    Fix holdtime not working properly when busy
    Fix incorrect json in bgp_show_table_rd
    Fix route-distinguisher in vrf leak json cmd
    Fix show bgp vpn rd json
    Fix to show exist/non-exist-map in 'show run' properly
    Fix vty output of evpn route-target as4
    Fixed crash upon bgp network import-check command
    Force adj-rib-out updates if mrai is kicked in
    Release manual vpn label on instance deletion
    Reset bgp session only if it was a real bfd down event
    Retain the routes if we do a clear with n-bit set for graceful-restart
    Send non-transitive extended communities from/to oad peers
    Simplify bgp_input_modifier() function handling an actual route-map
    Update source address for bfd session
    Use igpmetric in bgp_aigp_metric_total()
    When bgp notices a change to shared_network inform bfd of it
    When removing the prefix list drop the pointer
    With suppress-fib-pending ensure withdrawal is sent

build
    Check for libunwind.h, not unwind.h

isisd
    Allow full `no` form for `domain-password` and `area-password`
    Correct edge insertion into ted
    Show correct level information for `show isis interface detail json`

lib
    Clean up nexthop hashing mess
    Crash handlers must be allowed on threads
    Fix `no on-match goto num` command
    Fix false context information for srv6 route
    Fix routemap crash
    Guard against padding garbage in zapi read

nhrpd
    Fix crash when accessing invalid memory zone

ospf6d
    Disable and delete ospfv3 areas that no longer have interfaces or configuration.

pbrd
    Initialize structs used in hash_lookup

redhat
    Add workaround for inet_ntop replacement which breaks rpms
    Make python shebang fix to work with redhat 10
    Rename rpmversion variable as it is now a reserved keyboard

revert "bgpd
    Handle addpath capability using dynamic capabilities"
    Release manual vpn label on instance deletion (backport #18121)"
    Send non-transitive extended communities from/to oad peers"

zebrad
    Do not flush an existing vni configuration trying to remove wrong vni
    Evpn svd hash avoid double free
    Guard against junk in nexthop->rmap_src
    Include resolving nexthops in nhg hash
    Prevent vrf table 254 being used by non-default vrf

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.

2 participants