| version 1.55.2.1, 2001/08/24 00:12:28 |
version 1.55.2.2, 2001/11/14 19:17:55 |
|
|
| * @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 |
* @(#)raw_ip.c 8.7 (Berkeley) 5/15/95 |
| */ |
*/ |
| |
|
| |
#include <sys/cdefs.h> |
| |
__KERNEL_RCSID(0, "$NetBSD$"); |
| |
|
| #include "opt_ipsec.h" |
#include "opt_ipsec.h" |
| #include "opt_mrouting.h" |
#include "opt_mrouting.h" |
| |
|
| Line 162 rip_input(m, va_alist) |
|
| Line 165 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 390 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 411 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) |