Commit 02c7b692 authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann

mac802154: tx: add warning if MTU exceeds

Sending over AF_PACKET RAW sockets we can sending frames which exceeds
MTU size. To handling it correct we need to change things in AF_PACKET
which knows on RAW sockets an additional FCS is set by hardware or
mac802154 transmit functionality.
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 87a93e4e
......@@ -71,6 +71,17 @@ ieee802154_tx(struct ieee802154_local *local, struct sk_buff *skb)
struct net_device *dev = skb->dev;
int ret;
/* This check is for AF_PACKET RAW socket only, which doesn't
* know about the FCS which is set here or by hardware. otherwise
* it should not occur in any case!
*
* TODO: This should be handled in AF_PACKET and return -EMSGSIZE.
*/
if (skb->len > IEEE802154_MTU - IEEE802154_FCS_LEN) {
netdev_warn(dev, "Frame len above MTU limit. Dropped.\n");
goto err_tx;
}
if (!(local->hw.flags & IEEE802154_HW_TX_OMIT_CKSUM)) {
u16 crc = crc_ccitt(0, skb->data, skb->len);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment