Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zebra: treat vrf add for existing vrf as update #7508

Merged
merged 1 commit into from
Feb 10, 2021

Commits on Feb 1, 2021

  1. zebra: treat vrf add for existing vrf as update

    Description: When we get a new vrf add and vrf with same name, but different vrf-id already
    exists in the database, we should treat vrf add as update.
    This happens mostly when there are lots of vrf and other configuration being replayed.
    There may be a stale vrf delete followed by new vrf add. This
    can cause timing race condition where vrf delete could be missed and
    further same vrf add would get rejected instead of treating last arrived
    vrf add as update.
    
    Treat vrf add for existing vrf as update.
    Implicitly disable this VRF to cleanup routes and other functions as part of vrf disable.
    Update vrf_id for the vrf and update vrf_id tree.
    Re-enable VRF so that all routes are freshly installed.
    
    Above 3 steps are mandatory since it can happen that with config reload
    stale routes which are installed in vrf-1 table might contain routes from
    older vrf-0 table which might have got deleted due to missing vrf-0 in new configuration.
    
    Signed-off-by: sudhanshukumar22 <sudhanshu.kumar@broadcom.com>
    sudhanshukumar22 committed Feb 1, 2021
    Configuration menu
    Copy the full SHA
    75d26fb View commit details
    Browse the repository at this point in the history