From: Hangbin Liu <liuhangbin@gmail.com>
To: David Ahern <dsahern@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>,
netdev@vger.kernel.org, Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>,
Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Subject: Re: [PATCHv2 net-next] sched: multicast sched extack messages
Date: Fri, 23 Dec 2022 10:35:48 +0800 [thread overview]
Message-ID: <Y6UUBJQI6tIwn9tH@Laptop-X1> (raw)
In-Reply-To: <de4920b8-366b-0336-ddc2-46cb40e00dbb@kernel.org>
On Thu, Dec 22, 2022 at 09:26:14AM -0700, David Ahern wrote:
> On 12/22/22 12:48 AM, Hangbin Liu wrote:
> > On Wed, Dec 21, 2022 at 05:28:17PM -0800, Jakub Kicinski wrote:
> >> On Wed, 21 Dec 2022 17:39:40 +0800 Hangbin Liu wrote:
> >>> + nlh = nlmsg_put(skb, portid, n->nlmsg_seq, NLMSG_ERROR, sizeof(*errmsg),
> >>> + NLM_F_ACK_TLVS | NLM_F_CAPPED);
> >>> + if (!nlh)
> >>> + return -1;
> >>> +
> >>> + errmsg = (struct nlmsgerr *)nlmsg_data(nlh);
> >>> + errmsg->error = 0;
> >>> + errmsg->msg = *n;
> >>> +
> >>> + if (nla_put_string(skb, NLMSGERR_ATTR_MSG, extack->_msg))
> >>> + return -1;
> >>> +
> >>> + nlmsg_end(skb, nlh);
> >>
> >> I vote "no", notifications should not generate NLMSG_ERRORs.
> >> (BTW setting pid and seq on notifications is odd, no?)
> >
> > I'm not sure if this error message should be counted to notifications generation.
> > The error message is generated as there is extack message, which is from
> > qdisc/filter adding/deleting.
> >
> > Can't we multicast error message?
> >
> > If we can't multicast the extack message via NLMSG_ERROR or NLMSG_DONE. I
> > think there is no other way to do it via netlink.
> >
>
> it is confusing as an API to send back information or debugging strings
> marked as an "error message."
>
I think it's OK to send back information with error message. Based on rfc3549,
An error code of zero indicates that the message is an ACK response.
An ACK response message contains the original Netlink message header,
which can be used to compare against (sent sequence numbers, etc).
I tried to do it on netlink_ack[1]. But Jakub pointed that the message ids
are not same families. So I moved it to net/sched.
I think the argue point is, can we multicast the error message?
[1] https://lore.kernel.org/all/Y4W9qEHzg5h9n%2Fod@Laptop-X1/
Thanks
Hangbin
next prev parent reply other threads:[~2022-12-23 2:36 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-21 9:39 [PATCHv2 net-next] sched: multicast sched extack messages Hangbin Liu
2022-12-22 1:28 ` Jakub Kicinski
2022-12-22 7:48 ` Hangbin Liu
2022-12-22 16:26 ` David Ahern
2022-12-23 2:35 ` Hangbin Liu [this message]
2022-12-26 16:31 ` Jamal Hadi Salim
2022-12-27 3:58 ` Hangbin Liu
2022-12-27 16:23 ` Jamal Hadi Salim
2022-12-28 8:41 ` Hangbin Liu
2022-12-31 13:48 ` Jamal Hadi Salim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y6UUBJQI6tIwn9tH@Laptop-X1 \
--to=liuhangbin@gmail.com \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=marcelo.leitner@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox