1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 14:03:55 +01:00

Merge pull request #3480 from authmillenon/ng_at86rf2xx/fix/packet-len

ng_at86rf2xx: substract maximum MAC header length for MTU getter
This commit is contained in:
Oleg Hahm 2015-07-22 23:55:19 +02:00
commit 59c7b87b35

View File

@ -30,6 +30,8 @@
#define ENABLE_DEBUG (0)
#include "debug.h"
#define _MAX_MHR_OVERHEAD (25)
/* TODO: generalize and move to ng_ieee802154 */
static size_t _make_data_frame_hdr(ng_at86rf2xx_t *dev, uint8_t *buf,
ng_netif_hdr_t *hdr)
@ -232,7 +234,8 @@ static int _send(ng_netdev_t *netdev, ng_pktsnip_t *pkt)
/* check if packet (header + payload + FCS) fits into FIFO */
snip = pkt->next;
if ((ng_pkt_len(snip) + len + 2) > NG_AT86RF2XX_MAX_PKT_LENGTH) {
DEBUG("[ng_at86rf2xx] error: packet too large to be send\n");
printf("[ng_at86rf2xx] error: packet too large (%u byte) to be send\n",
ng_pkt_len(snip) + len + 2);
ng_pktbuf_release(pkt);
return -EOVERFLOW;
}
@ -444,7 +447,7 @@ static int _get(ng_netdev_t *device, ng_netconf_opt_t opt,
if (max_len < sizeof(int16_t)) {
return -EOVERFLOW;
}
*((uint16_t *)val) = NG_AT86RF2XX_MAX_PKT_LENGTH;
*((uint16_t *)val) = NG_AT86RF2XX_MAX_PKT_LENGTH - _MAX_MHR_OVERHEAD;
return sizeof(uint16_t);
case NETCONF_OPT_STATE: