igc: Integrate flex filter into ethtool ops
authorKurt Kanzenbach <kurt@linutronix.de>
Tue, 29 Jun 2021 04:43:29 +0000 (21:43 -0700)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 16 Jul 2021 21:07:33 +0000 (14:07 -0700)
commit2b477d057e3364c22e8f86724c798ad664bd8360
tree3b2d2cc58bd85cbe50b127dd20c6276dec21c3bd
parent6574631b50edf8fd88e3bb9155c6a89746779562
igc: Integrate flex filter into ethtool ops

Use the flex filter mechanism to extend the current ethtool filter
operations by intercoperating the user data. This allows to match
eight more bytes within a Ethernet frame in addition to macs, ether
types and vlan.

The matching pattern looks like this:

 * dest_mac [6]
 * src_mac [6]
 * tpid [2]
 * vlan tci [2]
 * ether type [2]
 * user data [8]

This can be used to match Profinet traffic classes by FrameID range.

Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Dvora Fuxbrumer <dvorax.fuxbrumer@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc.h
drivers/net/ethernet/intel/igc/igc_defines.h
drivers/net/ethernet/intel/igc/igc_ethtool.c
drivers/net/ethernet/intel/igc/igc_main.c