[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <85o9ooo6g0.fsf@mojatatu.com>
Date: Mon, 30 Oct 2017 14:07:27 -0400
From: Roman Mashak <mrv@...atatu.com>
To: Cong Wang <xiyou.wangcong@...il.com>
Cc: David Miller <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...nulli.us>
Subject: Re: [PATCH net-next 1/1] net sched qdisc: pass netlink message flags in event notification
Cong Wang <xiyou.wangcong@...il.com> writes:
> On Sat, Oct 28, 2017 at 8:36 PM, Roman Mashak <mrv@...atatu.com> wrote:
>> Cong Wang <xiyou.wangcong@...il.com> writes:
>>
>>> On Thu, Oct 26, 2017 at 2:40 PM, Roman Mashak <mrv@...atatu.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 <mrv@...atatu.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?
Create is RTM_NEWQDISC and NLM_F_EXCL|NLM_F_CREATE, replacement is
RTM_NEWQDISC and NLM_F_REPLACE in netlink flags.
Powered by blists - more mailing lists