forked from luck/tmp_suning_uos_patched
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: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
87a93e4ece
commit
02c7b69228
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user