summaryrefslogtreecommitdiffstats
path: root/sys/contrib/altq
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2011-06-28 11:57:25 +0000
committerbz <bz@FreeBSD.org>2011-06-28 11:57:25 +0000
commite15f804c7b67f7cac4a68d0f6b6d0418e9f7309a (patch)
tree6f90e30d66bc1d86e242d960993589e5a0ad8936 /sys/contrib/altq
parenta963cb97121e4c58292b7deaf2a9d08d4455b21b (diff)
downloadFreeBSD-src-e15f804c7b67f7cac4a68d0f6b6d0418e9f7309a.zip
FreeBSD-src-e15f804c7b67f7cac4a68d0f6b6d0418e9f7309a.tar.gz
Update packet filter (pf) code to OpenBSD 4.5.
You need to update userland (world and ports) tools to be in sync with the kernel. Submitted by: mlaier Submitted by: eri
Diffstat (limited to 'sys/contrib/altq')
-rw-r--r--sys/contrib/altq/altq/altq_red.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/contrib/altq/altq/altq_red.c b/sys/contrib/altq/altq/altq_red.c
index cd216bd..b461ce0 100644
--- a/sys/contrib/altq/altq/altq_red.c
+++ b/sys/contrib/altq/altq/altq_red.c
@@ -514,11 +514,9 @@ mark_ecn(struct mbuf *m, struct altq_pktattr *pktattr, int flags)
struct mbuf *m0;
struct pf_mtag *at;
void *hdr;
- int af;
at = pf_find_mtag(m);
if (at != NULL) {
- af = at->af;
hdr = at->hdr;
#ifdef ALTQ3_COMPAT
} else if (pktattr != NULL) {
@@ -528,9 +526,6 @@ mark_ecn(struct mbuf *m, struct altq_pktattr *pktattr, int flags)
} else
return (0);
- if (af != AF_INET && af != AF_INET6)
- return (0);
-
/* verify that pattr_hdr is within the mbuf data */
for (m0 = m; m0 != NULL; m0 = m0->m_next)
if (((caddr_t)hdr >= m0->m_data) &&
@@ -541,8 +536,8 @@ mark_ecn(struct mbuf *m, struct altq_pktattr *pktattr, int flags)
return (0);
}
- switch (af) {
- case AF_INET:
+ switch (((struct ip *)hdr)->ip_v) {
+ case IPVERSION:
if (flags & REDF_ECN4) {
struct ip *ip = hdr;
u_int8_t otos;
@@ -575,7 +570,7 @@ mark_ecn(struct mbuf *m, struct altq_pktattr *pktattr, int flags)
}
break;
#ifdef INET6
- case AF_INET6:
+ case (IPV6_VERSION >> 4):
if (flags & REDF_ECN6) {
struct ip6_hdr *ip6 = hdr;
u_int32_t flowlabel;
OpenPOWER on IntegriCloud