On Tue, Oct 21, 2014 at 04:10:39PM -0700, Nithin Raju wrote: > In this patch, we add support in dpif-netlink.c to receive packets on > Windows. Windows does not natively support epoll(). Even though there > are mechanisms/interfaces that provide functionality similar to epoll(), > we take a simple approach of using a pool of sockets. > > Here are some details of the implementaion to aid review: > 1. There's pool of sockets per upcall handler. > 2. The pool of sockets is initialized while setting up the handler in > dpif_netlink_refresh_channels() primarily. > 3. When sockets are to be allocated for a vport, we walk through the > pool of sockets for all handlers and pick one of the sockets in each of > the pool. Within a handler's pool, sockets are picked in a round-robin > fashion. > 4. We currently support only 1 handler, since there are some kernel > changes needed for support more than 1 handler per vport. > 5. The pool size is also set to 1 currently. > > The restructions imposed by #4 and #5 can be removed in the future > without much code churn. > > Validation: > 1. With a hacked up kernel which figures out the netlink socket that is > designated to receive packets, we are cable to perform pings between 2 > VMs on the same Hyper-V host. > 2. Compiled the code in Linux as well. > > Signed-off-by: Nithin Raju <nit...@vmware.com>
I'm going to defer looking at this one because it uses the macro added in patch 1 that I commented on. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev