[ovs-git] [openvswitch/ovs] 1061dc: dpif-netdev: Retrieve dpif_class from struct dp_ne...
noreply at github.com
Sun Dec 8 16:04:38 UTC 2019
Author: Ophir Munk <ophirmu at mellanox.com>
Date: 2019-12-08 (Sun, 08 Dec 2019)
dpif-netdev: Retrieve dpif_class from struct dp_netdev.
In case a pmd pointer (struct dp_netdev_pmd_thread *) needs to retrieve
the dpif_class it points at - it can access it as: pmd->dp->class. A
second option is to access it as: pmd->dp->dpif->dpif_class. The first
option is safe since there is one dp netdev with a constant pointer to
the dpif class. The second option is not safe since the pointer
pmd->dp->dpif may be changed under the hood, for example, in case there
is a call to dpif_open(). One such scenario is when a netdev bridge is
running while dumping flows statistics with dpctl in parallel:
ovs-appctl dpctl/dump-flows. This commit makes usage of the first
safe option instead of the second option.
Fixes: 30115809da2e ("dpif-netdev: Use netdev-offload API for port lookup while offloading")
Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
Signed-off-by: Ilya Maximets <i.maximets at ovn.org>
More information about the git