Skip to content

set uplink admin-up only after it has been configured#918

Draft
aritrbas wants to merge 1 commit intomasterfrom
abasu-fix-adminup
Draft

set uplink admin-up only after it has been configured#918
aritrbas wants to merge 1 commit intomasterfrom
abasu-fix-adminup

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

@aritrbas aritrbas self-assigned this Feb 21, 2026
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 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