On Fri, Apr 29, 2011 at 01:19:59PM -0700, Ethan Jackson wrote: > When ports are deleted from the datapath they need to be added to > an LRU list maintained in dpif-linux so they may be reallocated. > When using vswitchd to delete the ports this happens automatically. > However, if a port is deleted directly from the datapath it is > never reclaimed by dpif-linux. If this happens often, eventually > no ports will be available for allocation and dpif-linux will fall > back to using the old, kernel implemented, allocation strategy. > > This commit fixes the problem by automatically reclaiming ports > missing from the datapath whenever the list of ports in the > datapath is dumped. > > Bug #2140.
It looks basically good, but I think there is a problem in the corner cases where either an error occurs in the middle of the dump (unlikely, I know) or the caller invoking the dump disposes of it before dumping all of the ports (which seems more likely, even though I think we don't do this in OVS yet). So I think that dpif_linux_port_dump_next() should record in dpif_linux_port_state() that nl_dump_next() returned false, and dpif_linux_port_dump_done() should only add un-dumped ports if that flag is set and the dump finished without an error. Thanks, Ben. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
