Uploaded image for project: 'Fast Datapath Product'
  1. Fast Datapath Product
  2. FDP-3069

Test Plan: [EVPN] Support All-Active Layer-2 multihoming ("ECMP").

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • OVN
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      ( ) The new test plan is aligned with the epic's acceptance criteria

      ( ) The test plan/test case pass successfully on all non blocking functions of the feature

      Show
      ( ) The new test plan is aligned with the epic's acceptance criteria ( ) The test plan/test case pass successfully on all non blocking functions of the feature
    • rhel-9
    • None

      This task is tracking the test case writing activities to cover the feature request described below.

      What's the feature?

      Currently OVN's L2 EVPN integration doesn't support externally learned FDB records that
      are reachable through multiple VTEPs (multi-homed / ECMP). ovn-controller monitors the L2 VRF linux bridge FDB table but only installs records that are reachable through a single remote VTEP.

      Why is it needed?

      In multi-homed EVPN deployments (with some of the L2 addresses reachable at the same cost) it's important that other parts of the L2 EVPN domain can reach the multi-homed workloads on all paths, enabling load sharing across paths.
       

      Who will benefit? 

      Users that care about All-Active Layer-2 multihoming (ECMP) for EVPN, i.e., ovn-kubernetes, OpenStack.

      A sample configuration is available through the following script:
      https://github.com/dceara/ovn/blob/5fa75935c60c01d47291253572ab587ae09b1e33/tutorial/bgp/setup-l2-multihoming.sh

      This simulates the following topology:

                     +---- evpn-host2  ---+
                     |                    |
      evpn-host1 ----+                    +--- simulated-multi-homed-workloads
                     |                    |
                     +---- evpn-host3  ---+
      

      With BGP EVPN sessions between host1 <> host2 and host1 <> host3. Host1 learns the multi-homed FDBs via both other EVPN speakers and installs FDB entries in the kernel in the following form:

      # Check "ECMP" FDB on host1:
      podman exec $h1 bridge fdb show static | grep 00:00:33:22:11:10
      00:00:33:22:11:10 dev vxlan-10 vlan 1 extern_learn master br-10 
      00:00:33:22:11:10 dev vxlan-10 extern_learn master br-10 
      00:00:33:22:11:10 dev vxlan-10 nhid 536870913 self extern_learn
      
      # Check "ECMP" nexthops on host1:
      $ podman exec $h1 ip nexthop
      id 268435458 via 20.0.0.2 scope link fdb
      id 268435460 via 20.0.0.3 scope link fdb
      id 536870913 group 268435458/268435460 fdb
      id 536870915 group 268435458/268435460 fdb
      

              ovn-qe OVN QE
              dceara@redhat.com Dumitru Ceara
              OVN QE OVN QE
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: