From: Jiri Pirko <jiri@resnulli.us>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
pablo@netfilter.org, Jamal Hadi Salim <jhs@mojatatu.com>,
Jiri Benc <jbenc@redhat.com>,
David Ahern <dsa@cumulusnetworks.com>,
Johannes Berg <johannes.berg@intel.com>
Subject: Re: [PATCH net-next v5 3/5] netlink: allow sending extended ACK with cookie on success
Date: Wed, 12 Apr 2017 15:47:09 +0200 [thread overview]
Message-ID: <20170412134709.GF1952@nanopsycho> (raw)
In-Reply-To: <20170412123408.22012-4-johannes@sipsolutions.net>
Wed, Apr 12, 2017 at 02:34:06PM CEST, johannes@sipsolutions.net wrote:
>From: Johannes Berg <johannes.berg@intel.com>
>
>Now that we have extended error reporting and a new message format
>for netlink ACK messages, also extend this to be able to return
>arbitrary cookie data on success.
>
>This will allow, for example, nl80211 to not send an extra message
>for cookies identifying newly created objects, but return those
>directly in the ACK message.
>
>The cookie data size is currently limited to 20 bytes (since Jamal
>talked about using SHA1 for identifiers.)
>
>Thanks to Jamal Hadi Salim for bringing up this idea during the
>discussions.
>
>Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
[...]
>diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
>index 7df88770e029..f86127a46cfc 100644
>--- a/include/uapi/linux/netlink.h
>+++ b/include/uapi/linux/netlink.h
>@@ -122,6 +122,9 @@ struct nlmsgerr {
> * @NLMSGERR_ATTR_MSG: error message string (string)
> * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original
> * message, counting from the beginning of the header (u32)
>+ * @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to
>+ * be used - in the success case - to identify a created
>+ * object or operation or similar (binary)
> * @__NLMSGERR_ATTR_MAX: number of attributes
> * @NLMSGERR_ATTR_MAX: highest attribute number
> */
>@@ -129,6 +132,7 @@ enum nlmsgerr_attrs {
> NLMSGERR_ATTR_UNUSED,
> NLMSGERR_ATTR_MSG,
> NLMSGERR_ATTR_OFFS,
>+ NLMSGERR_ATTR_COOKIE,
>
> __NLMSGERR_ATTR_MAX,
> NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1
>diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
>index c1564768000e..ee841f00a6ec 100644
>--- a/net/netlink/af_netlink.c
>+++ b/net/netlink/af_netlink.c
>@@ -2311,6 +2311,10 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err,
> }
> } else {
> flags |= NLM_F_CAPPED;
>+
>+ if (nlk->flags & NETLINK_F_EXT_ACK &&
>+ extack && extack->cookie_len)
>+ tlvlen += nla_total_size(extack->cookie_len);
> }
>
Now I see why you have "if (tlvlen)" where you have it :)
> if (tlvlen)
WARNING: multiple messages have this Message-ID (diff)
From: Jiri Pirko <jiri-rHqAuBHg3fBzbRFIqnYvSA@public.gmane.org>
To: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
pablo-Cap9r6Oaw4JrovVCs/uTlw@public.gmane.org,
Jamal Hadi Salim <jhs-jkUAjuhPggJWk0Htik3J/w@public.gmane.org>,
Jiri Benc <jbenc-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
David Ahern
<dsa-qUQiAmfTcIp+XZJcv9eMoEEOCMrvLtNR@public.gmane.org>,
Johannes Berg
<johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH net-next v5 3/5] netlink: allow sending extended ACK with cookie on success
Date: Wed, 12 Apr 2017 15:47:09 +0200 [thread overview]
Message-ID: <20170412134709.GF1952@nanopsycho> (raw)
In-Reply-To: <20170412123408.22012-4-johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
Wed, Apr 12, 2017 at 02:34:06PM CEST, johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org wrote:
>From: Johannes Berg <johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
>
>Now that we have extended error reporting and a new message format
>for netlink ACK messages, also extend this to be able to return
>arbitrary cookie data on success.
>
>This will allow, for example, nl80211 to not send an extra message
>for cookies identifying newly created objects, but return those
>directly in the ACK message.
>
>The cookie data size is currently limited to 20 bytes (since Jamal
>talked about using SHA1 for identifiers.)
>
>Thanks to Jamal Hadi Salim for bringing up this idea during the
>discussions.
>
>Signed-off-by: Johannes Berg <johannes.berg-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Jiri Pirko <jiri-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
[...]
>diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
>index 7df88770e029..f86127a46cfc 100644
>--- a/include/uapi/linux/netlink.h
>+++ b/include/uapi/linux/netlink.h
>@@ -122,6 +122,9 @@ struct nlmsgerr {
> * @NLMSGERR_ATTR_MSG: error message string (string)
> * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original
> * message, counting from the beginning of the header (u32)
>+ * @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to
>+ * be used - in the success case - to identify a created
>+ * object or operation or similar (binary)
> * @__NLMSGERR_ATTR_MAX: number of attributes
> * @NLMSGERR_ATTR_MAX: highest attribute number
> */
>@@ -129,6 +132,7 @@ enum nlmsgerr_attrs {
> NLMSGERR_ATTR_UNUSED,
> NLMSGERR_ATTR_MSG,
> NLMSGERR_ATTR_OFFS,
>+ NLMSGERR_ATTR_COOKIE,
>
> __NLMSGERR_ATTR_MAX,
> NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1
>diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
>index c1564768000e..ee841f00a6ec 100644
>--- a/net/netlink/af_netlink.c
>+++ b/net/netlink/af_netlink.c
>@@ -2311,6 +2311,10 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err,
> }
> } else {
> flags |= NLM_F_CAPPED;
>+
>+ if (nlk->flags & NETLINK_F_EXT_ACK &&
>+ extack && extack->cookie_len)
>+ tlvlen += nla_total_size(extack->cookie_len);
> }
>
Now I see why you have "if (tlvlen)" where you have it :)
> if (tlvlen)
next prev parent reply other threads:[~2017-04-12 13:47 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-12 12:34 [PATCH net-next v5 0/5] netlink extended ACK reporting Johannes Berg
2017-04-12 12:34 ` [PATCH net-next v5 1/5] netlink: " Johannes Berg
2017-04-12 13:41 ` Jiri Pirko
2017-04-12 13:41 ` Jiri Pirko
2017-04-12 15:06 ` David Ahern
2017-04-12 15:13 ` Jiri Pirko
2017-04-12 15:13 ` Jiri Pirko
2017-04-12 15:28 ` David Miller
2017-04-12 15:21 ` Johannes Berg
2017-04-12 15:30 ` David Miller
2017-04-12 15:30 ` David Miller
2017-04-12 15:32 ` David Ahern
2017-04-12 15:32 ` David Ahern
2017-04-12 12:34 ` [PATCH net-next v5 2/5] genetlink: pass extended ACK report down Johannes Berg
2017-04-12 14:01 ` Jiri Pirko
2017-04-12 12:34 ` [PATCH net-next v5 3/5] netlink: allow sending extended ACK with cookie on success Johannes Berg
2017-04-12 13:47 ` Jiri Pirko [this message]
2017-04-12 13:47 ` Jiri Pirko
2017-04-12 13:54 ` Johannes Berg
2017-04-12 12:34 ` [PATCH net-next v5 4/5] netlink: pass extended ACK struct to parsing functions Johannes Berg
2017-04-12 12:34 ` Johannes Berg
2017-04-12 13:17 ` Jiri Pirko
2017-04-12 13:20 ` Johannes Berg
2017-04-12 13:20 ` Johannes Berg
2017-04-12 13:24 ` Jiri Pirko
2017-04-12 14:02 ` Kalle Valo
2017-04-12 14:08 ` Jiri Pirko
2017-04-12 13:56 ` Jiri Pirko
2017-04-12 13:56 ` Jiri Pirko
2017-04-12 12:34 ` [PATCH net-next v5 5/5] netlink: pass extended ACK struct where available Johannes Berg
2017-04-12 12:34 ` Johannes Berg
2017-04-12 14:00 ` Jiri Pirko
2017-04-12 14:55 ` David Ahern
2017-04-12 14:55 ` David Ahern
2017-04-12 15:15 ` Jiri Pirko
2017-04-12 15:29 ` David Miller
2017-04-12 14:57 ` [PATCH net-next v5 0/5] netlink extended ACK reporting David Ahern
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=20170412134709.GF1952@nanopsycho \
--to=jiri@resnulli.us \
--cc=dsa@cumulusnetworks.com \
--cc=jbenc@redhat.com \
--cc=jhs@mojatatu.com \
--cc=johannes.berg@intel.com \
--cc=johannes@sipsolutions.net \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pablo@netfilter.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.