[ovs-dev] [PATCH] datapath: Fully initialize datapath before local port.

Ben Pfaff blp at nicira.com
Tue Sep 20 09:35:20 PDT 2011


On Mon, Sep 19, 2011 at 04:09:31PM -0700, Jesse Gross wrote:
> It's possible to start receiving packets on a datapath as soon as
> the internal device is created.  It's therefore important that the
> datapath be fully initialized before this, which it currently isn't.
> In particular, the fact that dp->stats_percpu is not yet set is
> potentially fatal.  In addition, if allocation of the Netlink response
> failed it would leak the percpu memory.  This fixes both problems.
> 
> Found by code inspection, in practice the datapath is probably always
> done initializing before someone can send a packet on it.
> 
> Signed-off-by: Jesse Gross <jesse at nicira.com>

"git am" says:

    /home/blp/db/.git/rebase-apply/patch:163: trailing whitespace.
	    free_percpu(dp->stats_percpu);
    warning: 1 line adds whitespace errors.

There's an existing instance of
vport_get_ifindex(get_vport_protected(dp, OVSP_LOCAL)) in
dp_fill_ifinfo().  I don't know whether you want to convert that one
to use get_dpifindex() or not.  The existing call should always get an
ifindex, but then so should most of the calls to get_dpifindex().

Acked-by: Ben Pfaff <blp at nicira.com>



More information about the dev mailing list