206 |
for(pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { |
for(pcb = udp_pcbs; pcb != NULL; pcb = pcb->next) { |
207 |
DEBUGF(UDP_DEBUG, ("udp_input: pcb local port %d (dgram %d)\n", |
DEBUGF(UDP_DEBUG, ("udp_input: pcb local port %d (dgram %d)\n", |
208 |
pcb->local_port, dest)); |
pcb->local_port, dest)); |
209 |
|
/* unconnected? */ |
210 |
if((pcb->flags & UDP_FLAGS_CONNECTED) == 0 && |
if((pcb->flags & UDP_FLAGS_CONNECTED) == 0 && |
211 |
|
/* destination port matches? */ |
212 |
pcb->local_port == dest && |
pcb->local_port == dest && |
213 |
|
/* not bound to a specific (local) interface address? or... */ |
214 |
(ip_addr_isany(&pcb->local_ip) || |
(ip_addr_isany(&pcb->local_ip) || |
215 |
|
/* ...matching interface address? */ |
216 |
ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest)))) { |
ip_addr_cmp(&(pcb->local_ip), &(iphdr->dest)))) { |
217 |
break; |
break; |
218 |
} |
} |