> From: [email protected] [mailto:netdev- > [email protected]] On Behalf Of Vinicius Costa Gomes > Sent: Tuesday, April 10, 2018 10:50 AM > To: [email protected] > Cc: Gomes, Vinicius <[email protected]>; Kirsher, Jeffrey T > <[email protected]>; [email protected]; Sanchez-Palencia, > Jesus <[email protected]> > 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 <[email protected]> > --- > 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 <[email protected]>
