Module Name: src Committed By: joerg Date: Wed Sep 2 22:03:08 UTC 2009
Modified Files: src/sys/net80211: ieee80211_input.c Log Message: Fix ALTQ for bridge mode. Based on FreeBSD's revision 1.115. Tested by r...@. To generate a diff of this commit: cvs rdiff -u -r1.67 -r1.68 src/sys/net80211/ieee80211_input.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net80211/ieee80211_input.c diff -u src/sys/net80211/ieee80211_input.c:1.67 src/sys/net80211/ieee80211_input.c:1.68 --- src/sys/net80211/ieee80211_input.c:1.67 Wed Dec 17 20:51:37 2008 +++ src/sys/net80211/ieee80211_input.c Wed Sep 2 22:03:08 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: ieee80211_input.c,v 1.67 2008/12/17 20:51:37 cegger Exp $ */ +/* $NetBSD: ieee80211_input.c,v 1.68 2009/09/02 22:03:08 joerg Exp $ */ /*- * Copyright (c) 2001 Atsushi Onoe * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting @@ -36,7 +36,7 @@ __FBSDID("$FreeBSD: src/sys/net80211/ieee80211_input.c,v 1.81 2005/08/10 16:22:29 sam Exp $"); #endif #ifdef __NetBSD__ -__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.67 2008/12/17 20:51:37 cegger Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.68 2009/09/02 22:03:08 joerg Exp $"); #endif #include "opt_inet.h" @@ -710,6 +710,7 @@ struct ether_header *eh = mtod(m, struct ether_header *); struct ifnet *ifp = ic->ic_ifp; ALTQ_DECL(struct altq_pktattr pktattr;) + int error; /* perform as a bridge within the AP */ if (ic->ic_opmode == IEEE80211_M_HOSTAP && @@ -756,9 +757,11 @@ } #endif len = m1->m_pkthdr.len; - IF_ENQUEUE(&ifp->if_snd, m1); - if (m != NULL) + IFQ_ENQUEUE(&ifp->if_snd, m1, &pktattr, error); + if (error) { ifp->if_omcasts++; + m = NULL; + } ifp->if_obytes += len; } }