Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-03 Thread Petr Machata
Cong Wang writes: > I imagine we could introduce multiple blocks for a qdisc. Yes, and that's what the patchset does. If you look at struct tcf_qevent, it is just some block bookkeeping and an attribute name. > Currently we have: > > struct some_qdisc_data { > struct tcf_block *block; > };

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-03 Thread Cong Wang
On Mon, Jun 1, 2020 at 11:05 PM Jiri Pirko wrote: > > Mon, Jun 01, 2020 at 09:50:23PM CEST, xiyou.wangc...@gmail.com wrote: > >On Mon, Jun 1, 2020 at 6:40 AM Jiri Pirko wrote: > >> The first command just says "early drop position should be processed by > >> block 10" > >> > >> The second command

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Jiri Pirko
Mon, Jun 01, 2020 at 09:50:23PM CEST, xiyou.wangc...@gmail.com wrote: >On Mon, Jun 1, 2020 at 6:40 AM Jiri Pirko wrote: >> The first command just says "early drop position should be processed by >> block 10" >> >> The second command just adds a filter to the block 10. > >This is exactly why it loo

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Petr Machata
Cong Wang writes: > On Mon, Jun 1, 2020 at 6:40 AM Jiri Pirko wrote: >> The first command just says "early drop position should be processed by >> block 10" >> >> The second command just adds a filter to the block 10. > This is exactly why it looks odd to me, because it _reads_ like > 'tc qdi

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Cong Wang
On Sat, May 30, 2020 at 1:55 AM Petr Machata wrote: > > > Cong Wang writes: > > > On Thu, May 28, 2020 at 2:48 AM Petr Machata wrote: > >> So you propose to have further division within the block? To have sort > >> of namespaces within blocks or chains, where depending on the context, > >> only

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Cong Wang
On Mon, Jun 1, 2020 at 6:40 AM Jiri Pirko wrote: > The first command just says "early drop position should be processed by > block 10" > > The second command just adds a filter to the block 10. This is exactly why it looks odd to me, because it _reads_ like 'tc qdisc' creates the block to hold tc

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Jiri Pirko
Wed, May 27, 2020 at 06:09:03AM CEST, xiyou.wangc...@gmail.com wrote: >On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: >> >> The Spectrum hardware allows execution of one of several actions as a >> result of queue management events: tail-dropping, early-dropping, marking a >> packet, or passi

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-06-01 Thread Jiri Pirko
Thu, May 28, 2020 at 11:48:50AM CEST, pe...@mellanox.com wrote: > >Cong Wang writes: > >> On Wed, May 27, 2020 at 2:56 AM Petr Machata wrote: >>> >>> >>> Cong Wang writes: >>> >>> > On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: >>> >> >>> >> The Spectrum hardware allows execution of one

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-30 Thread Petr Machata
Cong Wang writes: > On Thu, May 28, 2020 at 2:48 AM Petr Machata wrote: >> So you propose to have further division within the block? To have sort >> of namespaces within blocks or chains, where depending on the context, >> only filters in the corresponding namespace are executed? > > What I su

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-29 Thread Cong Wang
On Thu, May 28, 2020 at 2:48 AM Petr Machata wrote: > So you propose to have further division within the block? To have sort > of namespaces within blocks or chains, where depending on the context, > only filters in the corresponding namespace are executed? What I suggest is to let filters (or ch

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-28 Thread Petr Machata
Cong Wang writes: > On Wed, May 27, 2020 at 2:56 AM Petr Machata wrote: >> >> >> Cong Wang writes: >> >> > On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: >> >> >> >> The Spectrum hardware allows execution of one of several actions as a >> >> result of queue management events: tail-drop

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-27 Thread Cong Wang
On Wed, May 27, 2020 at 2:56 AM Petr Machata wrote: > > > Cong Wang writes: > > > On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: > >> > >> The Spectrum hardware allows execution of one of several actions as a > >> result of queue management events: tail-dropping, early-dropping, marking a

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-27 Thread Petr Machata
Vladimir Oltean writes: > I only took a cursory glance at your patches. Can these "qevents" be > added to code outside of the packet scheduler, like to the bridge, for > example? Or can the bridge mark the packets somehow, and then any > generic qdisc be able to recognize this mark without spec

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-27 Thread Vladimir Oltean
Hi Petr, On Tue, 26 May 2020 at 20:11, Petr Machata wrote: > > The Spectrum hardware allows execution of one of several actions as a > result of queue management events: tail-dropping, early-dropping, marking a > packet, or passing a configured latency threshold or buffer size. Such > packets can

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-27 Thread Petr Machata
Cong Wang writes: > On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: >> >> The Spectrum hardware allows execution of one of several actions as a >> result of queue management events: tail-dropping, early-dropping, marking a >> packet, or passing a configured latency threshold or buffer siz

Re: [RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-26 Thread Cong Wang
On Tue, May 26, 2020 at 10:11 AM Petr Machata wrote: > > The Spectrum hardware allows execution of one of several actions as a > result of queue management events: tail-dropping, early-dropping, marking a > packet, or passing a configured latency threshold or buffer size. Such > packets can be mir

[RFC PATCH net-next 0/3] TC: Introduce qevents

2020-05-26 Thread Petr Machata
The Spectrum hardware allows execution of one of several actions as a result of queue management events: tail-dropping, early-dropping, marking a packet, or passing a configured latency threshold or buffer size. Such packets can be mirrored, trapped, or sampled. Modeling the action to be taken as