Uploaded image for project: 'CORD'
  1. CORD
  2. CORD-2695

When learning the same route from two quagga instances, both routes must be installed

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: To Do (View Workflow)
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: ONOS
    • Labels:
      None
    • Story Points:
      1

      Description

      When the same route (for example 2001:558:fe2a:218::/64) gets learned by two quagga instances and programmed to ONOS via FPM, only one of them gets installed. Instead, it should install both as ECMP.

      onos> routes | grep 2001:558:fe2a:218::/64
      >   2001:558:fe2a:218::/64                      fe80::2a99:3aff:fe40:9f4b               FPM (96.112.165.36)
          2001:558:fe2a:218::/64                      fe80::2a99:3aff:fe41:19db               FPM (96.112.165.35)
      

      The next-hop fe80::2a99:3aff:fe40:9f4b resides at of:0000000059120112/51, and the next-hop fe80::2a99:3aff:fe41:19db is at of:0000000059120111/51

      onos> flows -s any of:0000000059120111 | grep 2001:558:fe2a:218::/64
          ADDED, bytes=0, packets=0, table=30, priority=32010, selector=[ETH_TYPE:ipv6, IPV6_DST:2001:558:fe2a:218::/64], treatment=[deferred=[GROUP:0x700000fb], transition=TABLE:60]
      onos> groups any of:0000000059120111 | grep id=0x700000fb
         id=0x700000fb, state=ADDED, type=SELECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=72
         id=0x700000fb, bucket=1, bytes=0, packets=0, actions=[GROUP:0x920000f1]
         id=0x700000fb, bucket=2, bytes=0, packets=0, actions=[GROUP:0x920000f3]
         id=0x700000fb, bucket=3, bytes=0, packets=0, actions=[GROUP:0x920000f5]
         id=0x700000fb, bucket=4, bytes=0, packets=0, actions=[GROUP:0x920000f9]
      onos> groups any of:0000000059120111 | grep id=0x920000f1
         id=0x920000f1, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x920000f1, bucket=1, bytes=0, packets=0, actions=[MPLS_PUSH:mpls_unicast, MPLS_LABEL:202, GROUP:0x900000f0, TTL_OUT, MPLS_BOS:true]
      onos> groups any of:0000000059120111 | grep id=0x920000f3
         id=0x920000f3, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x920000f3, bucket=1, bytes=0, packets=0, actions=[MPLS_PUSH:mpls_unicast, MPLS_LABEL:202, GROUP:0x900000f2, TTL_OUT, MPLS_BOS:true]
      onos> groups any of:0000000059120111 | grep id=0x920000f5
         id=0x920000f5, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x920000f5, bucket=1, bytes=0, packets=0, actions=[MPLS_PUSH:mpls_unicast, MPLS_LABEL:202, GROUP:0x900000f4, TTL_OUT, MPLS_BOS:true]
      onos> groups any of:0000000059120111 | grep id=0x920000f9
         id=0x920000f9, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x920000f9, bucket=1, bytes=0, packets=0, actions=[MPLS_PUSH:mpls_unicast, MPLS_LABEL:202, GROUP:0x900000f7, TTL_OUT, MPLS_BOS:true]
      onos> groups any of:0000000059120111 | grep id=0x900000f0
         id=0x900000f0, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x900000f0, bucket=1, bytes=0, packets=0, actions=[ETH_DST:A8:2B:B5:1C:72:F4, ETH_SRC:8C:EA:1B:D7:B8:4F, VLAN_ID:4094, GROUP:0xffe0034]
      onos> groups any of:0000000059120111 | grep id=0x900000f2
         id=0x900000f2, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x900000f2, bucket=1, bytes=0, packets=0, actions=[ETH_DST:A8:2B:B5:1C:72:F4, ETH_SRC:8C:EA:1B:D7:B8:4F, VLAN_ID:4094, GROUP:0xffe0035]
      onos> groups any of:0000000059120111 | grep id=0x900000f4
         id=0x900000f4, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x900000f4, bucket=1, bytes=0, packets=0, actions=[ETH_DST:8C:EA:1B:0F:FA:9C, ETH_SRC:8C:EA:1B:D7:B8:4F, VLAN_ID:4094, GROUP:0xffe0031]
      onos> groups any of:0000000059120111 | grep id=0x900000f7
         id=0x900000f7, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=1
         id=0x900000f7, bucket=1, bytes=0, packets=0, actions=[ETH_DST:8C:EA:1B:0F:FA:9C, ETH_SRC:8C:EA:1B:D7:B8:4F, VLAN_ID:4094, GROUP:0xffe0032]
      onos> groups any of:0000000059120111 | grep id=0xffe0034
         id=0xffe0034, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=12
         id=0xffe0034, bucket=1, bytes=0, packets=0, actions=[VLAN_POP, OUTPUT:52]
      onos> groups any of:0000000059120111 | grep id=0xffe0035
         id=0xffe0035, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=12
         id=0xffe0035, bucket=1, bytes=0, packets=0, actions=[VLAN_POP, OUTPUT:53]
      onos> groups any of:0000000059120111 | grep id=0xffe0031
         id=0xffe0031, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=12
         id=0xffe0031, bucket=1, bytes=0, packets=0, actions=[VLAN_POP, OUTPUT:49]
      onos> groups any of:0000000059120111 | grep id=0xffe0032
         id=0xffe0032, state=ADDED, type=INDIRECT, bytes=0, packets=0, appId=org.onosproject.segmentrouting, referenceCount=12
         id=0xffe0032, bucket=1, bytes=0, packets=0, actions=[VLAN_POP, OUTPUT:50]
      
      

      In other words, the switch of:0000000059120111, even though it has a local reachability to
      2001:558:fe2a:218::/64, sends traffic across the fabric to reach the prefix.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            sauravdas Saurav Das
            Reporter:
            dbg Daniel Ginsburg
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:

                Gerrit Reviews

                There are no open Gerrit changes