Bugfix: don't send packets if they are shorter than the link layer header length

This commit is contained in:
adamdunkels 2010-04-05 21:05:56 +00:00
parent e06a30fdb0
commit d9d3f7b6b5

View file

@ -279,18 +279,20 @@ void mac_ethernetToLowpan(uint8_t * ethHeader)
}
//Remove header from length before passing onward
uip_len -= UIP_LLH_LEN;
//Some IP packets have link layer in them, need to change them around!
if (usbstick_mode.translate) {
/* uint8_t transReturn = */
if(uip_len > UIP_LLH_LEN) {
uip_len -= UIP_LLH_LEN;
//Some IP packets have link layer in them, need to change them around!
if (usbstick_mode.translate) {
/* uint8_t transReturn = */
mac_translateIPLinkLayer(ll_802154_type);
PRINTF("IPTranslation: returns %d\n", transReturn);
}
PRINTF("IPTranslation: returns %d\n", transReturn);
}
if (usbstick_mode.sendToRf){
tcpip_output(destAddrPtr);
/* rndis_stat.txok++; */
if (usbstick_mode.sendToRf){
tcpip_output(destAddrPtr);
/* rndis_stat.txok++; */
}
}
uip_len = 0;