Hi, I am trying to create a linear topology of 70 switches and linking all these switches with patch ports. After this, I am injecting traffic packets in the first switch(S0) and I have added flows on all of the switches to forward the packets in one direction towards the last switch (S69). I am using OVS 2.1.0
(traffic generator)------>S0---->S1---->..........S63---->S64---->S65----->........S68------>S69 All the packets received by the first switch S0 are being forwarded correctly to the next switch S1 and to the subsequent switches in order until the 66th switch. Here, the packets don't get forwarded beyond the 66th switch(S65) even though it receives it on one port from 65th switch (S64) as shown in output below. I did a snoop on all the switches and the traffic stops at the 65th switch even when the flows clearly say that whatever is received on port 2 should be forwarded on port 1 as shown below. Can anyone explain why its behaving like this or point out which part of code does this check to limit the number of hops. I'm trying to benchmark the behavior of OVS in different topologies such as linear, grid, ring etc. I'm encountering similar behavior in these scenarios as well I have pasted the output from the various switches below. ---------------------------------------------------------------------------------------------------------------------------------------------- The linear topology of 70 switches looks like this: (traffic generator)------>S0---->S1---->..........S63---->S64---->S65----->........S68------>S69 here are the flows on first switch . port 9 is my traffic port on first switch. root@ccpu1:~# ovs-ofctl dump-flows Switch_S0 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1067.239s, table=0, n_packets=0, n_bytes=0, idle_age=1067, in_port=9 actions=CONTROLLER:6633,output:1 dump-ports on first switch to show packets transfer root@ccpu1:~# ovs-ofctl dump-ports Switch_S0 OFPST_PORT reply (xid=0x2): 3 ports port 9: rx pkts=223, bytes=21734, drop=0, errs=0, frame=0, over=?, crc=? tx pkts=0, bytes=0, drop=0, errs=0, coll=0 port 1: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=221, bytes=21546, drop=0, errs=0, coll=0 port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=6, bytes=468, drop=0, errs=0, coll=0 snoop on first switch root@ccpu1:~# ovs-ofctl snoop Switch_S0 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=9 (via action) data_len=98 buffer=0x00000201 ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=9 (via action) data_len=98 buffer=0x00000202 ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 OFPT_ECHO_REQUEST (OF1.3) (xid=0x0): 0 bytes of payload OFPT_ECHO_REPLY (OF1.3) (xid=0x0): 0 bytes of payload OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=9 (via action) data_len=98 buffer=0x00000203 ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 flows on the second switch and similar flows are added throughout root@ccpu1:~# ovs-ofctl dump-flows Switch_S1 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1131.739s, table=0, n_packets=0, n_bytes=0, idle_age=1131, in_port=2 actions=CONTROLLER:6633,output:1 'dump-ports' on second switch root@ccpu1:~# ovs-ofctl dump-ports Switch_S1 OFPST_PORT reply (xid=0x2): 3 ports port 1: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=226, bytes=22036, drop=0, errs=0, coll=0 port 2: rx pkts=226, bytes=22036, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=5, bytes=378, drop=0, errs=0, coll=0 flows on 65th switch root@ccpu1:~# ovs-ofctl dump-flows Switch_S65 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1280.098s, table=0, n_packets=0, n_bytes=0, idle_age=1280, in_port=2 actions=CONTROLLER:6633,output:1 'dump-ports' on 65th switch root@ccpu1:~# ovs-ofctl dump-ports Switch_S64 OFPST_PORT reply (xid=0x2): 2 ports port 1: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=234, bytes=22840, drop=0, errs=0, coll=0 port 2: rx pkts=234, bytes=22840, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 'snoop' on the 65th switch root@ccpu1:~# ovs-ofctl snoop Switch_S64 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=2 (via action) data_len=98 buffer=0x000002ba ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 OFPT_ECHO_REQUEST (OF1.3) (xid=0x0): 0 bytes of payload OFPT_ECHO_REPLY (OF1.3) (xid=0x0): 0 bytes of payload OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=2 (via action) data_len=98 buffer=0x000002bb ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x0 total_len=98 in_port=2 (via action) data_len=98 buffer=0x000002bc ip,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:60:f3:00:10:10,dl_dst=00:80:e2:01:12:11,nw_src=192.85.1.1,nw_dst=192.85.1.3,nw_proto=2,nw_tos=192,nw_ecn=0,nw_ttl=255 flows on 66th switch root@ccpu1:~# ovs-ofctl dump-flows Switch_S65 NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1280.098s, table=0, n_packets=0, n_bytes=0, idle_age=1280, in_port=2 actions=CONTROLLER:6633,output:1 'dump-ports' on 66th switch shows it is not forwarding packets to port 1 . even though there is a rule which clearly states it should. root@ccpu1:~# ovs-ofctl dump-ports Switch_S65 OFPST_PORT reply (xid=0x2): 2 ports port 1: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 port 2: rx pkts=236, bytes=23036, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=0, bytes=0, drop=0, errs=0, coll=0 Any help would be appreciated. Thanks, KP _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss