[ovs-dev] [PATCH 2/5] datapath: Use unicast Netlink sockets for upcalls.

Ben Pfaff blp at nicira.com
Thu Sep 22 05:28:11 UTC 2011


On Mon, Sep 19, 2011 at 03:00:05PM -0700, Jesse Gross wrote:
> Currently we publish several multicast groups for upcalls and let
> userspace sockets subscribe to them.  The benefit of this is mostly
> that userspace is the one doing the subscription - the actual
> multicast capability is not currently used and probably wouldn't be
> even if we moved to a multiprocess model.  Despite the convenience,
> multicast sockets have a number of disadvantages, primarily that
> we only have a limited number of them so there could be collisions.
> In addition, unicast sockets give additional flexibility to userspace
> by allowing every object to potentially have a different socket
> chosen by userspace for upcalls.  Finally, any future optimizations
> for upcalls to reduce copying will likely not be compatible with
> multicast anyways so disallowing it potentially simplifies things.
> 
> We also never unregistered the multicast groups registered for upcalls
> and leaked them on module unload.  As a side effect, this solves that
> problem.
> 
> Signed-off-by: Jesse Gross <jesse at nicira.com>

As a first thought: did you consider making the pid an argument to the
"send to userspace" action, as opposed to a property of the flow?

I haven't fully reviewed the patch yet.



More information about the dev mailing list