[ovs-dev] Flows deletion when a port becomes inactive

Daniele Venturino daniele.venturino at m3s.it
Thu Jan 28 16:11:59 UTC 2016


Hi,
I was running some tests on Mininet and Open vSwitch and I noticed
something weird. I'm using few bridges configured with RSTP enabled and no
controller.
I then generate some traffic and I'm able to see the flows installed on
each bridge through the command

*ovs-ofctl dump-flows br0*

If I disable an active port (from which the traffic was flowing), I can
still see the flows of that port, while I'd expect them to be moved
(updated) on a new active path connecting the two ping endpoints.

If I repeat the same test, but setting the switches in normal mode with

*ovs-ofctl add-flow br0 action=NORMAL*

I can see the forwarding tables though the command:

*ovs-appctl fdb/show br0*

and if I disable a network interface where a MAC was learned, its entries
are correctly removed from RSTP, with this piece of code in
ofproto/ofproto-dpif.c:

* while ((ofport = rstp_check_and_reset_fdb_flush(ofproto->rstp, &rp))) {*
*            if (!rstp_shift_root_learned_address(ofproto->rstp)*
*                || rstp_get_old_root_aux(ofproto->rstp) != ofport) {*
*                bundle_flush_macs(ofport->bundle, false);*
*            }*
*        }*

Is it ok for the flows not to be deleted when a port becomes inactive? Am I
missing something?

Best Regards,
Daniele



More information about the dev mailing list