lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <753ea732-2016-36b7-bcc3-4536fa5cd6a4@blackwall.org> Date: Mon, 29 May 2023 16:18:55 +0300 From: Nikolay Aleksandrov <razor@...ckwall.org> To: Ido Schimmel <idosch@...dia.com>, netdev@...r.kernel.org, bridge@...ts.linux-foundation.org Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com, edumazet@...gle.com, taras.chornyi@...ision.eu, saeedm@...dia.com, leon@...nel.org, petrm@...dia.com, vladimir.oltean@....com, claudiu.manoil@....com, alexandre.belloni@...tlin.com, UNGLinuxDriver@...rochip.com, jhs@...atatu.com, xiyou.wangcong@...il.com, jiri@...nulli.us, roopa@...dia.com, simon.horman@...igine.com Subject: Re: [PATCH net-next v2 3/8] net/sched: flower: Allow matching on layer 2 miss On 29/05/2023 14:48, Ido Schimmel wrote: > Add the 'TCA_FLOWER_L2_MISS' netlink attribute that allows user space to > match on packets that encountered a layer 2 miss. The miss indication is > set as metadata in the tc skb extension by the bridge driver upon FDB or > MDB lookup miss and dissected by the flow dissector to the > 'FLOW_DISSECTOR_KEY_META' key. > > The use of this skb extension is guarded by the 'tc_skb_ext_tc' static > key. As such, enable / disable this key when filters that match on layer > 2 miss are added / deleted. > > Tested: > > # cat tc_skb_ext_tc.py > #!/usr/bin/env -S drgn -s vmlinux > > refcount = prog["tc_skb_ext_tc"].key.enabled.counter.value_() > print(f"tc_skb_ext_tc reference count is {refcount}") > > # ./tc_skb_ext_tc.py > tc_skb_ext_tc reference count is 0 > > # tc filter add dev swp1 egress proto all handle 101 pref 1 flower src_mac 00:11:22:33:44:55 action drop > # tc filter add dev swp1 egress proto all handle 102 pref 2 flower src_mac 00:11:22:33:44:55 l2_miss true action drop > # tc filter add dev swp1 egress proto all handle 103 pref 3 flower src_mac 00:11:22:33:44:55 l2_miss false action drop > > # ./tc_skb_ext_tc.py > tc_skb_ext_tc reference count is 2 > > # tc filter replace dev swp1 egress proto all handle 102 pref 2 flower src_mac 00:01:02:03:04:05 l2_miss false action drop > > # ./tc_skb_ext_tc.py > tc_skb_ext_tc reference count is 2 > > # tc filter del dev swp1 egress proto all handle 103 pref 3 flower > # tc filter del dev swp1 egress proto all handle 102 pref 2 flower > # tc filter del dev swp1 egress proto all handle 101 pref 1 flower > > # ./tc_skb_ext_tc.py > tc_skb_ext_tc reference count is 0 > > Signed-off-by: Ido Schimmel <idosch@...dia.com> > --- > > Notes: > v2: > * Split flow_dissector changes to a previous patch. > * Use tc skb extension instead of 'skb->l2_miss'. > > include/uapi/linux/pkt_cls.h | 2 ++ > net/sched/cls_flower.c | 30 ++++++++++++++++++++++++++++-- > 2 files changed, 30 insertions(+), 2 deletions(-) Reviewed-by: Nikolay Aleksandrov <razor@...ckwall.org>
Powered by blists - more mailing lists