svn commit: r193967 - user/kmacy/releng_7_2_fcs/sys/contrib/pf/net
Kip Macy
kmacy at FreeBSD.org
Thu Jun 11 04:50:12 UTC 2009
Author: kmacy
Date: Thu Jun 11 04:50:11 2009
New Revision: 193967
URL: http://svn.freebsd.org/changeset/base/193967
Log:
fix pf compile for post vimage / arpv2
Modified:
user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf.c
user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_if.c
user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_ioctl.c
Modified: user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf.c Thu Jun 11 04:43:42 2009 (r193966)
+++ user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf.c Thu Jun 11 04:50:11 2009 (r193967)
@@ -92,6 +92,7 @@ __FBSDID("$FreeBSD$");
#include <sys/kthread.h>
#include <sys/lock.h>
#include <sys/sx.h>
+#include <sys/vimage.h>
#else
#include <sys/rwlock.h>
#endif
@@ -119,6 +120,9 @@ __FBSDID("$FreeBSD$");
#include <netinet/udp_var.h>
#include <netinet/icmp_var.h>
#include <netinet/if_ether.h>
+#ifdef __FreeBSD__
+#include <netinet/vinet.h>
+#endif
#ifndef __FreeBSD__
#include <dev/rndvar.h>
@@ -138,6 +142,7 @@ __FBSDID("$FreeBSD$");
#ifdef __FreeBSD__
#include <netinet6/ip6_var.h>
#include <netinet6/in6_pcb.h>
+#include <netinet6/vinet6.h>
#endif
#endif /* INET6 */
@@ -1917,13 +1922,13 @@ pf_send_tcp(const struct pf_rule *r, sa_
h->ip_hl = sizeof(*h) >> 2;
h->ip_tos = IPTOS_LOWDELAY;
#ifdef __FreeBSD__
- h->ip_off = path_mtu_discovery ? IP_DF : 0;
+ h->ip_off = V_path_mtu_discovery ? IP_DF : 0;
h->ip_len = len;
#else
h->ip_off = htons(ip_mtudisc ? IP_DF : 0);
h->ip_len = htons(len);
#endif
- h->ip_ttl = ttl ? ttl : ip_defttl;
+ h->ip_ttl = ttl ? ttl : V_ip_defttl;
h->ip_sum = 0;
if (eh == NULL) {
#ifdef __FreeBSD__
@@ -2950,7 +2955,7 @@ pf_socket_lookup(int direction, struct p
sport = pd->hdr.tcp->th_sport;
dport = pd->hdr.tcp->th_dport;
#ifdef __FreeBSD__
- pi = &tcbinfo;
+ pi = &V_tcbinfo;
#else
tb = &tcbtable;
#endif
@@ -2961,7 +2966,7 @@ pf_socket_lookup(int direction, struct p
sport = pd->hdr.udp->uh_sport;
dport = pd->hdr.udp->uh_dport;
#ifdef __FreeBSD__
- pi = &udbinfo;
+ pi = &V_udbinfo;
#else
tb = &udbtable;
#endif
@@ -3093,7 +3098,7 @@ pf_get_mss(struct mbuf *m, int off, u_in
int hlen;
u_int8_t hdr[60];
u_int8_t *opt, optlen;
- u_int16_t mss = tcp_mssdflt;
+ u_int16_t mss = V_tcp_mssdflt;
hlen = th_off << 2; /* hlen <= sizeof(hdr) */
if (hlen <= sizeof(struct tcphdr))
@@ -3138,7 +3143,7 @@ pf_calc_mss(struct pf_addr *addr, sa_fam
#endif /* INET6 */
struct rtentry *rt = NULL;
int hlen = 0; /* make the compiler happy */
- u_int16_t mss = tcp_mssdflt;
+ u_int16_t mss = V_tcp_mssdflt;
switch (af) {
#ifdef INET
@@ -3153,7 +3158,7 @@ pf_calc_mss(struct pf_addr *addr, sa_fam
#ifdef RTF_PRCLONING
rtalloc_ign(&ro, (RTF_CLONING | RTF_PRCLONING));
#else /* !RTF_PRCLONING */
- in_rtalloc_ign(&ro, RTF_CLONING, 0);
+ in_rtalloc_ign(&ro, 0, 0);
#endif
#else /* ! __FreeBSD__ */
rtalloc_noclone(&ro, NO_CLONING);
@@ -3174,7 +3179,7 @@ pf_calc_mss(struct pf_addr *addr, sa_fam
rtalloc_ign((struct route *)&ro6,
(RTF_CLONING | RTF_PRCLONING));
#else /* !RTF_PRCLONING */
- rtalloc_ign((struct route *)&ro6, RTF_CLONING);
+ rtalloc_ign((struct route *)&ro6, 0);
#endif
#else /* ! __FreeBSD__ */
rtalloc_noclone((struct route *)&ro6, NO_CLONING);
@@ -3186,7 +3191,7 @@ pf_calc_mss(struct pf_addr *addr, sa_fam
if (rt && rt->rt_ifp) {
mss = rt->rt_ifp->if_mtu - hlen - sizeof(struct tcphdr);
- mss = max(tcp_mssdflt, mss);
+ mss = max(V_tcp_mssdflt, mss);
RTFREE(rt);
}
mss = min(mss, offer);
@@ -3242,7 +3247,7 @@ pf_test_tcp(struct pf_rule **rm, struct
u_short reason;
int rewrite = 0;
int tag = -1, rtableid = -1;
- u_int16_t mss = tcp_mssdflt;
+ u_int16_t mss = V_tcp_mssdflt;
int asd = 0;
int match = 0;
@@ -5976,9 +5981,9 @@ pf_routable(struct pf_addr *addr, sa_fam
#ifdef __FreeBSD__
/* XXX MRT not always INET */ /* stick with table 0 though */
if (af == AF_INET)
- in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0);
+ in_rtalloc_ign((struct route *)&ro, 0, 0);
else
- rtalloc_ign((struct route *)&ro, RTF_CLONING);
+ rtalloc_ign((struct route *)&ro, 0);
#else /* ! __FreeBSD__ */
rtalloc_noclone((struct route *)&ro, NO_CLONING);
#endif
@@ -6058,9 +6063,9 @@ pf_rtlabel_match(struct pf_addr *addr, s
rtalloc_ign((struct route *)&ro, (RTF_CLONING|RTF_PRCLONING));
# else /* !RTF_PRCLONING */
if (af == AF_INET)
- in_rtalloc_ign((struct route *)&ro, RTF_CLONING, 0);
+ in_rtalloc_ign((struct route *)&ro, 0, 0);
else
- rtalloc_ign((struct route *)&ro, RTF_CLONING);
+ rtalloc_ign((struct route *)&ro, 0);
# endif
#else /* ! __FreeBSD__ */
rtalloc_noclone((struct route *)&ro, NO_CLONING);
@@ -6142,7 +6147,7 @@ pf_route(struct mbuf **m, struct pf_rule
if (r->rt == PF_FASTROUTE) {
in_rtalloc(ro, 0);
if (ro->ro_rt == 0) {
- ipstat.ips_noroute++;
+ V_ipstat.ips_noroute++;
goto bad;
}
@@ -6292,7 +6297,7 @@ pf_route(struct mbuf **m, struct pf_rule
* Must be able to put at least 8 bytes per fragment.
*/
if (ip->ip_off & htons(IP_DF)) {
- ipstat.ips_cantfrag++;
+ V_ipstat.ips_cantfrag++;
if (r->rt != PF_DUPTO) {
#ifdef __FreeBSD__
/* icmp_error() expects host byte ordering */
@@ -6349,7 +6354,7 @@ pf_route(struct mbuf **m, struct pf_rule
}
if (error == 0)
- ipstat.ips_fragmented++;
+ V_ipstat.ips_fragmented++;
done:
if (r->rt != PF_DUPTO)
@@ -6622,17 +6627,17 @@ pf_check_proto_cksum(struct mbuf *m, int
if (sum) {
switch (p) {
case IPPROTO_TCP:
- tcpstat.tcps_rcvbadsum++;
+ V_tcpstat.tcps_rcvbadsum++;
break;
case IPPROTO_UDP:
- udpstat.udps_badsum++;
+ V_udpstat.udps_badsum++;
break;
case IPPROTO_ICMP:
- icmpstat.icps_checksum++;
+ V_icmpstat.icps_checksum++;
break;
#ifdef INET6
case IPPROTO_ICMPV6:
- icmp6stat.icp6s_checksum++;
+ V_icmp6stat.icp6s_checksum++;
break;
#endif /* INET6 */
}
Modified: user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_if.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_if.c Thu Jun 11 04:43:42 2009 (r193966)
+++ user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_if.c Thu Jun 11 04:50:11 2009 (r193967)
@@ -54,9 +54,16 @@ __FBSDID("$FreeBSD$");
#include <sys/device.h>
#endif
#include <sys/time.h>
+#ifdef __FreeBSD__
+#include <sys/vimage.h>
+#endif
#include <net/if.h>
#include <net/if_types.h>
+#ifdef __FreeBSD__
+#include <net/route.h>
+#include <net/vnet.h>
+#endif
#include <netinet/in.h>
#include <netinet/in_var.h>
@@ -109,8 +116,10 @@ void pfi_change_group_event(void * __u
void pfi_detach_group_event(void * __unused, struct ifg_group *);
void pfi_ifaddr_event(void * __unused, struct ifnet *);
+#ifdef VIMAGE_GLOBALS
extern struct ifgrouphead ifg_head;
#endif
+#endif
RB_PROTOTYPE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare);
RB_GENERATE(pfi_ifhead, pfi_kif, pfik_tree, pfi_if_compare);
@@ -121,6 +130,8 @@ RB_GENERATE(pfi_ifhead, pfi_kif, pfik_tr
void
pfi_initialize(void)
{
+ INIT_VNET_NET(curvnet);
+
if (pfi_all != NULL) /* already initialized */
return;
@@ -141,9 +152,9 @@ pfi_initialize(void)
struct ifnet *ifp;
IFNET_RLOCK();
- TAILQ_FOREACH(ifg, &ifg_head, ifg_next)
+ TAILQ_FOREACH(ifg, &V_ifg_head, ifg_next)
pfi_attach_ifgroup(ifg);
- TAILQ_FOREACH(ifp, &ifnet, if_link)
+ TAILQ_FOREACH(ifp, &V_ifnet, if_link)
pfi_attach_ifnet(ifp);
IFNET_RUNLOCK();
Modified: user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_ioctl.c
==============================================================================
--- user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_ioctl.c Thu Jun 11 04:43:42 2009 (r193966)
+++ user/kmacy/releng_7_2_fcs/sys/contrib/pf/net/pf_ioctl.c Thu Jun 11 04:50:11 2009 (r193967)
@@ -36,14 +36,11 @@
*/
#ifdef __FreeBSD__
-#include "opt_inet.h"
-#include "opt_inet6.h"
-
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
-#endif
-#ifdef __FreeBSD__
+#include "opt_inet.h"
+#include "opt_inet6.h"
#include "opt_bpf.h"
#include "opt_pf.h"
@@ -86,6 +83,7 @@ __FBSDID("$FreeBSD$");
#include <sys/conf.h>
#include <sys/proc.h>
#include <sys/sysctl.h>
+#include <sys/vimage.h>
#else
#include <sys/timeout.h>
#include <sys/pool.h>
@@ -101,6 +99,9 @@ __FBSDID("$FreeBSD$");
#include <net/if.h>
#include <net/if_types.h>
#include <net/route.h>
+#ifdef __FreeBSD__
+#include <net/vnet.h>
+#endif
#include <netinet/in.h>
#include <netinet/in_var.h>
@@ -3703,6 +3704,8 @@ static int
pf_check6_in(void *arg, struct mbuf **m, struct ifnet *ifp, int dir,
struct inpcb *inp)
{
+ INIT_VNET_NET(curvnet);
+
/*
* IPv6 is not affected by ip_len/ip_off byte order changes.
*/
@@ -3713,7 +3716,7 @@ pf_check6_in(void *arg, struct mbuf **m,
* order to support scoped addresses. In order to support stateful
* filtering we have change this to lo0 as it is the case in IPv4.
*/
- chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? &loif[0] : ifp, m,
+ chk = pf_test6(PF_IN, (*m)->m_flags & M_LOOP ? V_loif : ifp, m,
NULL, inp);
if (chk && *m) {
m_freem(*m);
More information about the svn-src-user
mailing list