|
|
| version 1.19, 2004/03/08 19:44:32 | version 1.20, 2004/03/09 21:21:54 |
|---|---|
| Line 575 findpcb: | Line 575 findpcb: |
| ip->ip_dst, th->th_dport, | ip->ip_dst, th->th_dport, |
| 0, m->m_pkthdr.rcvif); | 0, m->m_pkthdr.rcvif); |
| if (!inp) { | if (!inp) { |
| /* It's new. Try find the ambushing socket. */ | /* |
| * It's new. Try to find the ambushing socket. | |
| */ | |
| /* | |
| * The rest of the ipfw code stores the port in | |
| * host order. XXX | |
| * (The IP address is still in network order.) | |
| */ | |
| in_port_t dport = next_hop->sin_port ? | |
| htons(next_hop->sin_port) : | |
| th->th_dport; | |
| cpu = tcp_addrcpu(ip->ip_src.s_addr, th->th_sport, | cpu = tcp_addrcpu(ip->ip_src.s_addr, th->th_sport, |
| next_hop->sin_addr.s_addr, | next_hop->sin_addr.s_addr, dport); |
| next_hop->sin_port ? | |
| ntohs(next_hop->sin_port) : | |
| th->th_dport); | |
| inp = in_pcblookup_hash(&tcbinfo[cpu], | inp = in_pcblookup_hash(&tcbinfo[cpu], |
| ip->ip_src, th->th_sport, | ip->ip_src, th->th_sport, |
| next_hop->sin_addr, | next_hop->sin_addr, dport, |
| next_hop->sin_port ? | |
| ntohs(next_hop->sin_port) : | |
| th->th_dport, | |
| 1, m->m_pkthdr.rcvif); | 1, m->m_pkthdr.rcvif); |
| } | } |
| } else { | } else { |