diff options
Diffstat (limited to 'net/batman-adv/packet.h')
-rw-r--r-- | net/batman-adv/packet.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/net/batman-adv/packet.h b/net/batman-adv/packet.h index 5e3b1026b509..aa46c2778ad8 100644 --- a/net/batman-adv/packet.h +++ b/net/batman-adv/packet.h @@ -249,6 +249,33 @@ struct batadv_unicast_4addr_packet { */ }; +/** + * struct batadv_frag_packet - fragmented packet + * @header: common batman packet header with type, compatversion, and ttl + * @dest: final destination used when routing fragments + * @orig: originator of the fragment used when merging the packet + * @no: fragment number within this sequence + * @reserved: reserved byte for alignment + * @seqno: sequence identification + * @total_size: size of the merged packet + */ +struct batadv_frag_packet { + struct batadv_header header; +#if defined(__BIG_ENDIAN_BITFIELD) + uint8_t no:4; + uint8_t reserved:4; +#elif defined(__LITTLE_ENDIAN_BITFIELD) + uint8_t reserved:4; + uint8_t no:4; +#else +#error "unknown bitfield endianess" +#endif + uint8_t dest[ETH_ALEN]; + uint8_t orig[ETH_ALEN]; + __be16 seqno; + __be16 total_size; +}; + struct batadv_bcast_packet { struct batadv_header header; uint8_t reserved; |