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

[ovn-ic] Add support for transit routers.

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • OVN
    • 13
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide

      Given a system admin of a multi-AZ deployment in OVN with transit switches and gateway routers is in place, 

      When they configure a  TDR between AZ1 and AZ2 (See figure in the description)

      Then, the traffic between VIF1 (Virtual Interface in AZ1) and N2 (Network in AZ2) should follow the optimized path through the TDR: VIF1 -> TS -> TDR -> GR2 -> N2. Also, the TDR should allow VIF1/VIF2 to have a single identical default gateway, simplifying the network configuration.

      Show
      Given a system admin of a multi-AZ deployment in OVN with transit switches and gateway routers is in place,  When they configure a  TDR between AZ1 and AZ2 (See figure in the description) Then, the traffic between VIF1 (Virtual Interface in AZ1) and N2 (Network in AZ2) should follow the optimized path through the TDR: VIF1 -> TS -> TDR -> GR2 -> N2. Also, the TDR should allow VIF1/VIF2 to have a single identical default gateway, simplifying the network configuration.
    • sst_network_fastdatapath
    • ssg_networking

      Current state:

      The current OVN IC (interconnect) support is limited to adding transit switches that interconnect different OVN deployments (across AZ - availability zones):

      https://github.com/ovn-org/ovn/blob/fcc2bf154ea591ec267940ba9ba9ef3fa16af6ab/ovn-architecture.7.xml#L2367-L2372

      https://github.com/ovn-org/ovn/blob/main/Documentation/tutorials/ovn-interconnection.rst#create-transit-logical-switches

      In practice deployments may look like this:

        AZ1      AZ2
        ---      ---
      
        GR1      GR2 --- N2
         |        |
         +-- TS --+   
             |           (intra-AZ routers may also be attached here)
      VIF1 --+--- VIF2 

      Where "TS" stands for "transit switch" interconnecting AZ1 and AZ2; "GR" stands for "zone-specific (gateway) router".

       

      This kind of topology has a few significant limitations:

      • packets routed between GR2 and GR1 always go through the transit switch TS
      • if VIF1 (AZ1) needs to communicate with a network (N2) that's behind GR2 (AZ2) then it needs to either:
        • have a route for N2 via GR2's IP
        • OR assuming it has a default route via the local GR1 use that one in which case traffic flows as: VIF1 -> TS -> GR1 -> TS -> GR2 -> N2.

      Proposal:

      Introduce a new type of logical router, logical transit distributed router.

      The logical topology above could be changed to something like:

        AZ1       AZ2
        ---       ---
      
        GR1       GR2  --- N2
         |         |
         +-- TDR --+   
             |
             TS         (intra-AZ routers may also be attached here)
             |
      VIF1 --+--- VIF2

      Where "TDR" stands for "transit distributed router".

      This simplifies the routing, allowing VIF1/VIF2 to have a single (identical) default gateway while ensuring that traffic from VIF1 from N2 flows as: VIF1 -> TS -> TDR -> GR2 -> N2.

      With this proposal, Transit Logical Routers will likely be able to support only a subset of the features a regular Logical Router supports.  For example, a Transit Logical Router cannot be a Gateway Router (as we don't currently have a way to distribute conntrack state).

            amusil@redhat.com Ales Musil
            dceara@redhat.com Dumitru Ceara
            Jianlin Shi Jianlin Shi
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: