On Sat, Oct 28, 2017 at 8:36 PM, Roman Mashak <m...@mojatatu.com> wrote:
> Cong Wang <xiyou.wangc...@gmail.com> writes:
>
>> On Thu, Oct 26, 2017 at 2:40 PM, Roman Mashak <m...@mojatatu.com> 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 <m...@mojatatu.com>
>>> ---
>>>  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.

Hmm, I thought you use RTM_NEWQDISC+RTM_DELQDISC to
determine it is replacement, no?

Reply via email to