[ovs-dev] netdev-based datapath is not enumerable

Min Chen ustcer.tonychan at gmail.com
Wed May 16 06:41:13 UTC 2012


Hi,

I've been porting OVS 1.4.0 to a Broadcom chip based ServerSwitch, which
runs on Windows.
To take advantage of the switching chip, I am implementing my own "ofproto
provider".

Function bridge_del_ofprotos is called when all datapaths and datapath
ports are to be deleted.
It is done by calling ofproto_delete on each datapath with 'name' and
'type' spcified. This is
comment for ofproto_delete:

/* Destroys the datapath with the respective 'name' and 'type'.  With the
> Linux
>  * kernel datapath, for example, this destroys the datapath in the kernel,
> and
>  * with the netdev-based datapath, it tears down the data structures that
>  * represent the datapath.
>  *
>  * The datapath should not be currently open as an ofproto. */
>

I am a bit confused here.

ofproto_enumerate_names(ofproto.c) => enumerate_names(ofproto-dpif.c) =>
dp_enumerate_names(dpif.c) => enumerate(dpif-netdev.c)

For dpif_netdev_class, the enumerate function pointer is set to NULL. Thus
for the netdev-based
datapath, the names sset is still empty after calling
ofproto_enumerate_names. The ofproto_delete
will not be called at all.

Am I missing something?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20120516/85bf50e5/attachment-0003.html>


More information about the dev mailing list