| version 1.27, 1996/01/16 04:17:37 |
version 1.28, 1996/02/13 23:42:37 |
|
|
| #include <sys/errno.h> |
#include <sys/errno.h> |
| #include <sys/time.h> |
#include <sys/time.h> |
| #include <sys/kernel.h> |
#include <sys/kernel.h> |
| |
#include <sys/proc.h> |
| |
|
| |
#include <vm/vm.h> |
| |
#include <sys/sysctl.h> |
| |
|
| #include <net/if.h> |
#include <net/if.h> |
| #include <net/route.h> |
#include <net/route.h> |
|
|
| } |
} |
| ip = mtod(m, struct ip *); |
ip = mtod(m, struct ip *); |
| } |
} |
| if (ip->ip_sum = in_cksum(m, hlen)) { |
if ((ip->ip_sum = in_cksum(m, hlen)) != 0) { |
| ipstat.ips_badsum++; |
ipstat.ips_badsum++; |
| goto bad; |
goto bad; |
| } |
} |
| Line 1004 ip_forward(m, srcrt) |
|
| Line 1008 ip_forward(m, srcrt) |
|
| register struct ip *ip = mtod(m, struct ip *); |
register struct ip *ip = mtod(m, struct ip *); |
| register struct sockaddr_in *sin; |
register struct sockaddr_in *sin; |
| register struct rtentry *rt; |
register struct rtentry *rt; |
| int error, type = 0, code; |
int error, type = 0, code = 0; |
| struct mbuf *mcopy; |
struct mbuf *mcopy; |
| n_long dest; |
n_long dest; |
| struct ifnet *destifp; |
struct ifnet *destifp; |
| Line 1012 ip_forward(m, srcrt) |
|
| Line 1016 ip_forward(m, srcrt) |
|
| dest = 0; |
dest = 0; |
| #ifdef DIAGNOSTIC |
#ifdef DIAGNOSTIC |
| if (ipprintfs) |
if (ipprintfs) |
| printf("forward: src %x dst %x ttl %x\n", ip->ip_src, |
printf("forward: src %x dst %x ttl %x\n", |
| ip->ip_dst, ip->ip_ttl); |
ip->ip_src.s_addr, ip->ip_dst.s_addr, ip->ip_ttl); |
| #endif |
#endif |
| if (m->m_flags & M_BCAST || in_canforward(ip->ip_dst) == 0) { |
if (m->m_flags & M_BCAST || in_canforward(ip->ip_dst) == 0) { |
| ipstat.ips_cantforward++; |
ipstat.ips_cantforward++; |
| Line 1139 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| Line 1143 ip_sysctl(name, namelen, oldp, oldlenp, |
|
| void *newp; |
void *newp; |
| size_t newlen; |
size_t newlen; |
| { |
{ |
| int temp; |
|
| |
|
| /* All sysctl names at this level are terminal. */ |
/* All sysctl names at this level are terminal. */ |
| if (namelen != 1) |
if (namelen != 1) |
| return (ENOTDIR); |
return (ENOTDIR); |