On Thu, Apr 03, 2014 at 05:47:04PM -0700, Pravin Shelar wrote:
> On Thu, Apr 3, 2014 at 2:41 PM, Ben Pfaff <b...@nicira.com> wrote:
> > I don't like seeing this as a global variable.  Can it be per-datapath
> > (probably set using a new provider callback function)?
> >
> There can be only one definition of this callback thats why I defined
> it as global.
> I am fine defining it as member of dpif.

Thanks.

> > Did you look for races as ofprotos and datapaths are created and
> > destroyed?  Before this series, an ofproto upcall thread could only
> > process a packet when it was in a state where it expected it, and it
> > is not obvious at a glance that this is still true when a callback can
> > be issued asynchronously at any moment.
> >
> dpif-netdev checks for callback data pointer if that is set then only
> it can call the callback function. so I think it is safe.

OK.

> > In the short term, while we're developing the DPDK code, I think that
> > having an alternate interface like this to packet misses is OK.  But
> > in the long term, I don't really like having two different interfaces
> > to the same functionality, that is, two ways to get misses and other
> > packets from a dpif to the code that consumes it.  Do you think that
> > it will be possible to use callbacks exclusively, instead of sometimes
> > callbacks and sometimes queues, and then delete the bits of the
> > interface that support queuing?
> 
> At this point of time dpif-linux and dpif-netdev have very different
> requirements for miss handling. dpif-linux need to batch upcalls as
> much as possible to efficiently lookup, execute and install flow. for
> dpif-netdev we just need lookup flow.
> 
> Let me think if there is way to unify miss-call handling.

OK.  We don't have to have it immediately, but I want to encourage
thinking about it.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to