[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <CE942916-BF45-44CC-A5F5-3838CF9C93BC@danrl.com>
Date: Sat, 10 Dec 2016 23:18:14 +0100
From: Dan Lüdtke <mail@...rl.com>
To: Daniel Kahn Gillmor <dkg@...thhorseman.net>
Cc: Hannes Frederic Sowa <hannes@...essinduktion.org>,
"Jason A. Donenfeld" <Jason@...c4.com>,
Netdev <netdev@...r.kernel.org>, linux-mips@...ux-mips.org,
LKML <linux-kernel@...r.kernel.org>,
WireGuard mailing list <wireguard@...ts.zx2c4.com>
Subject: Re: Misalignment, MIPS, and ip_hdr(skb)->version
> On 8 Dec 2016, at 05:34, Daniel Kahn Gillmor <dkg@...thhorseman.net> wrote:
>
> On Wed 2016-12-07 19:30:34 -0500, Hannes Frederic Sowa wrote:
>> Your custom protocol should be designed in a way you get an aligned ip
>> header. Most protocols of the IETF follow this mantra and it is always
>> possible to e.g. pad options so you end up on aligned boundaries for the
>> next header.
>
> fwiw, i'm not convinced that "most protocols of the IETF follow this
> mantra". we've had multiple discussions in different protocol groups
> about shaving or bloating by a few bytes here or there in different
> protocols, and i don't think anyone has brought up memory alignment as
> an argument in any of the discussions i've followed.
>
If the trade-off is between 1 padding byte and 2 byte alignment versus 3 padding bytes and 4 byte alignment I would definitely opt for 3 padding bytes. I know how that waste feels like to a protocol designer, but I think it is worth it. Maybe the padding/reserved will be useful some day for an additional feature.
I remember alignment being discussed and taken very seriously in 6man a couple of times. Often, though, protocol designers did align without much discussion. Implementing unaligned protocols is a pain I've experienced first hand.
Powered by blists - more mailing lists