Probable Bug in tcp.h
Bruce M. Simpson
bms at FreeBSD.org
Thu Jun 5 16:09:12 UTC 2008
Marc Lörner wrote:
> ..
> First of all I have the problam of misalignment of th_off. Because in this way
> always 4 bytes are read and the the bits of th_off are replaced. Then the 4
> bytes are written back.
>
> But should (th_x and th_off) not only be 1 byte in whole -> only read and
> write 1 byte?
>
Which machine architecture are you attempting to compile this code on?
On FreeBSD Tier 1 platforms, the access is probably going to come out of
L2 cache anyway, so the fields in question will be read by a burst cycle.
It is worth noting that NetBSD changed the base type of tcphdr's
bitfields to uint8_t, however this shuffles the compiler dependency into
the treatment of the "char" type. Most modern C compilers support
"unsigned char".
More information about the freebsd-net
mailing list