|
Hi Fedor,
This doesn't look like a bug to me. If your concern is that flows seem to disappear after a ping, it's because OVS times out flows after a set interval. So the flows do disappear in around 5 seconds after they are entered. I assume that mininet honors this behavior of OVS in its code as well (if I'm not wrong it uses ovs code itself).
For example, to begin with, I have no flows:
mininet> dpctl dump-flows
-
-
- s1 ------------------------------------------------------------------------
- s2 ------------------------------------------------------------------------
- s3 ------------------------------------------------------------------------
- s4 ------------------------------------------------------------------------
- s5 ------------------------------------------------------------------------
- s6 ------------------------------------------------------------------------
- s7 ------------------------------------------------------------------------
mininet>
Then, I ping h6 from h1, and then ctrl^c it, and immediately check the flows:
mininet> h1 ping h6
PING 10.0.0.6 (10.0.0.6) 56(84) bytes of data.
64 bytes from 10.0.0.6: icmp_req=1 ttl=64 time=6.15 ms
64 bytes from 10.0.0.6: icmp_req=2 ttl=64 time=0.054 ms
^C
— 10.0.0.6 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.054/3.105/6.156/3.051 ms
mininet> dpctl dump-flows
-
-
- s1 ------------------------------------------------------------------------
in_port(1),eth(src=da:4b:88:0c:1b:56,dst=0a:0d:4c:0c:50:9f),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.6,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), packets:1, bytes:98, used:1.156s, actions:2
in_port(2),eth(src=0a:0d:4c:0c:50:9f,dst=da:4b:88:0c:1b:56),eth_type(0x0800),ipv4(src=10.0.0.6,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0), packets:1, bytes:98, used:1.156s, actions:1
- s2 ------------------------------------------------------------------------
in_port(1),eth(src=da:4b:88:0c:1b:56,dst=0a:0d:4c:0c:50:9f),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.6,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), packets:1, bytes:98, used:1.160s, actions:3
in_port(3),eth(src=0a:0d:4c:0c:50:9f,dst=da:4b:88:0c:1b:56),eth_type(0x0800),ipv4(src=10.0.0.6,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0), packets:1, bytes:98, used:1.160s, actions:1
- s3 ------------------------------------------------------------------------
in_port(1),eth(src=da:4b:88:0c:1b:56,dst=0a:0d:4c:0c:50:9f),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.6,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), packets:1, bytes:98, used:1.160s, actions:3
in_port(3),eth(src=0a:0d:4c:0c:50:9f,dst=da:4b:88:0c:1b:56),eth_type(0x0800),ipv4(src=10.0.0.6,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0), packets:1, bytes:98, used:1.160s, actions:1
- s4 ------------------------------------------------------------------------
- s5 ------------------------------------------------------------------------
in_port(1),eth(src=0a:0d:4c:0c:50:9f,dst=da:4b:88:0c:1b:56),eth_type(0x0800),ipv4(src=10.0.0.6,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0), packets:1, bytes:98, used:1.160s, actions:3
in_port(3),eth(src=da:4b:88:0c:1b:56,dst=0a:0d:4c:0c:50:9f),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.6,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), packets:1, bytes:98, used:1.160s, actions:1
- s6 ------------------------------------------------------------------------
in_port(3),eth(src=da:4b:88:0c:1b:56,dst=0a:0d:4c:0c:50:9f),eth_type(0x0800),ipv4(src=10.0.0.1,dst=10.0.0.6,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0), packets:1, bytes:98, used:1.164s, actions:2
in_port(2),eth(src=0a:0d:4c:0c:50:9f,dst=da:4b:88:0c:1b:56),eth_type(0x0800),ipv4(src=10.0.0.6,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0), packets:1, bytes:98, used:1.164s, actions:3
- s7 ------------------------------------------------------------------------
mininet>
After a few seconds, I recheck the flows:
mininet> dpctl dump-flows
-
-
- s1 ------------------------------------------------------------------------
- s2 ------------------------------------------------------------------------
- s3 ------------------------------------------------------------------------
- s4 ------------------------------------------------------------------------
- s5 ------------------------------------------------------------------------
- s6 ------------------------------------------------------------------------
- s7 ------------------------------------------------------------------------
mininet>
And they're gone, owing to ovs timeouts.
I will mark this bug as invalid for the above reason. Please do note that the flows do get written on the switches by the controller before they time out, so the controller is doing its job.
|