[ovs-dev] ovs deleting flows issue

Roi Dayan roid at mellanox.com
Thu Jul 13 11:10:28 UTC 2017


Hi,

We encountered an issue with deleting flows using dpctl del-flow and
del-flows that after deleting a flow it cannot be added again.

My setup is one bridge with a single port and I'm doing a ping in the
background.

output of dump flows?

recirc_id(0),in_port(3),eth(src=2a:52:d7:9b:09:04,dst=f2:81:39:3b:5a:f7),eth_type(0x0800),ipv4(frag=no), 
packets:0, bytes:0, used:never, actions:2
recirc_id(0),in_port(2),eth(src=f2:81:39:3b:5a:f7,dst=2a:52:d7:9b:09:04),eth_type(0x0800),ipv4(frag=no), 
packets:0, bytes:0, used:never, actions:3


then I delete the first rule and the output of dump flows is:

recirc_id(0),in_port(2),eth(src=f2:81:39:3b:5a:f7,dst=2a:52:d7:9b:09:04),eth_type(0x0800),ipv4(frag=no), 
packets:2, bytes:196, used:0.500s, actions:3


but ping still works.
I can also delete the 2nd rule and then I don't have anything in
dump-flows but ping still works.

What we think is happening is we deleted a flow but its ukey is not
evicted/deleted and since the revalidator doesn't see the flow anymore
then aging doesn't happen and revalidator doesn't delete the ukey as
well.

looks like this can happen from at least 3 places.
dpctl del-flow, dpctl del-flows, upcall disable megaflows

would like some help/comment here if someone noticed it and/or is
working on a fix.

Thanks,
Roi


More information about the dev mailing list