Netdev Archive on lore.kernel.org
 help / color / Atom feed
* Re: [RFC] Packet pacing (offload) for flow-aggregates and forwarding use-cases
       [not found] <d3d764d5-8eb6-59f9-cd3b-815de0258dbc@mellanox.com>
@ 2020-03-24 19:26 ` Eric Dumazet
  2020-03-26 14:42   ` Yossi Kuperman
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Dumazet @ 2020-03-24 19:26 UTC (permalink / raw)
  To: Yossi Kuperman, netdev, Jamal Hadi Salim, Jiri Pirko; +Cc: Rony Efraim



On 3/24/20 12:05 PM, Yossi Kuperman wrote:
> Hello,
> 
>  
> 
> We would like to support a forwarding use-case in which flows are classified and paced
> 
> according to the selected class. For example, a packet arrives at the ingress hook of interface
> 
> eth0,  performing a sequence of filters and being redirected to interface eth1. Pacing takes
> 
> place at the egress qdisc of eth1.
> 
>  
> 
> FQ queuing discipline is classless and cannot provide such functionality. Each flow is
> 
> paced independently, and different pacing is only configurable via a socket-option—less
> 
> suitable for forwarding  use-case.
> 
>  
> 
> It is worth noting that although this functionality might be implemented by stacking multiple
> 
> queuing disciplines, it will be very difficult to offload to hardware.
> 
>  
> 
> We propose introducing yet another classful qdisc, where the user can specify in advance the
> 
> desired classes (i.e. pacing) and provide filters to classify flows accordingly. Similar to other
> 
> qdiscs, if skb->priority is already set, we can skip the classification; useful for forwarding
> 
> use-case, as the user can set the priority field in ingress. Works nicely with OVS/TC.
> 
>  
> 
> Any thoughts please?
> 

Why not using HTB for this typical use case ?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] Packet pacing (offload) for flow-aggregates and forwarding use-cases
  2020-03-24 19:26 ` [RFC] Packet pacing (offload) for flow-aggregates and forwarding use-cases Eric Dumazet
@ 2020-03-26 14:42   ` Yossi Kuperman
  2020-04-06 20:26     ` Yossi Kuperman
  0 siblings, 1 reply; 3+ messages in thread
From: Yossi Kuperman @ 2020-03-26 14:42 UTC (permalink / raw)
  To: Eric Dumazet, netdev, Jamal Hadi Salim, Jiri Pirko; +Cc: Rony Efraim


On 24/03/2020 21:26, Eric Dumazet wrote:
>
> On 3/24/20 12:05 PM, Yossi Kuperman wrote:
>> Hello,
>>
>>  
>>
>> We would like to support a forwarding use-case in which flows are classified and paced
>>
>> according to the selected class. For example, a packet arrives at the ingress hook of interface
>>
>> eth0,  performing a sequence of filters and being redirected to interface eth1. Pacing takes
>>
>> place at the egress qdisc of eth1.
>>
>>  
>>
>> FQ queuing discipline is classless and cannot provide such functionality. Each flow is
>>
>> paced independently, and different pacing is only configurable via a socket-option—less
>>
>> suitable for forwarding  use-case.
>>
>>  
>>
>> It is worth noting that although this functionality might be implemented by stacking multiple
>>
>> queuing disciplines, it will be very difficult to offload to hardware.
>>
>>  
>>
>> We propose introducing yet another classful qdisc, where the user can specify in advance the
>>
>> desired classes (i.e. pacing) and provide filters to classify flows accordingly. Similar to other
>>
>> qdiscs, if skb->priority is already set, we can skip the classification; useful for forwarding
>>
>> use-case, as the user can set the priority field in ingress. Works nicely with OVS/TC.
>>
>>  
>>
>> Any thoughts please?
>>
> Why not using HTB for this typical use case ?


As far as I understand HTB is meant for rate-limiting, is the implementation fine-grained enough to support pacing

as well?



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] Packet pacing (offload) for flow-aggregates and forwarding use-cases
  2020-03-26 14:42   ` Yossi Kuperman
@ 2020-04-06 20:26     ` Yossi Kuperman
  0 siblings, 0 replies; 3+ messages in thread
From: Yossi Kuperman @ 2020-04-06 20:26 UTC (permalink / raw)
  To: Eric Dumazet, netdev, Jamal Hadi Salim, Jiri Pirko; +Cc: Rony Efraim


On 26/03/2020 16:42, Yossi Kuperman wrote:
> On 24/03/2020 21:26, Eric Dumazet wrote:
>> On 3/24/20 12:05 PM, Yossi Kuperman wrote:
>>> Hello,
>>>
>>>  
>>>
>>> We would like to support a forwarding use-case in which flows are classified and paced
>>>
>>> according to the selected class. For example, a packet arrives at the ingress hook of interface
>>>
>>> eth0,  performing a sequence of filters and being redirected to interface eth1. Pacing takes
>>>
>>> place at the egress qdisc of eth1.
>>>
>>>  
>>>
>>> FQ queuing discipline is classless and cannot provide such functionality. Each flow is
>>>
>>> paced independently, and different pacing is only configurable via a socket-option—less
>>>
>>> suitable for forwarding  use-case.
>>>
>>>  
>>>
>>> It is worth noting that although this functionality might be implemented by stacking multiple
>>>
>>> queuing disciplines, it will be very difficult to offload to hardware.
>>>
>>>  
>>>
>>> We propose introducing yet another classful qdisc, where the user can specify in advance the
>>>
>>> desired classes (i.e. pacing) and provide filters to classify flows accordingly. Similar to other
>>>
>>> qdiscs, if skb->priority is already set, we can skip the classification; useful for forwarding
>>>
>>> use-case, as the user can set the priority field in ingress. Works nicely with OVS/TC.
>>>
>>>  
>>>
>>> Any thoughts please?
>>>
>> Why not using HTB for this typical use case ?
>
> As far as I understand HTB is meant for rate-limiting, is the implementation fine-grained enough to support pacing
>
> as well?
>
Hi Eric, I'm not sure if HTB also performs pacing (similarly to FQ), can you please comment on that?


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <d3d764d5-8eb6-59f9-cd3b-815de0258dbc@mellanox.com>
2020-03-24 19:26 ` [RFC] Packet pacing (offload) for flow-aggregates and forwarding use-cases Eric Dumazet
2020-03-26 14:42   ` Yossi Kuperman
2020-04-06 20:26     ` Yossi Kuperman

Netdev Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/netdev/0 netdev/git/0.git
	git clone --mirror https://lore.kernel.org/netdev/1 netdev/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 netdev netdev/ https://lore.kernel.org/netdev \
		netdev@vger.kernel.org
	public-inbox-index netdev

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.netdev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git