version 1.55, 2001/02/26 07:20:44 |
version 1.58, 2001/11/04 20:55:28 |
Line 162 rip_input(m, va_alist) |
|
Line 162 rip_input(m, va_alist) |
|
*/ |
*/ |
ip->ip_len -= ip->ip_hl << 2; |
ip->ip_len -= ip->ip_hl << 2; |
|
|
for (inp = rawcbtable.inpt_queue.cqh_first; |
CIRCLEQ_FOREACH(inp, &rawcbtable.inpt_queue, inp_queue) { |
inp != (struct inpcb *)&rawcbtable.inpt_queue; |
|
inp = inp->inp_queue.cqe_next) { |
|
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 389 rip_bind(inp, nam) |
|
Line 387 rip_bind(inp, nam) |
|
|
|
if (nam->m_len != sizeof(*addr)) |
if (nam->m_len != sizeof(*addr)) |
return (EINVAL); |
return (EINVAL); |
if (ifnet.tqh_first == 0) |
if (TAILQ_FIRST(&ifnet) == 0) |
return (EADDRNOTAVAIL); |
return (EADDRNOTAVAIL); |
if (addr->sin_family != AF_INET && |
if (addr->sin_family != AF_INET && |
addr->sin_family != AF_IMPLINK) |
addr->sin_family != AF_IMPLINK) |
Line 410 rip_connect(inp, nam) |
|
Line 408 rip_connect(inp, nam) |
|
|
|
if (nam->m_len != sizeof(*addr)) |
if (nam->m_len != sizeof(*addr)) |
return (EINVAL); |
return (EINVAL); |
if (ifnet.tqh_first == 0) |
if (TAILQ_FIRST(&ifnet) == 0) |
return (EADDRNOTAVAIL); |
return (EADDRNOTAVAIL); |
if (addr->sin_family != AF_INET && |
if (addr->sin_family != AF_INET && |
addr->sin_family != AF_IMPLINK) |
addr->sin_family != AF_IMPLINK) |
Line 450 rip_usrreq(so, req, m, nam, control, p) |
|
Line 448 rip_usrreq(so, req, m, nam, control, p) |
|
(struct ifnet *)control, p)); |
(struct ifnet *)control, p)); |
|
|
if (req == PRU_PURGEIF) { |
if (req == PRU_PURGEIF) { |
|
in_pcbpurgeif0(&rawcbtable, (struct ifnet *)control); |
in_purgeif((struct ifnet *)control); |
in_purgeif((struct ifnet *)control); |
in_pcbpurgeif(&rawcbtable, (struct ifnet *)control); |
in_pcbpurgeif(&rawcbtable, (struct ifnet *)control); |
return (0); |
return (0); |
Line 487 rip_usrreq(so, req, m, nam, control, p) |
|
Line 486 rip_usrreq(so, req, m, nam, control, p) |
|
break; |
break; |
inp = sotoinpcb(so); |
inp = sotoinpcb(so); |
inp->inp_ip.ip_p = (long)nam; |
inp->inp_ip.ip_p = (long)nam; |
#ifdef IPSEC |
|
error = ipsec_init_policy(so, &inp->inp_sp); |
|
if (error != 0) { |
|
in_pcbdetach(inp); |
|
break; |
|
} |
|
#endif /*IPSEC*/ |
|
break; |
break; |
|
|
case PRU_DETACH: |
case PRU_DETACH: |