[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3c72ac9e-12d6-0244-d380-5803607c1dae@mojatatu.com>
Date: Mon, 10 Sep 2018 08:25:45 -0400
From: Jamal Hadi Salim <jhs@...atatu.com>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: netdev@...r.kernel.org, Cong Wang <xiyou.wangcong@...il.com>,
Jiri Pirko <jiri@...nulli.us>,
Rahul Lakkireddy <rahul.lakkireddy@...lsio.com>,
Kumar A S <kumaras@...lsio.com>,
Sridhar Samudrala <sridhar.samudrala@...el.com>,
Alexander Duyck <alexander.h.duyck@...el.com>,
Amritha Nambiar <amritha.nambiar@...el.com>,
Jose.Abreu@...opsys.com, peppe.cavallaro@...com,
alexandre.torgue@...com,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>,
Anjali Singhai Jain <anjali.singhai@...el.com>
Subject: Offloaded u32 classifier tables WAS (Re: [PATCH net 00/13] cls_u32
cleanups and fixes.
On 2018-09-09 11:48 a.m., Al Viro wrote:
>
> BTW, shouldn't we issue u32_clear_hw_hnode() every time
> we destroy an hnode? It's done on u32_delete(), it's
> done (for root ht) on u32_destroy(), but it's not done
> for any other hnodes when you remove the entire (not shared)
> filter. Looks fishy...
>
What you are saying makes sense, but that doesnt seem
like a new thing.
All hardware offload examples I have seen use root tables
only[1]. So I am not sure if they use any other tables
although the intel hardware at least seems very capable.
Look at ixgbe_main.c for example. Theres an explicit assumption
that root is always 0x800 but oresence of
+Cc some of the NIC vendor folks..
cheers,
jamal
[1]
Here's a script posted by someone at Intel(Sridhar?) a while back
that adds 2 filters, one with skip-sw and the other with skip-hw
flag.
---
# add ingress qdisc
tc qdisc add dev p4p1 ingress
# enable hw tc offload.
ethtool -K p4p1 hw-tc-offload on
# add u32 filter with skip-sw flag.
tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
handle 800:0:1 u32 ht 800: flowid 800:1 \
skip-sw \
match ip src 192.168.1.0/24 \
action drop
# add u32 filter with skip-hw flag.
tc filter add dev p4p1 parent ffff: protocol ip prio 99 \
handle 800:0:2 u32 ht 800: flowid 800:2 \
skip-hw \
match ip src 192.168.2.0/24 \
action drop
----
Powered by blists - more mailing lists