On Wed, Oct 09, 2013 at 04:08:58PM -0700, Ethan Jackson wrote:
> None of the functions available in ofproto-dpif.h are thread safe
> unless holding the xlate_rwlock because one can't know that an ofproto
> or ofport used as argument will survive during the function call.  For
> this reason, ofproto-dpif-upcall's invocation of rule_dpif_lookup()
> is unsafe because the ofproto could be destroyed during the call.
> 
> This patch fixes the problem by optionally doing the initial rule
> lookup in xlate_actions() so that it can be done while holding the
> xlate_rwlock.  This has the nice side benefit of removing a bunch of
> boilerplate.
> 
> Note that this only partially solves the problem, there's still
> vsp_realdev_to_vlandev() and ofproto_dpif_send_packet_in() which
> aren't thread safe for the same reason.
> 
> Signed-off-by: Ethan Jackson <et...@nicira.com>

Acked-by: Ben Pfaff <b...@nicira.com>
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to