proper destruction of netdev datapaths
authorGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Wed, 9 May 2012 10:17:15 +0000 (12:17 +0200)
committerGiuseppe Lettieri <g.lettieri@iet.unipi.it>
Wed, 9 May 2012 10:17:15 +0000 (12:17 +0200)
commit9aa1cc9df8af45112f67c34a4d5606e2fb8c7212
tree219b7459fe99e612f642fa2adadc8b4014d82aec
parent7c7b5a60acd19317885a77f15b7074dc34d06288
proper destruction of netdev datapaths

Bridges with datapath_type=netdev do not destroy the datapath when
deleted. In particular, the tap device implementing the internal
interface is not close()d, and therefore the tap persists until
ovs-vswitchd exit()s.

This behaviour appears to be caused by the missing callback
for 'enumerate' in the dpif-netdev class. Without this callback
'bridge_reconfigure' fails to realize that there are datapaths with no
bridge, and thus cannot destroy them. Providing an 'enumerate' callback
fixes this.
lib/dpif-netdev.c