- xp = in_pcblookup(inp->inp_head, sin->sin_addr, sin->sin_port, inp->inp_laddr, inp->inp_lport);
- if (xp->inp_faddr.s_addr)
+ if (inp->inp_laddr.s_addr == 0) {
+ ifp = if_ifonnetof(sin->sin_addr.s_addr);
+ if (ifp == 0)
+ ifp = ifnet;
+ inp->inp_laddr = ifp->if_addr;
+ }
+ if (in_pcblookup(inp->inp_head,
+ sin->sin_addr, sin->sin_port, inp->inp_laddr, inp->inp_lport, 0))