igb: support RX flow classification by VLAN priority
This patch is meant to allow for RX network flow classification to insert and remove VLAN priority filter by ethtool Example: Add an VLAN priority filter: $ ethtool -N eth0 flow-type ether vlan 0x6000 vlan-mask 0x1FFF action 2 loc 1 Show all filters: $ ethtool -n eth0 4 RX rings available Total 1 rules Filter: 1 Flow Type: Raw Ethernet Src MAC addr: 00:00:00:00:00:00 mask: FF:FF:FF:FF:FF:FF Dest MAC addr: 00:00:00:00:00:00 mask: FF:FF:FF:FF:FF:FF Ethertype: 0x0 mask: 0xFFFF VLAN EtherType: 0x0 mask: 0xffff VLAN: 0x6000 mask: 0x1fff User-defined: 0x0 mask: 0xffffffffffffffff Action: Direct to queue 2 Delete the filter by location: $ ethtool -N delete 1 Signed-off-by: Ruhao Gao <ruhao.gao@ni.com> Signed-off-by: Gangfeng Huang <gangfeng.huang@ni.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:

committato da
Jeff Kirsher

parent
64c75d41ac
commit
7a277a963b
@@ -368,6 +368,7 @@ struct hwmon_buff {
|
||||
|
||||
enum igb_filter_match_flags {
|
||||
IGB_FILTER_FLAG_ETHER_TYPE = 0x1,
|
||||
IGB_FILTER_FLAG_VLAN_TCI = 0x2,
|
||||
};
|
||||
|
||||
#define IGB_MAX_RXNFC_FILTERS 16
|
||||
@@ -377,9 +378,11 @@ struct igb_nfc_input {
|
||||
/* Byte layout in order, all values with MSB first:
|
||||
* match_flags - 1 byte
|
||||
* etype - 2 bytes
|
||||
* vlan_tci - 2 bytes
|
||||
*/
|
||||
u8 match_flags;
|
||||
__be16 etype;
|
||||
__be16 vlan_tci;
|
||||
};
|
||||
|
||||
struct igb_nfc_filter {
|
||||
|
Fai riferimento in un nuovo problema
Block a user