Closed bgmrsln closed 11 months ago
This is the links i looked up:
Also, when i tried to update flow table size with 5 to the same switch s1; it stucked on the active: 1. Maybe it does not get updated, idk but it does not seem reasonable.
We are already getting flow removal message but i doubt that it covers the flow eviction what i tried to do.
The weird thing is 10 flow rule that is added with pingall to table size 10, are not removed with hard timeout as shown in pic 1. And a second hard timeout occurs which makes table empty as shown in table stats
We typed sudo mn --controller=remote,ip=127.0.0.1 --mac -i 10.1.1.0/24 --switch=ovsk,protocols=OpenFlow13 --topo=single,4 -x
. It opened xterms. In the controller xterm, we typed sudo ovs-vsctl -- --id=@ft create Flow_Table flow_limit=5 overflow_policy=refuse -- set Bridge s1 flow_tables=0=@ft
. Then in the mininet, we ping all. It only hard timeouted 4 times (one of them is miss flow rule). That means it worked. The other flows could not get in the table since we used overflow_policy=refuse
. Then we changed the flow table size to 10 and same sequence of events happened again according to size 10. That means it worked!!!
We also checked by command sudo ovs-ofctl -O OpenFlow13 dump-tables s1
and it only showed 5 and 10 active rules respectively. Normally, it shows active=1 since only miss rule is in the flow table if there is no packet in.
We can try with only one ping to test if this strange thing occurs or not.
It is important to note that to set the flow table size, first you must run the mininet topology.
We can try with only one ping to test if this strange thing occurs or not.
I tried it:
So this works, we can close the issue.
I'm not sure whether it is achieved 100% but here is what I have done:
sudo ovs-vsctl -- --id=@0 create Flow_Table flow_limit=1 overflow_policy=refuse -- set Bridge s1 flow_tables=0=@0
according to the openvs switch documentation.sudo ovs-ofctl -O OpenFlow13 dump-tables s1
to see the status of the flow tables of the switch s1 and only one was active as can be seen:To be sure, we need to do flow removal message as well. In some trials, i got hard timeout which I shouldn't get if flow is removed, sometimes I didn't. So I'm not sure this is 100% done.