diff options
author | Yan Burman <yanb@mellanox.com> | 2012-12-11 21:13:17 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-12-12 13:02:30 -0500 |
commit | d4676eac0de2e6d88eb3e2c02b4e9813d7d7f205 (patch) | |
tree | b5e2cc7511674c905d743ba9f7b6d56bcd55e387 /include/uapi/linux/ethtool.h | |
parent | cfd567543590f71ca0af397437e2554f9756d750 (diff) |
net: ethtool: Add destination MAC address to flow steering API
Add ability to specify destination MAC address for L3/L4 flow spec
in order to be able to specify action for different VM's under vSwitch
configuration. This change is transparent to older userspace.
Signed-off-by: Yan Burman <yanb@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/uapi/linux/ethtool.h')
-rw-r--r-- | include/uapi/linux/ethtool.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h index d3eaaaf1009e..be8c41e2dc15 100644 --- a/include/uapi/linux/ethtool.h +++ b/include/uapi/linux/ethtool.h | |||
@@ -500,13 +500,15 @@ union ethtool_flow_union { | |||
500 | struct ethtool_ah_espip4_spec esp_ip4_spec; | 500 | struct ethtool_ah_espip4_spec esp_ip4_spec; |
501 | struct ethtool_usrip4_spec usr_ip4_spec; | 501 | struct ethtool_usrip4_spec usr_ip4_spec; |
502 | struct ethhdr ether_spec; | 502 | struct ethhdr ether_spec; |
503 | __u8 hdata[60]; | 503 | __u8 hdata[52]; |
504 | }; | 504 | }; |
505 | 505 | ||
506 | struct ethtool_flow_ext { | 506 | struct ethtool_flow_ext { |
507 | __be16 vlan_etype; | 507 | __u8 padding[2]; |
508 | __be16 vlan_tci; | 508 | unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ |
509 | __be32 data[2]; | 509 | __be16 vlan_etype; |
510 | __be16 vlan_tci; | ||
511 | __be32 data[2]; | ||
510 | }; | 512 | }; |
511 | 513 | ||
512 | /** | 514 | /** |
@@ -1027,6 +1029,7 @@ enum ethtool_sfeatures_retval_bits { | |||
1027 | #define ETHER_FLOW 0x12 /* spec only (ether_spec) */ | 1029 | #define ETHER_FLOW 0x12 /* spec only (ether_spec) */ |
1028 | /* Flag to enable additional fields in struct ethtool_rx_flow_spec */ | 1030 | /* Flag to enable additional fields in struct ethtool_rx_flow_spec */ |
1029 | #define FLOW_EXT 0x80000000 | 1031 | #define FLOW_EXT 0x80000000 |
1032 | #define FLOW_MAC_EXT 0x40000000 | ||
1030 | 1033 | ||
1031 | /* L3-L4 network traffic flow hash options */ | 1034 | /* L3-L4 network traffic flow hash options */ |
1032 | #define RXH_L2DA (1 << 1) | 1035 | #define RXH_L2DA (1 << 1) |