Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys
Hi Christos
On 14/02/2021 20:58, Christos Zoulas wrote:
Module Name: src
Committed By: christos
Date: Sun Feb 14 20:58:35 UTC 2021
Modified Files:
src/sys/net: if_arp.h if_bridge.c
src/sys/netinet: icmp_private.h if_arp.c igmp_var.h in_l2tp.c ip_flow.c
ip_input.c ip_private.h tcp_input.c tcp_private.h udp_private.h
udp_usrreq.c
src/sys/netinet6: icmp6.c in6_l2tp.c ip6_flow.c ip6_input.c
ip6_private.h udp6_usrreq.c
src/sys/sys: mbuf.h param.h
Log Message:
- centralize header align and pullup into a single inline function
- use a single macro to align pointers and expose the alignment, instead
of hard-coding 3 in 1/2 the macros.
- fix an issue in the ipv6 lt2p where it was aligning for ipv4 and pulling
for ipv6.
-#ifdef __NO_STRICT_ALIGNMENT
-#define IP_HDR_ALIGNED_P(ip) 1
-#else
-#define IP_HDR_ALIGNED_P(ip) ((((vaddr_t) (ip)) & 3) == 0)
-#endif
+#define IP_HDR_ALIGNMENT 3
#endif /* _KERNEL */
While this is a like for like change, I feel that the meaning of
IP_HDR_ALIGNMENT is no longer clear as 3 without context makes no sense at all.
We know it should be aligned to 4 bytes.
I suggest we change POINTER_ALIGNED_P to accept the alignment value we want
rather than the bitwise test we supply, like so:
#define POINTER_ALIGNED_P(p, a) (((uintptr_t)(p) & ((a) - 1)) == 0)
Roy
Home |
Main Index |
Thread Index |
Old Index