1 *** /sys/netinet/ip_output.c.orig Sat May 24 14:07:24 1997
2 --- /sys/netinet/ip_output.c Sat May 24 15:00:29 1997
9 + #if defined(IPFILTER_LKM) || defined(IPFILTER)
10 + extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
18 __P((struct ifnet *, struct mbuf *, struct sockaddr_in *));
19 static int ip_getmoptions
20 __P((int, struct ip_moptions *, struct mbuf **));
21 ! static int ip_optcopy __P((struct ip *, struct ip *));
22 static int ip_pcbopts __P((struct mbuf **, struct mbuf *));
23 static int ip_setmoptions
24 __P((int, struct ip_moptions **, struct mbuf *));
26 __P((struct ifnet *, struct mbuf *, struct sockaddr_in *));
27 static int ip_getmoptions
28 __P((int, struct ip_moptions *, struct mbuf **));
29 ! int ip_optcopy __P((struct ip *, struct ip *));
30 static int ip_pcbopts __P((struct mbuf **, struct mbuf *));
31 static int ip_setmoptions
32 __P((int, struct ip_moptions **, struct mbuf *));
36 * - Wrap: fake packet's addr/port <unimpl.>
37 * - Encapsulate: put it in another IP and send out. <unimp.>
39 + #if defined(IPFILTER_LKM) || defined(IPFILTER)
41 + struct mbuf *m1 = m;
43 + if ((error = (*fr_checkp)(ip, hlen, ifp, 1, &m1)) || !m1)
45 + ip = mtod(m = m1, struct ip *);
50 if (ip_nat_ptr && !(*ip_nat_ptr)(&ip, &m, ifp, IP_NAT_OUT)) {
53 * Copy options from ip to jp,
54 * omitting those not copied during fragmentation.
61 * Copy options from ip to jp,
62 * omitting those not copied during fragmentation.