[ovs-discuss] packets not being forwarded beyond 65 hops of switches(ovs 2.1). a possible bug?

Duy Bach Ha bachhaduy at gmail.com
Wed Aug 13 16:24:36 UTC 2014


Dear,

Time to live behavior? Just my sense. I'm not very into this to be sure.

You can see from wireshark if it's really because of TTL.

Regards,
Duy

On 08/13/2014 06:18 PM, Krishna Pratap wrote:
> 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss

-- 
-------------------
Bach Ha Duy
INFOTECH Master Program
University of Stuttgart, Germany




More information about the discuss mailing list