1 *** /sys/netinet/ip_input.c.orig Thu Oct 24 22:27:27 1996
2 --- /sys/netinet/ip_input.c Tue Feb 18 21:18:19 1997
6 int ipqmaxlen = IFQ_MAXLEN;
7 struct in_ifaddr *in_ifaddr; /* first inet address */
8 struct ifqueue ipintrq;
9 + #if defined(IPFILTER_LKM) || defined(IPFILTER)
10 + int fr_check __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
11 + int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
19 ip = mtod(m, struct ip *);
21 ! ip->ip_sum = in_cksum(m, hlen);
28 ip = mtod(m, struct ip *);
30 ! if (in_cksum(m, hlen)) {
40 + #if defined(IPFILTER) || defined(IPFILTER_LKM)
42 + * Check if we want to allow this packet to be processed.
43 + * Consider it to be bad if not.
46 + struct mbuf *m1 = m;
48 + if ((*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0, &m1) || !m1)
50 + ip = mtod(m = m1, struct ip *);
54 * Process options and, if not destined for us,
55 * ship it on. ip_dooptions returns 1 when an
59 * if they are completely covered, dequeue them.
61 while (q != (struct ipasfrag *)fp && ip->ip_off + ip->ip_len > q->ip_off) {
64 i = (ip->ip_off + ip->ip_len) - q->ip_off;
73 - m_freem(dtom(q->ipf_prev));