ieee802154: handle datagram variables as u16
authorAlexander Aring <alex.aring@gmail.com>
Thu, 1 Oct 2015 06:03:06 +0000 (08:03 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 1 Oct 2015 11:38:22 +0000 (13:38 +0200)
commit5f509239eccc9d118d3474a22e78b3da1ceefe02
treec844c9e2538af12aec5911c6705818d7cac76028
parente98d6d6203552ebd1e80ac17de857547efa37fba
ieee802154: handle datagram variables as u16

This reverts commit 9abc378c66e3d6f437eed77c1c534cbc183523f7
("ieee802154: 6lowpan: change datagram var types").

The reason is that I forgot the IPv6 fragmentation here. Our MTU of
lowpan interface is 1280 and skb->len should not above of that. If we
reach a payload above 1280 in IPv6 header then we have a IPv6
fragmentation above 802.15.4 6LoWPAN fragmentation. The type "u16" was
fine, instead I added now a WARN_ON_ONCE if skb->len is above MTU which
should never happen otherwise IPv6 on minimum MTU size is broken.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/ieee802154/6lowpan/6lowpan_i.h
net/ieee802154/6lowpan/reassembly.c
net/ieee802154/6lowpan/tx.c