Skip to content

[v3.29] set uplink admin-up only after it has been configured#917

Draft
aritrbas wants to merge 1 commit intorelease/v3.29.0from
abasu-fix-adminup-r329
Draft

[v3.29] set uplink admin-up only after it has been configured#917
aritrbas wants to merge 1 commit intorelease/v3.29.0from
abasu-fix-adminup-r329

Conversation

@aritrbas
Copy link
Collaborator

@aritrbas aritrbas commented Feb 21, 2026

Summary

This fixes uplink startup sequencing in vpp-manager so that the uplink interfaces are brought admin-up only after DisableIP6RouterAdvertisements() is called on the interface.

RCA

runVpp() previously set uplink admin-up immediately after interface creation and only then configured IPv6 RA suppression, CNAT features, VRF assignment, interface addresses and routes.

This created a window where the interface could process traffic before RA suppression and full policy/routing state were applied. During this window, VPP can processes any RA arriving on the wire that can install unwanted default routes from upstream routers into the FIB, acquire SLAAC addresses that VPP should not have or pollute the FIB before the intended configuration is fully applied.

Fix

Keep uplink admin-down until DisableIP6RouterAdvertisements() is called; only then perform uplink admin-up.

  • BEFORE: CreateMainVppInterface → InterfaceAdminUp → configureVppUplinkInterface
  • AFTER: CreateMainVppInterface → DisableIP6RouterAdvertisements → InterfaceAdminUp → configureVppUplinkInterface

Move InterfaceAdminUp() for the uplink interface to after
DisableIP6RouterAdvertisements(). Previously, the uplink was
brought admin-up immediately after creation and then configured
with IPv6 enable, RA suppress, CNAT, VRF, addresses, and routes.
This left a window where the interface was up with RA processing
still active, allowing VPP to process Router Advertisements from
the wire and potentially install unwanted SLAAC addresses or
default routes before the intended configuration was in place.

Signed-off-by: Aritra Basu <aritrbas@cisco.com>
@aritrbas aritrbas force-pushed the abasu-fix-adminup-r329 branch from 21de1b1 to 9ebcca7 Compare February 21, 2026 07:56
@aritrbas aritrbas marked this pull request as draft February 27, 2026 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant