Subject: Re: [PATCH net-next 1/1] net sched qdisc: pass netlink message flags in event notification

From: Roman Mashak <[email-masked]>
Date: Sat, 28 Oct 2017 23:36:41 -0400

Cong Wang <[email-masked]> writes:

> On Thu, Oct 26, 2017 at 2:40 PM, Roman Mashak <[email-masked]> wrote:
>> Userland client should be able to read an event, and reflect it back to
>> the kernel, therefore it needs to extract complete set of netlink flags.
>>
>> For example, this will allow "tc monitor" to distinguish Add and Replace
>> qdisc operations.
>>
>> Signed-off-by: Roman Mashak <[email-masked]>
>> ---
>>  net/sched/sch_api.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
>> index a9ac912..e3e29be 100644
>> --- a/net/sched/sch_api.c
>> +++ b/net/sched/sch_api.c
>> @@ -859,7 +859,7 @@ static int qdisc_notify(struct net *net, struct sk_buff *oskb,
>>         }
>>         if (new && !tc_qdisc_dump_ignore(new, false)) {
>>                 if (tc_fill_qdisc(skb, new, clid, portid, n->nlmsg_seq,
>> -                                 old ? NLM_F_REPLACE : 0, RTM_NEWQDISC) < 0)
>> +                                 n->nlmsg_flags, RTM_NEWQDISC) < 0)
>
>
> Don't you want to change the other tc_fill_qdisc() in the same function
> too? ;)

The other tc_fill_qdisc generates RTM_DELQDISC event, in that case
netlink flags for user don't matter.