Commit 82067281 authored by Hadar Hen Zion's avatar Hadar Hen Zion Committed by David S. Miller

net/mlx4_en: Manage flow steering rules with ethtool

Implement the ethtool APIs for attaching L2/L3/L4 based flow steering
rules to the netdevice RX rings. Added set_rxnfc callback and enhanced
the existing get_rxnfc callback.
Signed-off-by: default avatarHadar Hen Zion <hadarh@mellanox.co.il>
Signed-off-by: default avatarAmir Vadai <amirv@mellanox.com>
Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 592e49dd
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
#define STAMP_SHIFT 31 #define STAMP_SHIFT 31
#define STAMP_VAL 0x7fffffff #define STAMP_VAL 0x7fffffff
#define STATS_DELAY (HZ / 4) #define STATS_DELAY (HZ / 4)
#define MAX_NUM_OF_FS_RULES 256
/* Typical TSO descriptor with 16 gather entries is 352 bytes... */ /* Typical TSO descriptor with 16 gather entries is 352 bytes... */
#define MAX_DESC_SIZE 512 #define MAX_DESC_SIZE 512
...@@ -435,6 +436,11 @@ struct mlx4_en_frag_info { ...@@ -435,6 +436,11 @@ struct mlx4_en_frag_info {
#endif #endif
struct ethtool_flow_id {
struct ethtool_rx_flow_spec flow_spec;
u64 id;
};
struct mlx4_en_priv { struct mlx4_en_priv {
struct mlx4_en_dev *mdev; struct mlx4_en_dev *mdev;
struct mlx4_en_port_profile *prof; struct mlx4_en_port_profile *prof;
...@@ -444,6 +450,7 @@ struct mlx4_en_priv { ...@@ -444,6 +450,7 @@ struct mlx4_en_priv {
struct net_device_stats ret_stats; struct net_device_stats ret_stats;
struct mlx4_en_port_state port_state; struct mlx4_en_port_state port_state;
spinlock_t stats_lock; spinlock_t stats_lock;
struct ethtool_flow_id ethtool_rules[MAX_NUM_OF_FS_RULES];
unsigned long last_moder_packets[MAX_RX_RINGS]; unsigned long last_moder_packets[MAX_RX_RINGS];
unsigned long last_moder_tx_packets; unsigned long last_moder_tx_packets;
......
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