> From: netdev-ow...@vger.kernel.org [mailto:netdev- > ow...@vger.kernel.org] On Behalf Of Vinicius Costa Gomes > Sent: Tuesday, April 10, 2018 10:50 AM > To: intel-wired-...@lists.osuosl.org > Cc: Gomes, Vinicius <vinicius.go...@intel.com>; Kirsher, Jeffrey T > <jeffrey.t.kirs...@intel.com>; netdev@vger.kernel.org; Sanchez-Palencia, > Jesus <jesus.sanchez-palen...@intel.com> > Subject: [next-queue PATCH v7 10/10] igb: Add support for adding offloaded > clsflower filters > > This allows filters added by tc-flower and specifying MAC addresses, > Ethernet types, and the VLAN priority field, to be offloaded to the > controller. > > This reuses most of the infrastructure used by ethtool, but clsflower > filters are kept in a separated list, so they are invisible to > ethtool. > > To setup clsflower offloading: > > $ tc qdisc replace dev eth0 handle 100: parent root mqprio \ > num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \ > queues 1@0 1@1 2@2 hw 0 > (clsflower offloading depends on the netword driver to be configured > with multiple traffic classes, we use mqprio's 'num_tc' parameter to > set it to 3) > > $ tc qdisc add dev eth0 ingress > > Examples of filters: > > $ tc filter add dev eth0 parent ffff: flower \ > dst_mac aa:aa:aa:aa:aa:aa \ > hw_tc 2 skip_sw > (just a simple filter filtering for the destination MAC address and > steering that traffic to queue 2) > > $ tc filter add dev enp2s0 parent ffff: proto 0x22f0 flower \ > src_mac cc:cc:cc:cc:cc:cc \ > hw_tc 1 skip_sw > (as the i210 doesn't support steering traffic based on the source > address alone, we need to use another steering traffic, in this case > we are using the ethernet type (0x22f0) to steer traffic to queue 1) > > Signed-off-by: Vinicius Costa Gomes <vinicius.go...@intel.com> > --- > drivers/net/ethernet/intel/igb/igb.h | 2 + > drivers/net/ethernet/intel/igb/igb_main.c | 188 > +++++++++++++++++++++- > 2 files changed, 188 insertions(+), 2 deletions(-)
Tested by: Aaron Brown <aaron.f.br...@intel.com>