| version 1.205, 2004/10/06 01:34:11 |
version 1.206, 2004/12/15 04:25:19 |
| Line 200 int ipprintfs = 0; |
|
| Line 200 int ipprintfs = 0; |
|
| #endif |
#endif |
| |
|
| int ip_do_randomid = 0; |
int ip_do_randomid = 0; |
| |
int ip_do_loopback_cksum = 0; |
| |
|
| /* |
/* |
| * XXX - Setting ip_checkinterface mostly implements the receive side of |
* XXX - Setting ip_checkinterface mostly implements the receive side of |
| Line 572 ip_input(struct mbuf *m) |
|
| Line 573 ip_input(struct mbuf *m) |
|
| break; |
break; |
| |
|
| default: |
default: |
| /* Must compute it ourselves. */ |
/* |
| INET_CSUM_COUNTER_INCR(&ip_swcsum); |
* Must compute it ourselves. Maybe skip checksum on |
| if (in_cksum(m, hlen) != 0) |
* loopback interfaces. |
| goto badcsum; |
*/ |
| |
if (__predict_true(!(m->m_pkthdr.rcvif->if_flags & |
| |
IFF_LOOPBACK) || ip_do_loopback_cksum)) { |
| |
INET_CSUM_COUNTER_INCR(&ip_swcsum); |
| |
if (in_cksum(m, hlen) != 0) |
| |
goto badcsum; |
| |
} |
| break; |
break; |
| } |
} |
| |
|
| Line 2342 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
| Line 2349 SYSCTL_SETUP(sysctl_net_inet_ip_setup, " |
|
| NULL, 0, &ip_do_randomid, 0, |
NULL, 0, &ip_do_randomid, 0, |
| CTL_NET, PF_INET, IPPROTO_IP, |
CTL_NET, PF_INET, IPPROTO_IP, |
| IPCTL_RANDOMID, CTL_EOL); |
IPCTL_RANDOMID, CTL_EOL); |
| |
sysctl_createv(clog, 0, NULL, NULL, |
| |
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, |
| |
CTLTYPE_INT, "do_loopback_cksum", |
| |
SYSCTL_DESCR("Perform IP checksum on loopback"), |
| |
NULL, 0, &ip_do_loopback_cksum, 0, |
| |
CTL_NET, PF_INET, IPPROTO_IP, |
| |
IPCTL_LOOPBACKCKSUM, CTL_EOL); |
| } |
} |