On Wednesday 07 November 2012 20:17:08 Sven Eckelmann wrote:
On Wednesday 07 November 2012 20:11:33 Antonio Quartulli wrote:
quoted
+/**
+ * struct batadv_unicast_4addr_packet - extended unicast packet
+ * @u: common unicast packet header
+ * @src: address of the source
+ * @subtype: packet subtype
+ */
+struct batadv_unicast_4addr_packet {
+ struct batadv_unicast_packet u;
+ uint8_t src[ETH_ALEN];
+ uint8_t subtype;
+ uint8_t reserved;
+ /* "4 bytes boundary + 2 bytes" long to make the payload after the
+ * following ethernet header again 4 bytes boundary aligned
+ */
+};
This doesn't work as you think. Now you have 2 extra padding bytes at the
end of the batadv_unicast_4addr_packet and therefore make the payload (IPv4
header..) after the following ethernet header again wrongly aligned.
Sry, my fault. Mixed it up with another packed which had a __be32 included
(batadv_bcast_packet).
Kind regards,
Sven