On Oct 14, 2014, at 8:32 AM, Sorin Vinturis <svintu...@cloudbasesolutions.com> wrote:
> In the ingress datapath the creation of a missed packet doesn't > need to be guarded by the dispatchLock. Same for the NBL context > initialization. > > In the OvsInjectPacketThroughActions function extracting flow > parameters (OvsExtractFlow) from the current packet doesn't need to > be guarded. Nor by the vports lock, nor by the datapath lock. I also > removed from the datapath lock the creation of the queue packet > (OvsCreateQueuePacket) in case the flow lookup fails. > > Also in the OvsGetNetdevCmdHandler function I have removed the > dispatchLock acquisition that guarded OvsGetExtInfoIoctl call, due > to the fact that the latter function uses the same lock to protect > vports handling. > > Signed-off-by: Sorin Vinturis <svintu...@cloudbasesolutions.com> > Reported-by: Samuel Ghinet <sghi...@cloudbasesolutions.com> > Reported-at: > https://urldefense.proofpoint.com/v1/url?u=https://github.com/openvswitch/ovs-issues/issues/19&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=ubrOpIWavCMqX4l4j1LEVpTfDj%2FD5Qyn8KCoJIBGvzo%3D%0A&m=4Q%2BYLZ%2B9%2FBAAr16GF8gZXIRzrZ3%2B7dAfnpZiljTmaKE%3D%0A&s=ae4a90bb15359b2364316d39db9f1959631db6a47c96992923199362c32115f9 hi Sorin, During packet processing, we want to hold on to the 'switchContext->dispatchLock' until this packet is processed. The reason being that, we don't want the source port nor any of the ports indicated as output ports by the flow to disappear. Some of the changes below will have to be reverted. Changes in User.c and Vport.c look good. You'll have to respin the changes in PacketIO.c and Tunnel.c thanks, -- Nithin _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev