version 1.76, 1998/12/19 02:46:12 |
version 1.77, 1999/01/11 22:35:06 |
Line 1222 ip_forward(m, srcrt) |
|
Line 1222 ip_forward(m, srcrt) |
|
m_freem(m); |
m_freem(m); |
return; |
return; |
} |
} |
HTONS(ip->ip_id); |
|
if (ip->ip_ttl <= IPTTLDEC) { |
if (ip->ip_ttl <= IPTTLDEC) { |
icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, dest, 0); |
icmp_error(m, ICMP_TIMXCEED, ICMP_TIMXCEED_INTRANS, dest, 0); |
return; |
return; |
Line 1269 ip_forward(m, srcrt) |
|
Line 1268 ip_forward(m, srcrt) |
|
if (rt->rt_ifa && |
if (rt->rt_ifa && |
(ip->ip_src.s_addr & ifatoia(rt->rt_ifa)->ia_subnetmask) == |
(ip->ip_src.s_addr & ifatoia(rt->rt_ifa)->ia_subnetmask) == |
ifatoia(rt->rt_ifa)->ia_subnet) { |
ifatoia(rt->rt_ifa)->ia_subnet) { |
if (rt->rt_flags & RTF_GATEWAY) |
if (rt->rt_flags & RTF_GATEWAY) |
dest = satosin(rt->rt_gateway)->sin_addr.s_addr; |
dest = satosin(rt->rt_gateway)->sin_addr.s_addr; |
else |
else |
dest = ip->ip_dst.s_addr; |
dest = ip->ip_dst.s_addr; |
/* Router requirements says to only send host redirects */ |
/* |
type = ICMP_REDIRECT; |
* Router requirements says to only send host |
code = ICMP_REDIRECT_HOST; |
* redirects. |
|
*/ |
|
type = ICMP_REDIRECT; |
|
code = ICMP_REDIRECT_HOST; |
#ifdef DIAGNOSTIC |
#ifdef DIAGNOSTIC |
if (ipprintfs) |
if (ipprintfs) |
printf("redirect (%d) to %x\n", code, (u_int32_t)dest); |
printf("redirect (%d) to %x\n", code, |
|
(u_int32_t)dest); |
#endif |
#endif |
} |
} |
} |
} |