diff options
author | Sergei Antonov <saproj@gmail.com> | 2023-01-18 20:52:18 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-02-02 14:44:53 -0500 |
commit | 9bc80c0bc028a1658502eea02af2c1f26456c6b2 (patch) | |
tree | 1ec31a76dd16db5984331663aed37ce6f0a292ba /include/net6.h | |
parent | 7db25d99b21ae7b2a04153a93afe7692c86992ac (diff) | |
download | u-boot-9bc80c0bc028a1658502eea02af2c1f26456c6b2.tar.gz |
net: ipv6: fix alignment errors on ARM
Commands "ping6" and "tftpboot ... -ipv6" did not work on ARM because
machine code expects 4-byte alignment and some structures from net6.h
are not aligned in memory.
Fix by adding __packed, since it is already used in this file.
Signed-off-by: Sergei Antonov <saproj@gmail.com>
Reviewed-by: Viacheslav Mitrofanov <v.v.mitrofanov@yadro.com>
Diffstat (limited to 'include/net6.h')
-rw-r--r-- | include/net6.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/net6.h b/include/net6.h index 9b3de028e6..2d7c5a0960 100644 --- a/include/net6.h +++ b/include/net6.h @@ -24,7 +24,7 @@ struct in6_addr { #define s6_addr in6_u.u6_addr8 #define s6_addr16 in6_u.u6_addr16 #define s6_addr32 in6_u.u6_addr32 -}; +} __packed; #define IN6ADDRSZ sizeof(struct in6_addr) #define INETHADDRSZ sizeof(net_ethaddr) @@ -62,7 +62,7 @@ struct ip6_hdr { u8 hop_limit; struct in6_addr saddr; struct in6_addr daddr; -}; +} __packed; #define IP6_HDR_SIZE (sizeof(struct ip6_hdr)) /* struct udp_hdr - User Datagram Protocol header */ @@ -164,7 +164,7 @@ struct icmp6hdr { #define icmp6_addrconf_managed icmp6_dataun.u_nd_ra.managed #define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other #define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime -}; +} __packed; extern struct in6_addr const net_null_addr_ip6; /* NULL IPv6 address */ extern struct in6_addr net_gateway6; /* Our gateways IPv6 address */ |