On Wed, 5 Oct 2016, Roy Marples wrote: > On 04/10/2016 23:06, Joerg Sonnenberger wrote: > > I'd like to addressing this by cutting down on the first set. For this > > purpose, I want to replace many of the __packed attributes in the > > current network headers with CTASSERT of the proper size, especially for > > those structs that are clearly not wire definitions by themselve. > > I tested the following structs without packed with the latest dhcpcd > trunk (not yet in NetBSD). > > ip > udphdr > arphdr > in_addr > nd_router_advert > nd_opt_hdr > nd_opt_prefix_info > nd_opt_mtu > nd_opt_rdnss > nd_opt_dnssl > > Works fine so far.
What platforms did you test it on? I recommend trying it on sparc64. That's one of the worst cases, being big-endian 64-bit with alignment constraints. And I recall some ABI (was it ARM?) has strange alignment restrictions on byte values. Eduardo