[uip-users] Some UDP hacks

6 views
Skip to first unread message

Nico Dealogic

unread,
Feb 27, 2007, 4:39:31 AM2/27/07
to uip-...@sics.se
Hello all,

I've found some issues with UDP:

In uip.h:
//NC: Changed to include netmask in comparison, necessary for detecting
broadcasts

#define uip_ipaddr_cmp(addr1, addr2) ( (((u16_t *)addr1)[0] |uip_netmask[0])
== (((u16_t *)addr2)[0] | ip_netmask[0] ) && \
(((u16_t *)addr1)[1] | uip_netmask[1]) == (((u16_t *)addr2)[1] |
uip_netmask[1]))


In uip.c I changed the comparison for incoming UDP packets (it is a bit of a
hack):

if ( (uip_udp_conn->lport != 0 &&
UDPBUF->destport == uip_udp_conn->rport) &&
(
uip_ipaddr_cmp(uip_udp_conn->ripaddr, all_zeroes_addr) ||
uip_ipaddr_cmp(uip_udp_conn->ripaddr, all_ones_addr) ||
uip_ipaddr_cmp(BUF->srcipaddr, all_zeroes_addr) ||
uip_ipaddr_cmp(BUF->srcipaddr, all_ones_addr) ||
uip_ipaddr_cmp(BUF->srcipaddr, uip_udp_conn->ripaddr)
))


Nico Coesel

--
DEA
ing. N. Coesel
Kweekgrasstraat 18
1313BX Almere
tel: +31 36 5343888
e-mail: nco...@dealogic.nl

Reply all
Reply to author
Forward
0 new messages