Commit 40a98cb6 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

i40e: convert to new udp_tunnel infrastructure

Make use of the "shared port table" to convert i40e to the new
infra.

i40e did not have any reference tracking, locking is also dodgy
because rtnl gets released while talking to FW, so port may get
removed from the table while it's getting added etc.

On the good side i40e does not seem to be using the ports for
TX so we can remove the table from the driver state completely.
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 53db3e53
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <net/pkt_cls.h> #include <net/pkt_cls.h>
#include <net/tc_act/tc_gact.h> #include <net/tc_act/tc_gact.h>
#include <net/tc_act/tc_mirred.h> #include <net/tc_act/tc_mirred.h>
#include <net/udp_tunnel.h>
#include <net/xdp_sock.h> #include <net/xdp_sock.h>
#include "i40e_type.h" #include "i40e_type.h"
#include "i40e_prototype.h" #include "i40e_prototype.h"
...@@ -133,7 +134,6 @@ enum i40e_state_t { ...@@ -133,7 +134,6 @@ enum i40e_state_t {
__I40E_PORT_SUSPENDED, __I40E_PORT_SUSPENDED,
__I40E_VF_DISABLE, __I40E_VF_DISABLE,
__I40E_MACVLAN_SYNC_PENDING, __I40E_MACVLAN_SYNC_PENDING,
__I40E_UDP_FILTER_SYNC_PENDING,
__I40E_TEMP_LINK_POLLING, __I40E_TEMP_LINK_POLLING,
__I40E_CLIENT_SERVICE_REQUESTED, __I40E_CLIENT_SERVICE_REQUESTED,
__I40E_CLIENT_L2_CHANGE, __I40E_CLIENT_L2_CHANGE,
...@@ -478,8 +478,8 @@ struct i40e_pf { ...@@ -478,8 +478,8 @@ struct i40e_pf {
struct list_head l3_flex_pit_list; struct list_head l3_flex_pit_list;
struct list_head l4_flex_pit_list; struct list_head l4_flex_pit_list;
struct i40e_udp_port_config udp_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS]; struct udp_tunnel_nic_shared udp_tunnel_shared;
u16 pending_udp_bitmap; struct udp_tunnel_nic_info udp_tunnel_nic;
struct hlist_head cloud_filter_list; struct hlist_head cloud_filter_list;
u16 num_cloud_filters; u16 num_cloud_filters;
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment