]> git.proxmox.com Git - ovs.git/commit
dpif-netdev: Use netdev-offload API for port lookup while offloading.
authorIlya Maximets <i.maximets@ovn.org>
Fri, 22 Nov 2019 15:09:14 +0000 (16:09 +0100)
committerIlya Maximets <i.maximets@ovn.org>
Mon, 2 Dec 2019 15:06:57 +0000 (16:06 +0100)
commit30115809da2e263c286319e4d6002baa679ca988
tree5b54304ceb0901ae8069c5123afcf1c4bdda473c
parent89ee730a60e9cd0e70c0f1a748ef0abc2a4ebed9
dpif-netdev: Use netdev-offload API for port lookup while offloading.

Currently, while offloading, userspace datapath tries to lookup netdev
in a local port list of the datapath interface instance.  However,
there is no guarantee that these netdevs are the same netdevs that
netdev-offload module operates with and, as a result, there is no any
guarantee that these netdev instances has initialized flow API.

dpif-netdev should request ports from the netdev-offload module as
intended by flow offloading API in a same way as dpif-netlink does.
This will also give us performance benefits because we don't need to
hold global port mutex anymore.

We're not noticing any significant issues with current code, but
it will become a serious issue in the future, e.g. with offloading
for virtual tunneling ports.

Reported-by: Ophir Munk <ophirmu@mellanox.com>
Fixes: 241bad15d99a ("dpif-netdev: associate flow with a mark id")
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Acked-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Eli Britstein <elibr@mellanox.com>
lib/dpif-netdev.c