<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/net/pkt_cls.h, branch linux-5.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-5.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2019-05-07T19:23:40Z</updated>
<entry>
<title>net/sched: remove block pointer from common offload structure</title>
<updated>2019-05-07T19:23:40Z</updated>
<author>
<name>Pieter Jansen van Vuuren</name>
<email>pieter.jansenvanvuuren@netronome.com</email>
</author>
<published>2019-05-07T00:24:21Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d6787147e15dffa7b7f3116a5bc3cbe0670bd74f'/>
<id>urn:sha1:d6787147e15dffa7b7f3116a5bc3cbe0670bd74f</id>
<content type='text'>
Based on feedback from Jiri avoid carrying a pointer to the tcf_block
structure in the tc_cls_common_offload structure. Instead store
a flag in driver private data which indicates if offloads apply
to a shared block at block binding time.

Suggested-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: Pieter Jansen van Vuuren &lt;pieter.jansenvanvuuren@netronome.com&gt;
Reviewed-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/sched: add block pointer to tc_cls_common_offload structure</title>
<updated>2019-05-06T04:49:24Z</updated>
<author>
<name>Pieter Jansen van Vuuren</name>
<email>pieter.jansenvanvuuren@netronome.com</email>
</author>
<published>2019-05-04T11:46:25Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=88c44a5200849c8182eaf36535b4ceae6b90b19d'/>
<id>urn:sha1:88c44a5200849c8182eaf36535b4ceae6b90b19d</id>
<content type='text'>
Some actions like the police action are stateful and could share state
between devices. This is incompatible with offloading to multiple devices
and drivers might want to test for shared blocks when offloading.
Store a pointer to the tcf_block structure in the tc_cls_common_offload
structure to allow drivers to determine when offloads apply to a shared
block.

Signed-off-by: Pieter Jansen van Vuuren &lt;pieter.jansenvanvuuren@netronome.com&gt;
Reviewed-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/sched: extend matchall offload for hardware statistics</title>
<updated>2019-05-06T04:49:24Z</updated>
<author>
<name>Pieter Jansen van Vuuren</name>
<email>pieter.jansenvanvuuren@netronome.com</email>
</author>
<published>2019-05-04T11:46:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b7fe4ab8a6013c3c721bed91f73e76eec8fb5d89'/>
<id>urn:sha1:b7fe4ab8a6013c3c721bed91f73e76eec8fb5d89</id>
<content type='text'>
Introduce a new command for matchall classifiers that allows hardware
to update statistics.

Signed-off-by: Pieter Jansen van Vuuren &lt;pieter.jansenvanvuuren@netronome.com&gt;
Reviewed-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/sched: remove unused functions for matchall offload</title>
<updated>2019-05-06T04:49:24Z</updated>
<author>
<name>Pieter Jansen van Vuuren</name>
<email>pieter.jansenvanvuuren@netronome.com</email>
</author>
<published>2019-05-04T11:46:20Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=dfcb19f0fae3d07f9c56f6efe2c9bbebef6826c9'/>
<id>urn:sha1:dfcb19f0fae3d07f9c56f6efe2c9bbebef6826c9</id>
<content type='text'>
Cleanup unused functions and variables after porting to the newer
intermediate representation.

Signed-off-by: Pieter Jansen van Vuuren &lt;pieter.jansenvanvuuren@netronome.com&gt;
Reviewed-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/sched: use the hardware intermediate representation for matchall</title>
<updated>2019-05-06T04:49:23Z</updated>
<author>
<name>Pieter Jansen van Vuuren</name>
<email>pieter.jansenvanvuuren@netronome.com</email>
</author>
<published>2019-05-04T11:46:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f00cbf1968145afbae385a867a66c69845e30711'/>
<id>urn:sha1:f00cbf1968145afbae385a867a66c69845e30711</id>
<content type='text'>
Extends matchall offload to make use of the hardware intermediate
representation. More specifically, this patch moves the native TC
actions in cls_matchall offload to the newer flow_action
representation. This ultimately allows us to avoid a direct
dependency on native TC actions for matchall.

