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