tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: "Wire" definitions and __packed
On Oct 5, 10:15pm, Roy Marples wrote:
} On Wednesday 05 October 2016 17:10:28 Eduardo Horvath wrote:
} > 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.
}
} i386/amd64 only right now.
X86 doesn't have alignment restrictions. The platform
practically lets you get away with murder, and thus is not useful
as a test platform.
} I'll test on mips64-eb tomorrow.
} Sadly my sparc64 is dead, the network card reports an unspecified hardware
} address.
Traditionally, sparc boxes got their network MAC address
programmed by a value specified in CMOS RAM. This likely means
that the CMOS battery is dead.
}-- End of excerpt from Roy Marples
Home |
Main Index |
Thread Index |
Old Index