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

Implement VRF route leaking #160

Merged
merged 7 commits into from
Jul 19, 2024
Merged

Implement VRF route leaking #160

merged 7 commits into from
Jul 19, 2024

Commits on Jul 19, 2024

  1. API: Support VRF leaking

    Here we add the simplest way to route from a VRF to the other, by using
    import vrf <vrfname>, which is a shortcut to leak routes from a vrf to
    the other using the vpn SAFI under the default VRF.
    
    Also, despite the fact that the import goes in the ipfamily stanza, we
    choose here to allow an import that includes both the v4 and the v6
    family.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    7569bb8 View commit details
    Browse the repository at this point in the history
  2. FRR: export and render the importVRFs field

    We introduce a new importVRFs field to list the vrfs imported to the v4
    / v6 AFIs of a given router.
    
    Also, we implement the rendering of that field in the frr config.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    6327fa7 View commit details
    Browse the repository at this point in the history
  3. Controller: reconcile the rendering of imported VRFs

    Translating and merging the new field.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    0522207 View commit details
    Browse the repository at this point in the history
  4. E2E: propagate the error on route validation check

    Instead of relying on the returned bool, we propagate the error and we assert on
    the error routes not found when we know the routes shouldn't be there.
    This makes triaging easier as the error is more descriptive than a bool.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    55d806b View commit details
    Browse the repository at this point in the history
  5. E2E: test leaking routes from VRFs

    Here we test leaking routes from / to VRFs with different types of
    allowed prefixes.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    1a3dc65 View commit details
    Browse the repository at this point in the history
  6. Conversion unit tests: remove the empty fields from expected

    Now that we use EquateEmpty, the expected value can be shorter and more
    compact, making the tests easier to navigate and handle.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    99c7bbd View commit details
    Browse the repository at this point in the history
  7. CI: disable the leak / advertising tests

    Leaking advertised networks doesn't work in FRR 9.1, so we disable the
    test. We will re-enable them once the CI is stable with FRR 10.
    
    Signed-off-by: Federico Paolinelli <[email protected]>
    fedepaol committed Jul 19, 2024
    Configuration menu
    Copy the full SHA
    bd942df View commit details
    Browse the repository at this point in the history