Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-13 Thread Eric Dumazet
On Thu, 2016-10-13 at 09:54 -0400, David Miller wrote:
> Applied, thanks Eric.
> 
> Want me to queue this up for -stable too?

No thanks, it just occurred to me during a debugging session.




Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-13 Thread David Miller
From: Eric Dumazet 
Date: Sun, 09 Oct 2016 20:25:55 -0700

> From: Eric Dumazet 
> 
> There are two ways to get tc filters from kernel to user space.
> 
> 1) Full dump (tc_dump_tfilter())
> 2) RTM_GETTFILTER to get one precise filter, reducing overhead.
> 
> The second operation is unfortunately broadcasting its result,
> polluting "tc monitor" users.
> 
> This patch makes sure only the requester gets the result, using
> netlink_unicast() instead of rtnetlink_send()
> 
> Jamal cooked an iproute2 patch to implement "tc filter get" operation,
> but other user space libraries already use RTM_GETTFILTER when a single
> filter is queried, instead of dumping all filters.
> 
> Signed-off-by: Eric Dumazet 

Applied, thanks Eric.

Want me to queue this up for -stable too?


Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-13 Thread Jamal Hadi Salim

On 16-10-13 03:46 AM, Eric Dumazet wrote:

On Wed, 2016-10-12 at 09:36 -0700, Cong Wang wrote:

On Sun, Oct 9, 2016 at 8:25 PM, Eric Dumazet  wrote:

+   if (unicast)
+   return netlink_unicast(net->rtnl, skb, portid, MSG_DONTWAIT);


Nit: rtnl_unicast() is simpler.


I copied code in rtnetlink_send(), I guess we could use rtnl_unicast()
there as well.


I would toss a coin and if it lands on tail then make the change ;->
(probably in a separate patch).

cheers,
jamal



Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-13 Thread Eric Dumazet
On Wed, 2016-10-12 at 09:36 -0700, Cong Wang wrote:
> On Sun, Oct 9, 2016 at 8:25 PM, Eric Dumazet  wrote:
> > +   if (unicast)
> > +   return netlink_unicast(net->rtnl, skb, portid, 
> > MSG_DONTWAIT);
> 
> Nit: rtnl_unicast() is simpler.

I copied code in rtnetlink_send(), I guess we could use rtnl_unicast()
there as well.






Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-12 Thread Cong Wang
On Sun, Oct 9, 2016 at 8:25 PM, Eric Dumazet  wrote:
> +   if (unicast)
> +   return netlink_unicast(net->rtnl, skb, portid, MSG_DONTWAIT);

Nit: rtnl_unicast() is simpler.


Re: [PATCH net] net_sched: do not broadcast RTM_GETTFILTER result

2016-10-10 Thread Jamal Hadi Salim

On 16-10-09 11:25 PM, Eric Dumazet wrote:

From: Eric Dumazet 

There are two ways to get tc filters from kernel to user space.

1) Full dump (tc_dump_tfilter())
2) RTM_GETTFILTER to get one precise filter, reducing overhead.

The second operation is unfortunately broadcasting its result,
polluting "tc monitor" users.

This patch makes sure only the requester gets the result, using
netlink_unicast() instead of rtnetlink_send()

Jamal cooked an iproute2 patch to implement "tc filter get" operation,
but other user space libraries already use RTM_GETTFILTER when a single
filter is queried, instead of dumping all filters.

Signed-off-by: Eric Dumazet 


Acked-by: Jamal Hadi Salim 

I will send the iproute2 patch

cheers,
jamal