1 *** ip6_input.c.orig Sun Feb 13 14:32:01 2000
2 --- ip6_input.c Wed Apr 26 22:31:34 2000
7 extern struct domain inet6domain;
8 extern struct ip6protosw inet6sw[];
9 + extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
11 u_char ip6_protox[IPPROTO_MAX];
12 static int ip6qmaxlen = IFQ_MAXLEN;
16 ip6stat.ip6s_badvers++;
17 in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr);
22 + struct mbuf *m1 = m;
24 + if ((*fr_checkp)(ip6, sizeof(*ip6), m->m_pkthdr.rcvif,
27 + ip6 = mtod(m = m1, struct ip6_hdr *);
30 ip6stat.ip6s_nxthist[ip6->ip6_nxt]++;
31 *** ip6_output.c.orig Fri Mar 10 01:57:16 2000
32 --- ip6_output.c Wed Apr 26 22:34:34 2000
36 #include <netinet6/ip6_fw.h>
39 + extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
41 static MALLOC_DEFINE(M_IPMOPTS, "ip6_moptions", "internet multicast options");
47 ip6->ip6_src.s6_addr16[1] = 0;
48 if (IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_dst))
49 ip6->ip6_dst.s6_addr16[1] = 0;
53 + struct mbuf *m1 = m;
55 + if ((error = (*fr_checkp)(ip6, sizeof(*ip6), ifp, 1, &m1)) ||
58 + ip6 = mtod(m = m1, struct ip6_hdr *);