Uploaded image for project: 'l2switch'
  1. l2switch
  2. L2SWITCH-35

When new ports are added into a OVS switch connected to ODL a default flow is not programmed

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • unspecified
    • General
    • None
    • Operating System: Linux
      Platform: All

    • 2683
    • Normal

      Confirmed on both ODL Helium SR2 and Brocade Vyatta Controller 1.1.1. Confirmed that behavior is the same if new port is up or down.

      Steps to reproduce:

      1. Connect OVS device up to ODL controller
      2. dump flows for switch (in this case switch1)
      3. add new port to switch
      4. dump flows for switch - no flow installed for new port
      5. disconnect/reconnect to ODL
      6. dump flows for switch - new port will have default flow.

      Logs:

      admin@3920-2$cli
      Synchronizing configuration...OK.
      Pica8 PicOS Version 2.5.2
      Welcome to PicOS L2/L3 on 3920-2
      admin@3920-2> config
      Entering configuration mode.
      There are no other users in configuration mode.
      admin@3920-2# set interface gigabit-ethernet ge-1/1/8 crossflow enable true
      admin@3920-2# set interface gigabit-ethernet ge-1/1/8 crossflow local-control false
      admin@3920-2# commit
      Commit OK.
      Save done.
      admin@3920-2# exit
      admin@3920-2> exit
      admin@3920-2$ovs-vsctl show
      0af6f9ee-ac59-4590-a55b-8295a4c26cd7
      Bridge "switch1"
      Controller "tcp:192.168.21.109:6633"
      is_connected: true
      fail_mode: standalone
      Port "ge-1/1/2"
      Interface "ge-1/1/2"
      type: "pica8"
      Port "ge-1/1/1"
      Interface "ge-1/1/1"
      type: "pica8"
      Port "ge-1/1/4"
      Interface "ge-1/1/4"
      type: "pica8"
      Port "te-1/1/49"
      tag: 1
      Interface "te-1/1/49"
      type: "pica8"
      options:

      {flow_ctl=none, link_speed=auto}
      Port "ge-1/1/5"
      Interface "ge-1/1/5"
      type: "pica8"
      Port "ge-1/1/6"
      Interface "ge-1/1/6"
      type: "pica8"
      Port "ge-1/1/3"
      Interface "ge-1/1/3"
      type: "pica8"
      Port "switch1"
      Interface "switch1"
      type: internal
      Port "ge-1/1/7"
      Interface "ge-1/1/7"
      type: "pica8"
      admin@3920-2$

      — add new port —

      admin@3920-2$ovs-vsctl add-port switch1 ge-1/1/8 – set interface ge-1/1/8 type=pica8
      admin@3920-2$ovs-vsctl show
      0af6f9ee-ac59-4590-a55b-8295a4c26cd7
      Bridge "switch1"
      Controller "tcp:192.168.21.109:6633"
      is_connected: true
      fail_mode: standalone
      Port "ge-1/1/8"
      Interface "ge-1/1/8"
      type: "pica8"
      Port "ge-1/1/2"
      Interface "ge-1/1/2"
      type: "pica8"
      Port "ge-1/1/1"
      Interface "ge-1/1/1"
      type: "pica8"
      Port "ge-1/1/4"
      Interface "ge-1/1/4"
      type: "pica8"
      Port "te-1/1/49"
      tag: 1
      Interface "te-1/1/49"
      type: "pica8"
      options: {flow_ctl=none, link_speed=auto}

      Port "ge-1/1/5"
      Interface "ge-1/1/5"
      type: "pica8"
      Port "ge-1/1/6"
      Interface "ge-1/1/6"
      type: "pica8"
      Port "ge-1/1/3"
      Interface "ge-1/1/3"
      type: "pica8"
      Port "switch1"
      Interface "switch1"
      type: internal
      Port "ge-1/1/7"
      Interface "ge-1/1/7"
      type: "pica8"
      admin@3920-2$

      — new port does not get default flow —

      admin@3920-2$ovs-ofctl dump-flows switch1
      OFPST_FLOW reply (OF1.3) (xid=0x2):
      cookie=0x2b000000000001c2, duration=19015.716s, table=0, n_packets=n/a, n_bytes=372953, priority=100,dl_type=0x88cc actions=CONTROLLER:65535
      cookie=0x2b00000000001a61, duration=7459.341s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=7 actions=output:4,output:3,output:2,output:1,output:49,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a62, duration=7459.338s, table=0, n_packets=n/a, n_bytes=4160, priority=2,in_port=5 actions=output:4,output:3,output:2,output:1,output:49,output:7,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a5c, duration=7459.352s, table=0, n_packets=n/a, n_bytes=1706942803, priority=2,in_port=4 actions=output:3,output:2,output:1,output:49,output:7,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a5f, duration=7459.345s, table=0, n_packets=n/a, n_bytes=128, priority=2,in_port=1 actions=output:4,output:3,output:2,output:49,output:7,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a63, duration=7459.336s, table=0, n_packets=n/a, n_bytes=4160, priority=2,in_port=6 actions=output:4,output:3,output:2,output:1,output:49,output:7,output:5,CONTROLLER:65535
      cookie=0x2b00000000001a5e, duration=7459.347s, table=0, n_packets=n/a, n_bytes=128, priority=2,in_port=2 actions=output:4,output:3,output:1,output:49,output:7,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a60, duration=7459.343s, table=0, n_packets=n/a, n_bytes=220639260, priority=2,in_port=49 actions=output:4,output:3,output:2,output:1,output:7,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a5d, duration=7459.349s, table=0, n_packets=n/a, n_bytes=1706917767, priority=2,in_port=3 actions=output:4,output:2,output:1,output:49,output:7,output:5,output:6,CONTROLLER:65535

      — change to a different controller —

      admin@3920-2$ovs-vsctl set-controller switch1 tcp:192.168.21.110:6633
      admin@3920-2$ovs-vsctl show
      0af6f9ee-ac59-4590-a55b-8295a4c26cd7
      Bridge "switch1"
      Controller "tcp:192.168.21.110:6633"
      is_connected: true
      fail_mode: standalone
      Port "ge-1/1/8"
      Interface "ge-1/1/8"
      type: "pica8"
      Port "ge-1/1/2"
      Interface "ge-1/1/2"
      type: "pica8"
      Port "ge-1/1/1"
      Interface "ge-1/1/1"
      type: "pica8"
      Port "ge-1/1/4"
      Interface "ge-1/1/4"
      type: "pica8"
      Port "te-1/1/49"
      tag: 1
      Interface "te-1/1/49"
      type: "pica8"
      options:

      {flow_ctl=none, link_speed=auto}

      Port "ge-1/1/5"
      Interface "ge-1/1/5"
      type: "pica8"
      Port "ge-1/1/6"
      Interface "ge-1/1/6"
      type: "pica8"
      Port "ge-1/1/3"
      Interface "ge-1/1/3"
      type: "pica8"
      Port "switch1"
      Interface "switch1"
      type: internal
      Port "ge-1/1/7"
      Interface "ge-1/1/7"
      type: "pica8"
      admin@3920-2$ovs-ofctl dump-flows switch1
      OFPST_FLOW reply (OF1.3) (xid=0x2):

      — change back to ODL controller —

      admin@3920-2$ovs-vsctl set-controller switch1 tcp:192.168.21.109:6633
      admin@3920-2$ovs-ofctl dump-flows switch1
      OFPST_FLOW reply (OF1.3) (xid=0x2):
      cookie=0x2b0000000000028e, duration=7.946s, table=0, n_packets=n/a, n_bytes=73, priority=100,dl_type=0x88cc actions=CONTROLLER:65535
      cookie=0x2b00000000001a8d, duration=3.952s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=7 actions=output:4,output:3,output:2,output:1,output:49,output:8,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a8f, duration=3.948s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=5 actions=output:4,output:3,output:2,output:1,output:49,output:7,output:8,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a88, duration=3.963s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=4 actions=output:3,output:2,output:1,output:49,output:7,output:8,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a8b, duration=3.954s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=1 actions=output:4,output:3,output:2,output:49,output:7,output:8,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a90, duration=3.945s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=6 actions=output:4,output:3,output:2,output:1,output:49,output:7,output:8,output:5,CONTROLLER:65535
      cookie=0x2b00000000001a8a, duration=3.959s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=2 actions=output:4,output:3,output:1,output:49,output:7,output:8,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a8e, duration=3.950s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=8 actions=output:4,output:3,output:2,output:1,output:49,output:7,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a8c, duration=3.957s, table=0, n_packets=n/a, n_bytes=246, priority=2,in_port=49 actions=output:4,output:3,output:2,output:1,output:7,output:8,output:5,output:6,CONTROLLER:65535
      cookie=0x2b00000000001a89, duration=3.961s, table=0, n_packets=n/a, n_bytes=0, priority=2,in_port=3 actions=output:4,output:2,output:1,output:49,output:7,output:8,output:5,output:6,CONTROLLER:65535

      Note that port 8 now has a default flow.

            satish.inakoti@gmail.com satish inakoti
            snoble@netdef.org Steven Noble
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: