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: Jakub Kicinski <kuba@kernel.org> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
53db3e53e2
commit
40a98cb6f0
@@ -35,6 +35,7 @@
|
||||
#include <net/pkt_cls.h>
|
||||
#include <net/tc_act/tc_gact.h>
|
||||
#include <net/tc_act/tc_mirred.h>
|
||||
#include <net/udp_tunnel.h>
|
||||
#include <net/xdp_sock.h>
|
||||
#include "i40e_type.h"
|
||||
#include "i40e_prototype.h"
|
||||
@@ -133,7 +134,6 @@ enum i40e_state_t {
|
||||
__I40E_PORT_SUSPENDED,
|
||||
__I40E_VF_DISABLE,
|
||||
__I40E_MACVLAN_SYNC_PENDING,
|
||||
__I40E_UDP_FILTER_SYNC_PENDING,
|
||||
__I40E_TEMP_LINK_POLLING,
|
||||
__I40E_CLIENT_SERVICE_REQUESTED,
|
||||
__I40E_CLIENT_L2_CHANGE,
|
||||
@@ -478,8 +478,8 @@ struct i40e_pf {
|
||||
struct list_head l3_flex_pit_list;
|
||||
struct list_head l4_flex_pit_list;
|
||||
|
||||
struct i40e_udp_port_config udp_ports[I40E_MAX_PF_UDP_OFFLOAD_PORTS];
|
||||
u16 pending_udp_bitmap;
|
||||
struct udp_tunnel_nic_shared udp_tunnel_shared;
|
||||
struct udp_tunnel_nic_info udp_tunnel_nic;
|
||||
|
||||
struct hlist_head cloud_filter_list;
|
||||
u16 num_cloud_filters;
|
||||
|
Reference in New Issue
Block a user