[L2SWITCH-35] When new ports are added into a OVS switch connected to ODL a default flow is not programmed Created: 05/Feb/15  Updated: 28/Aug/17

Status: Confirmed
Project: l2switch
Component/s: General
Affects Version/s: unspecified
Fix Version/s: None

Type: Bug
Reporter: Steven Noble Assignee: satish inakoti
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Linux
Platform: All


External issue ID: 2683
Priority: Normal

 Description   

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.



 Comments   
Comment by Sunil Kumar M S [ 28/Aug/17 ]

Is there any update on this bug?
If you are still able to reproduce the issue, can you please provide entity ownership details and wireshark capture.

Generated at Wed Feb 07 20:05:45 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.