Signed-off-by: Pieter Jansen van Vuuren &lt;pieter.jansenvanvuuren@netronome.com&gt;
Reviewed-by: Jakub Kicinski &lt;jakub.kicinski@netronome.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sched: set dedicated tcf_walker flag when tp is empty</title>
<updated>2019-02-25T18:18:17Z</updated>
<author>
<name>Vlad Buslov</name>
<email>vladbu@mellanox.com</email>
</author>
<published>2019-02-25T15:38:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6676d5e416eecaf4e823a2c3903aa132ffc2ede0'/>
<id>urn:sha1:6676d5e416eecaf4e823a2c3903aa132ffc2ede0</id>
<content type='text'>
Using tcf_walker-&gt;stop flag to determine when tcf_walker-&gt;fn() was called
at least once is unreliable. Some classifiers set 'stop' flag on error
before calling walker callback, other classifiers used to call it with NULL
filter pointer when empty. In order to prevent further regressions, extend
tcf_walker structure with dedicated 'nonempty' flag. Set this flag in
tcf_walker-&gt;fn() implementation that is used to check if classifier has
filters configured.

Fixes: 8b64678e0af8 ("net: sched: refactor tp insert/delete for concurrent execution")
Signed-off-by: Vlad Buslov &lt;vladbu@mellanox.com&gt;
Suggested-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net_sched: initialize net pointer inside tcf_exts_init()</title>
<updated>2019-02-22T23:26:51Z</updated>
<author>
<name>Cong Wang</name>
<email>xiyou.wangcong@gmail.com</email>
</author>
<published>2019-02-21T05:37:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=14215108a1fd7e002c0a1f9faf8fbaf41fdda50d'/>
<id>urn:sha1:14215108a1fd7e002c0a1f9faf8fbaf41fdda50d</id>
<content type='text'>
For tcindex filter, it is too late to initialize the
net pointer in tcf_exts_validate(), as tcf_exts_get_net()
requires a non-NULL net pointer. We can just move its
initialization into tcf_exts_init(), which just requires
an additional parameter.

This makes the code in tcindex_alloc_perfect_hash()
prettier.

Cc: Jamal Hadi Salim &lt;jhs@mojatatu.com&gt;
Cc: Jiri Pirko &lt;jiri@resnulli.us&gt;
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sched: extend proto ops to support unlocked classifiers</title>
<updated>2019-02-12T18:41:33Z</updated>
<author>
<name>Vlad Buslov</name>
<email>vladbu@mellanox.com</email>
</author>
<published>2019-02-11T08:55:45Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=12db03b65c2b90752e4c37666977fd4a1b5f5824'/>
<id>urn:sha1:12db03b65c2b90752e4c37666977fd4a1b5f5824</id>
<content type='text'>
Add 'rtnl_held' flag to tcf proto change, delete, destroy, dump, walk
functions to track rtnl lock status. Extend users of these function in cls
API to propagate rtnl lock status to them. This allows classifiers to
obtain rtnl lock when necessary and to pass rtnl lock status to extensions
and driver offload callbacks.

Add flags field to tcf proto ops. Add flag value to indicate that
classifier doesn't require rtnl lock.

Signed-off-by: Vlad Buslov &lt;vladbu@mellanox.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sched: track rtnl lock status when validating extensions</title>
<updated>2019-02-12T18:41:33Z</updated>
<author>
<name>Vlad Buslov</name>
<email>vladbu@mellanox.com</email>
</author>
<published>2019-02-11T08:55:43Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ec6743a10996d38e0438e5f45f2347ff2f42df0a'/>
<id>urn:sha1:ec6743a10996d38e0438e5f45f2347ff2f42df0a</id>
<content type='text'>
Actions API is already updated to not rely on rtnl lock for
synchronization. However, it need to be provided with rtnl status when
called from classifiers API in order to be able to correctly release the
lock when loading kernel module.

Extend extension validation function with 'rtnl_held' flag which is passed
to actions API. Add new 'rtnl_held' parameter to tcf_exts_validate() in cls
API. No classifier is currently updated to support unlocked execution, so
pass hardcoded 'true' flag parameter value.

Signed-off-by: Vlad Buslov &lt;vladbu@mellanox.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sched: traverse classifiers in chain with tcf_get_next_proto()</title>
<updated>2019-02-12T18:41:33Z</updated>
<author>
<name>Vlad Buslov</name>
<email>vladbu@mellanox.com</email>
</author>
<published>2019-02-11T08:55:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=fe2923afc12490e92237d23fc0b29f31da72a4f9'/>
<id>urn:sha1:fe2923afc12490e92237d23fc0b29f31da72a4f9</id>
<content type='text'>
All users of chain-&gt;filters_chain rely on rtnl lock and assume that no new
classifier instances are added when traversing the list. Use
tcf_get_next_proto() to traverse filters list without relying on rtnl
mutex. This function iterates over classifiers by taking reference to
current iterator classifier only and doesn't assume external
synchronization of filters list.

Signed-off-by: Vlad Buslov &lt;vladbu@mellanox.com&gt;
Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
