* AODV requires that 255.255.255.255 is not rebroadcasted! Deal with
this using conditional compilation (AODV_COMPLIANCE).
This commit is contained in:
parent
8b1cd7a470
commit
a9d536e50c
1 changed files with 14 additions and 6 deletions
|
@ -30,7 +30,7 @@
|
||||||
*
|
*
|
||||||
* Author: Adam Dunkels <adam@sics.se>
|
* Author: Adam Dunkels <adam@sics.se>
|
||||||
*
|
*
|
||||||
* $Id: uip-fw.c,v 1.3 2006/08/13 14:14:39 oliverschmidt Exp $
|
* $Id: uip-fw.c,v 1.4 2007/04/24 16:58:58 bg- Exp $
|
||||||
*/
|
*/
|
||||||
/**
|
/**
|
||||||
* \addtogroup uip
|
* \addtogroup uip
|
||||||
|
@ -53,12 +53,16 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "contiki-conf.h"
|
||||||
|
|
||||||
#include "net/uip.h"
|
#include "net/uip.h"
|
||||||
#include "net/uip_arch.h"
|
#include "net/uip_arch.h"
|
||||||
#include "net/uip-fw.h"
|
#include "net/uip-fw.h"
|
||||||
#include "contiki-conf.h"
|
#ifdef AODV_COMPLIANCE
|
||||||
|
#include "net/uaodv-def.h"
|
||||||
#include <string.h> /* for memcpy() */
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The list of registered network interfaces.
|
* The list of registered network interfaces.
|
||||||
|
@ -356,6 +360,7 @@ u8_t
|
||||||
uip_fw_output(void)
|
uip_fw_output(void)
|
||||||
{
|
{
|
||||||
struct uip_fw_netif *netif;
|
struct uip_fw_netif *netif;
|
||||||
|
const struct uip_udpip_hdr *udp = (void *)BUF;
|
||||||
|
|
||||||
if(uip_len == 0) {
|
if(uip_len == 0) {
|
||||||
return UIP_FW_ZEROLEN;
|
return UIP_FW_ZEROLEN;
|
||||||
|
@ -365,8 +370,11 @@ uip_fw_output(void)
|
||||||
|
|
||||||
#if UIP_BROADCAST
|
#if UIP_BROADCAST
|
||||||
/* Link local broadcasts go out on all interfaces. */
|
/* Link local broadcasts go out on all interfaces. */
|
||||||
if(/*BUF->proto == UIP_PROTO_UDP &&*/
|
if(uip_ipaddr_cmp(&udp->destipaddr, &uip_broadcast_addr)
|
||||||
uip_ipaddr_cmp(&BUF->destipaddr, &uip_broadcast_addr)) {
|
#ifdef AODV_COMPLIANCE
|
||||||
|
&& !(udp->proto == UIP_PROTO_UDP && udp->destport == HTONS(UAODV_UDPPORT))
|
||||||
|
#endif
|
||||||
|
) {
|
||||||
if(defaultnetif != NULL) {
|
if(defaultnetif != NULL) {
|
||||||
defaultnetif->output();
|
defaultnetif->output();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue