1414#define _LINUX_ETHTOOL_H
1515
1616#include <linux/types.h>
17+ #include <linux/if_ether.h>
1718
1819/* This should work for both 32 and 64 bit userland. */
1920struct ethtool_cmd {
@@ -391,6 +392,7 @@ struct ethtool_rx_flow_spec {
391392 struct ethtool_ah_espip4_spec ah_ip4_spec ;
392393 struct ethtool_ah_espip4_spec esp_ip4_spec ;
393394 struct ethtool_usrip4_spec usr_ip4_spec ;
395+ struct ethhdr ether_spec ;
394396 __u8 hdata [72 ];
395397 } h_u , m_u ;
396398 __u64 ring_cookie ;
@@ -483,6 +485,7 @@ struct ethtool_rx_ntuple_flow_spec {
483485 struct ethtool_ah_espip4_spec ah_ip4_spec ;
484486 struct ethtool_ah_espip4_spec esp_ip4_spec ;
485487 struct ethtool_usrip4_spec usr_ip4_spec ;
488+ struct ethhdr ether_spec ;
486489 __u8 hdata [72 ];
487490 } h_u , m_u ;
488491
@@ -841,7 +844,7 @@ struct ethtool_ops {
841844#define WAKE_MAGIC (1 << 5)
842845#define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */
843846
844- /* L3 -L4 network traffic flow types */
847+ /* L2 -L4 network traffic flow types */
845848#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
846849#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
847850#define SCTP_V4_FLOW 0x03 /* hash or spec (sctp_ip4_spec) */
@@ -857,6 +860,7 @@ struct ethtool_ops {
857860#define IP_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
858861#define IPV4_FLOW 0x10 /* hash only */
859862#define IPV6_FLOW 0x11 /* hash only */
863+ #define ETHER_FLOW 0x12 /* spec only (ether_spec) */
860864
861865/* L3-L4 network traffic flow hash options */
862866#define RXH_L2DA (1 << 1)
0 commit comments