| version 1.74, 2003/08/22 22:00:37 |
version 1.75, 2003/09/04 09:16:59 |
| Line 142 rip_input(m, va_alist) |
|
| Line 142 rip_input(m, va_alist) |
|
| { |
{ |
| int proto; |
int proto; |
| struct ip *ip = mtod(m, struct ip *); |
struct ip *ip = mtod(m, struct ip *); |
| |
struct inpcb_hdr *inph; |
| struct inpcb *inp; |
struct inpcb *inp; |
| struct inpcb *last = 0; |
struct inpcb *last = 0; |
| struct mbuf *opts = 0; |
struct mbuf *opts = 0; |
| Line 167 rip_input(m, va_alist) |
|
| Line 168 rip_input(m, va_alist) |
|
| ip->ip_len = ntohs(ip->ip_len) - (ip->ip_hl << 2); |
ip->ip_len = ntohs(ip->ip_len) - (ip->ip_hl << 2); |
| NTOHS(ip->ip_off); |
NTOHS(ip->ip_off); |
| |
|
| CIRCLEQ_FOREACH(inp, &rawcbtable.inpt_queue, inp_queue) { |
CIRCLEQ_FOREACH(inph, &rawcbtable.inpt_queue, inph_queue) { |
| |
inp = (struct inpcb *)inph; |
| |
if (inp->inp_af != AF_INET) |
| |
continue; |
| if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto) |
if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto) |
| continue; |
continue; |
| if (!in_nullhost(inp->inp_laddr) && |
if (!in_nullhost(inp->inp_laddr) && |
| Line 247 rip_pcbnotify(table, faddr, laddr, proto |
|
| Line 251 rip_pcbnotify(table, faddr, laddr, proto |
|
| int nmatch; |
int nmatch; |
| |
|
| nmatch = 0; |
nmatch = 0; |
| for (inp = CIRCLEQ_FIRST(&table->inpt_queue); |
for (inp = (struct inpcb *)CIRCLEQ_FIRST(&table->inpt_queue); |
| inp != (struct inpcb *)&table->inpt_queue; |
inp != (struct inpcb *)&table->inpt_queue; |
| inp = ninp) { |
inp = ninp) { |
| ninp = inp->inp_queue.cqe_next; |
ninp = (struct inpcb *)inp->inp_queue.cqe_next; |
| |
if (inp->inp_af != AF_INET) |
| |
continue; |
| if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto) |
if (inp->inp_ip.ip_p && inp->inp_ip.ip_p != proto) |
| continue; |
continue; |
| if (in_hosteq(inp->inp_faddr, faddr) && |
if (in_hosteq(inp->inp_faddr, faddr) && |