GNRC 802.15.4 maximum payload length

Hello, I work with the Iot-Lab M3 nodes (protocol 802.15.4) and would like to know what is maximum payload length (minimum header length) in data frame? I can currently send a frame with a payload of 116 bytes. Can this value be increased? Which header fields are opional and which must be set? I use GNRC stack. Thank you in advance. Kind regards, Janna

Hello Janna,

Hello, I work with the Iot-Lab M3 nodes (protocol 802.15.4) and would like to know what is maximum payload length (minimum header length) in data frame? I can currently send a frame with a payload of 116 bytes. Can this value be increased? Which header fields are opional and which must be set? I use GNRC stack.

Theres not much more to squeeze out of the 15.4 header. Are you using the short address, or long address form? Using the short address form, you would end up with a 15.4. header of: 2B (frame control) + 1B (Seq. No.) + 2*2B (src+dst address) + 2B (src/dst PAN ID) + 2B (CRC at the end) = 11 Bytes. I assume that's why you are able to send 116 octets, because 116 + 11 = 127 and thus the physical limit of 15.4.

From your question, I gather that your application uses 15.4. directly, without any 6LoWPAN in between? Using UDP on 6LoWPAN would give you the link fragmentation of 6LoWPAN. From your application's view, you are then able to send larger packets, which get fragmented / reassembled at the lower layer. Without 6LoWPAN, your application will need to employ its own fragmentation.

Cheers, Cenk

Yes, I use a short address. Thank You for the answer, it helped me a lot. With kind regards, Janna