From: Lars Ellenberg <lars.ellenberg@linbit.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, nicolas.dichtel@6wind.com,
philipp.reisner@linbit.com, linux-kernel@vger.kernel.org,
drbd-dev@lists.linbit.com
Subject: Re: [Drbd-dev] [PATCH net-next v3] block/drbd: align properly u64 in nl messages
Date: Tue, 10 May 2016 21:09:03 +0200 [thread overview]
Message-ID: <20160510190902.GF16459@soda.linbit> (raw)
In-Reply-To: <20160510.113949.2077250222547175741.davem@davemloft.net>
On Tue, May 10, 2016 at 11:39:49AM -0400, David Miller wrote:
> From: Lars Ellenberg <lars.ellenberg@linbit.com>
> Date: Tue, 10 May 2016 11:40:23 +0200
excuse me for reordering the original:
> Anyways, back to the topic, can you please just relent and come to
> some kind of agreement about the fix for this alignment bug?
I thought we did? I'm fine with the "v3",
it even carries my signed-of-by.
Whether or not Nicholas wants to prefix those headers with drbd_,
I don't really care.
> This is taking a very long time and patches are just rotting in
> patchwork with no resolution. Why would
Nicholas asked how to go about DRBD,
I suggested to use 0 as a padding attribute,
and after taking a detour, he did. All good.
Rest of original:
> > If we introduce a new config option,
> > we have to add it to the config scanner (one line),
> > define min, max, default and scale (four short defines),
> > and add it to the netlink definition here (one line).
> > Done, rest of the code is generated,
> > both on the kernel side,
> > and on the drbd-utils side used to talk to the kernel.
> > We found that to be very convenient.
>
> But it entirely misses the core design point of netlink.
>
> Sender and receive _DO NOT_ need to coordinate at all. That's the
> whole point. So tightly coupling such coordination is going to run
> you into all kinds of problems.
>
> When implemented properly, the sender can emit whatever attributes it
> knows about and can generate, and the receive scans the attributes one
> by one and picks out the ones it understands and processes them.
>
> If you go against this model
> then you have no clean way to
We don't.
We extend (not violate) that model, so the sender *may* indicate
to the recipient that for some particular attribute, the sender would
rather have an "I don't understand this" return than a silent ignore.
And that we can indicate in the definition of the attributes which ones
are required to make a message meaningful.
> extend things whilst allowing existing software to continue working.
*that* is exactly why we use netlink,
and why we do things with it the way we do.
Actually I think what we are doing there is, comparatively, "elegant".
You obviously don't have to agree.
I could discuss this in more detail,
but I assume you are not really interested,
at least not here and now.
Thanks,
Lars
WARNING: multiple messages have this Message-ID (diff)
From: Lars Ellenberg <lars.ellenberg@linbit.com>
To: David Miller <davem@davemloft.net>
Cc: nicolas.dichtel@6wind.com, netdev@vger.kernel.org,
philipp.reisner@linbit.com, drbd-dev@lists.linbit.com,
linux-kernel@vger.kernel.org
Subject: Re: [Drbd-dev] [PATCH net-next v3] block/drbd: align properly u64 in nl messages
Date: Tue, 10 May 2016 21:09:03 +0200 [thread overview]
Message-ID: <20160510190902.GF16459@soda.linbit> (raw)
In-Reply-To: <20160510.113949.2077250222547175741.davem@davemloft.net>
On Tue, May 10, 2016 at 11:39:49AM -0400, David Miller wrote:
> From: Lars Ellenberg <lars.ellenberg@linbit.com>
> Date: Tue, 10 May 2016 11:40:23 +0200
excuse me for reordering the original:
> Anyways, back to the topic, can you please just relent and come to
> some kind of agreement about the fix for this alignment bug?
I thought we did? I'm fine with the "v3",
it even carries my signed-of-by.
Whether or not Nicholas wants to prefix those headers with drbd_,
I don't really care.
> This is taking a very long time and patches are just rotting in
> patchwork with no resolution. Why would
Nicholas asked how to go about DRBD,
I suggested to use 0 as a padding attribute,
and after taking a detour, he did. All good.
Rest of original:
> > If we introduce a new config option,
> > we have to add it to the config scanner (one line),
> > define min, max, default and scale (four short defines),
> > and add it to the netlink definition here (one line).
> > Done, rest of the code is generated,
> > both on the kernel side,
> > and on the drbd-utils side used to talk to the kernel.
> > We found that to be very convenient.
>
> But it entirely misses the core design point of netlink.
>
> Sender and receive _DO NOT_ need to coordinate at all. That's the
> whole point. So tightly coupling such coordination is going to run
> you into all kinds of problems.
>
> When implemented properly, the sender can emit whatever attributes it
> knows about and can generate, and the receive scans the attributes one
> by one and picks out the ones it understands and processes them.
>
> If you go against this model
> then you have no clean way to
We don't.
We extend (not violate) that model, so the sender *may* indicate
to the recipient that for some particular attribute, the sender would
rather have an "I don't understand this" return than a silent ignore.
And that we can indicate in the definition of the attributes which ones
are required to make a message meaningful.
> extend things whilst allowing existing software to continue working.
*that* is exactly why we use netlink,
and why we do things with it the way we do.
Actually I think what we are doing there is, comparatively, "elegant".
You obviously don't have to agree.
I could discuss this in more detail,
but I assume you are not really interested,
at least not here and now.
Thanks,
Lars
WARNING: multiple messages have this Message-ID (diff)
From: Lars Ellenberg <lars.ellenberg-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org>
To: David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org,
philipp.reisner-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
drbd-dev-cunTk1MwBs8qoQakbn7OcQ@public.gmane.org
Subject: Re: [PATCH net-next v3] block/drbd: align properly u64 in nl messages
Date: Tue, 10 May 2016 21:09:03 +0200 [thread overview]
Message-ID: <20160510190902.GF16459@soda.linbit> (raw)
In-Reply-To: <20160510.113949.2077250222547175741.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
On Tue, May 10, 2016 at 11:39:49AM -0400, David Miller wrote:
> From: Lars Ellenberg <lars.ellenberg-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org>
> Date: Tue, 10 May 2016 11:40:23 +0200
excuse me for reordering the original:
> Anyways, back to the topic, can you please just relent and come to
> some kind of agreement about the fix for this alignment bug?
I thought we did? I'm fine with the "v3",
it even carries my signed-of-by.
Whether or not Nicholas wants to prefix those headers with drbd_,
I don't really care.
> This is taking a very long time and patches are just rotting in
> patchwork with no resolution. Why would
Nicholas asked how to go about DRBD,
I suggested to use 0 as a padding attribute,
and after taking a detour, he did. All good.
Rest of original:
> > If we introduce a new config option,
> > we have to add it to the config scanner (one line),
> > define min, max, default and scale (four short defines),
> > and add it to the netlink definition here (one line).
> > Done, rest of the code is generated,
> > both on the kernel side,
> > and on the drbd-utils side used to talk to the kernel.
> > We found that to be very convenient.
>
> But it entirely misses the core design point of netlink.
>
> Sender and receive _DO NOT_ need to coordinate at all. That's the
> whole point. So tightly coupling such coordination is going to run
> you into all kinds of problems.
>
> When implemented properly, the sender can emit whatever attributes it
> knows about and can generate, and the receive scans the attributes one
> by one and picks out the ones it understands and processes them.
>
> If you go against this model
> then you have no clean way to
We don't.
We extend (not violate) that model, so the sender *may* indicate
to the recipient that for some particular attribute, the sender would
rather have an "I don't understand this" return than a silent ignore.
And that we can indicate in the definition of the attributes which ones
are required to make a message meaningful.
> extend things whilst allowing existing software to continue working.
*that* is exactly why we use netlink,
and why we do things with it the way we do.
Actually I think what we are doing there is, comparatively, "elegant".
You obviously don't have to agree.
I could discuss this in more detail,
but I assume you are not really interested,
at least not here and now.
Thanks,
Lars
next prev parent reply other threads:[~2016-05-10 19:09 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-26 8:06 [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 1/8] macsec: use nla_put_u64_64bit() Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 2/8] drivers/wireless: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 3/8] fs/quota: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 11:08 ` Jan Kara
2016-04-26 11:08 ` Jan Kara
2016-04-26 11:08 ` [Drbd-dev] " Jan Kara
2016-04-26 12:31 ` Nicolas Dichtel
2016-04-26 12:31 ` Nicolas Dichtel
2016-04-26 12:31 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 12:37 ` Jan Kara
2016-04-26 12:37 ` Jan Kara
2016-04-26 12:37 ` [Drbd-dev] " Jan Kara
2016-04-26 16:24 ` David Miller
2016-04-26 8:06 ` [PATCH net-next 4/8] sock_diag: align nlattr properly when needed Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 5/8] ovs: " Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 6/8] rtnl: " Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 7/8] neigh: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 8/8] sched: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 11:54 ` [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) Lars Ellenberg
2016-04-26 11:54 ` Lars Ellenberg
2016-04-26 11:54 ` [Drbd-dev] " Lars Ellenberg
2016-04-26 12:18 ` Lars Ellenberg
2016-04-26 12:18 ` Lars Ellenberg
2016-05-03 8:50 ` [Drbd-dev] [PATCH net-next] block/drbd: use nla_put_u64_64bit() Nicolas Dichtel
2016-05-03 8:50 ` Nicolas Dichtel
2016-05-03 9:28 ` [Drbd-dev] " Nicolas Dichtel
2016-05-03 9:28 ` Nicolas Dichtel
2016-05-03 9:39 ` [Drbd-dev] [PATCH net-next v2] " Nicolas Dichtel
2016-05-03 9:39 ` Nicolas Dichtel
2016-05-03 10:06 ` [Drbd-dev] " Lars Ellenberg
2016-05-03 10:06 ` Lars Ellenberg
2016-05-03 10:06 ` Lars Ellenberg
2016-05-03 12:07 ` [Drbd-dev] " Nicolas Dichtel
2016-05-03 12:07 ` Nicolas Dichtel
2016-05-03 16:05 ` [Drbd-dev] " David Miller
2016-05-03 16:05 ` David Miller
2016-05-04 9:05 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 9:05 ` Lars Ellenberg
2016-05-04 9:05 ` Lars Ellenberg
2016-05-04 12:49 ` [Drbd-dev] " Nicolas Dichtel
2016-05-04 12:49 ` Nicolas Dichtel
2016-05-04 12:52 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 12:52 ` Lars Ellenberg
2016-05-04 12:52 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 14:27 ` Eric Dumazet
2016-05-04 14:27 ` Eric Dumazet
2016-05-04 16:50 ` [Drbd-dev] " David Miller
2016-05-04 16:50 ` David Miller
2016-05-04 17:13 ` [Drbd-dev] " Eric Dumazet
2016-05-04 17:13 ` Eric Dumazet
2016-05-04 16:47 ` David Miller
2016-05-03 16:06 ` [Drbd-dev] " David Miller
2016-05-03 16:06 ` David Miller
2016-05-09 9:40 ` [Drbd-dev] [PATCH net-next v3] block/drbd: align properly u64 in nl messages Nicolas Dichtel
2016-05-09 9:40 ` Nicolas Dichtel
2016-05-09 13:15 ` [Drbd-dev] " Lars Ellenberg
2016-05-09 13:15 ` Lars Ellenberg
2016-05-09 13:15 ` Lars Ellenberg
2016-05-10 9:09 ` [Drbd-dev] " Nicolas Dichtel
2016-05-10 9:09 ` Nicolas Dichtel
2016-05-10 9:09 ` Nicolas Dichtel
2016-05-10 9:40 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 9:40 ` Lars Ellenberg
2016-05-10 9:40 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 10:06 ` Nicolas Dichtel
2016-05-10 15:39 ` David Miller
2016-05-10 15:39 ` David Miller
2016-05-10 19:09 ` Lars Ellenberg [this message]
2016-05-10 19:09 ` Lars Ellenberg
2016-05-10 19:09 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 19:26 ` David Miller
2016-05-10 19:26 ` David Miller
2016-04-26 16:25 ` [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) David Miller
2016-04-26 16:25 ` David Miller
2016-04-26 16:25 ` [Drbd-dev] " David Miller
2016-04-26 16:02 ` David Miller
2016-04-26 16:02 ` David Miller
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=20160510190902.GF16459@soda.linbit \
--to=lars.ellenberg@linbit.com \
--cc=davem@davemloft.net \
--cc=drbd-dev@lists.linbit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=philipp.reisner@linbit.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 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.