Module Name: src
Committed By: knakahara
Date: Wed Apr 20 08:58:48 UTC 2016
Modified Files:
src/sys/altq: altq_blue.c altq_cbq.c altq_fifoq.c altq_hfsc.c
altq_jobs.c altq_priq.c altq_red.c altq_rio.c altq_subr.c
altq_wfq.c if_altq.h
src/sys/net: if.h if_bridge.c if_ethersubr.c if_vlan.c
src/sys/net80211: ieee80211_input.c
Log Message:
IFQ_ENQUEUE refactor (2/3) : eliminate pktattr argument from altq implemantation
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/altq/altq_blue.c
cvs rdiff -u -r1.28 -r1.29 src/sys/altq/altq_cbq.c
cvs rdiff -u -r1.16 -r1.17 src/sys/altq/altq_fifoq.c
cvs rdiff -u -r1.25 -r1.26 src/sys/altq/altq_hfsc.c
cvs rdiff -u -r1.8 -r1.9 src/sys/altq/altq_jobs.c
cvs rdiff -u -r1.22 -r1.23 src/sys/altq/altq_priq.c
cvs rdiff -u -r1.29 -r1.30 src/sys/altq/altq_red.c src/sys/altq/altq_subr.c
cvs rdiff -u -r1.21 -r1.22 src/sys/altq/altq_rio.c
cvs rdiff -u -r1.20 -r1.21 src/sys/altq/altq_wfq.c
cvs rdiff -u -r1.14 -r1.15 src/sys/altq/if_altq.h
cvs rdiff -u -r1.199 -r1.200 src/sys/net/if.h
cvs rdiff -u -r1.115 -r1.116 src/sys/net/if_bridge.c
cvs rdiff -u -r1.219 -r1.220 src/sys/net/if_ethersubr.c
cvs rdiff -u -r1.84 -r1.85 src/sys/net/if_vlan.c
cvs rdiff -u -r1.80 -r1.81 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/altq/altq_blue.c
diff -u src/sys/altq/altq_blue.c:1.23 src/sys/altq/altq_blue.c:1.24
--- src/sys/altq/altq_blue.c:1.23 Sat Nov 19 22:51:18 2011
+++ src/sys/altq/altq_blue.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_blue.c,v 1.23 2011/11/19 22:51:18 tls Exp $ */
+/* $NetBSD: altq_blue.c,v 1.24 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_blue.c,v 1.15 2005/04/13 03:44:24 suz Exp $ */
/*
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_blue.c,v 1.23 2011/11/19 22:51:18 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_blue.c,v 1.24 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -112,7 +112,7 @@ __KERNEL_RCSID(0, "$NetBSD: altq_blue.c,
static blue_queue_t *blue_list = NULL;
/* internal function prototypes */
-static int blue_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+static int blue_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *blue_dequeue(struct ifaltq *, int);
static int drop_early(blue_t *);
static int mark_ecn(struct mbuf *, struct altq_pktattr *, int);
@@ -391,12 +391,17 @@ blue_init(blue_t *rp, int flags, int pkt
* ENOBUFS when drop occurs.
*/
static int
-blue_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+blue_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
blue_queue_t *rqp = (blue_queue_t *)ifq->altq_disc;
int error = 0;
- if (blue_addq(rqp->rq_blue, rqp->rq_q, m, pktattr) == 0)
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ if (blue_addq(rqp->rq_blue, rqp->rq_q, m, &pktattr) == 0)
ifq->ifq_len++;
else
error = ENOBUFS;
Index: src/sys/altq/altq_cbq.c
diff -u src/sys/altq/altq_cbq.c:1.28 src/sys/altq/altq_cbq.c:1.29
--- src/sys/altq/altq_cbq.c:1.28 Sat Oct 18 08:33:24 2014
+++ src/sys/altq/altq_cbq.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_cbq.c,v 1.28 2014/10/18 08:33:24 snj Exp $ */
+/* $NetBSD: altq_cbq.c,v 1.29 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_cbq.c,v 1.21 2005/04/13 03:44:24 suz Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_cbq.c,v 1.28 2014/10/18 08:33:24 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_cbq.c,v 1.29 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -82,8 +82,7 @@ static int cbq_class_destroy(cbq_state
static struct rm_class *clh_to_clp(cbq_state_t *, u_int32_t);
static int cbq_clear_interface(cbq_state_t *);
static int cbq_request(struct ifaltq *, int, void *);
-static int cbq_enqueue(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *);
+static int cbq_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *cbq_dequeue(struct ifaltq *, int);
static void cbqrestart(struct ifaltq *);
static void get_class_stats(class_stats_t *, struct rm_class *);
@@ -483,7 +482,7 @@ cbq_getqstats(struct pf_altq *a, void *u
/*
* int
- * cbq_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pattr)
+ * cbq_enqueue(struct ifaltq *ifq, struct mbuf *m)
* - Queue data packets.
*
* cbq_enqueue is set to ifp->if_altqenqueue and called by an upper
@@ -497,8 +496,9 @@ cbq_getqstats(struct pf_altq *a, void *u
*/
static int
-cbq_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+cbq_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
cbq_state_t *cbqp = (cbq_state_t *)ifq->altq_disc;
struct rm_class *cl;
struct m_tag *t;
@@ -516,8 +516,8 @@ cbq_enqueue(struct ifaltq *ifq, struct m
if ((t = m_tag_find(m, PACKET_TAG_ALTQ_QID, NULL)) != NULL)
cl = clh_to_clp(cbqp, ((struct altq_tag *)(t+1))->qid);
#ifdef ALTQ3_COMPAT
- else if ((ifq->altq_flags & ALTQF_CLASSIFY) && pktattr != NULL)
- cl = pktattr->pattr_class;
+ else if (ifq->altq_flags & ALTQF_CLASSIFY)
+ cl = m->m_pkthdr.pattr_class;
#endif
if (cl == NULL) {
cl = cbqp->ifnp.default_;
@@ -527,9 +527,13 @@ cbq_enqueue(struct ifaltq *ifq, struct m
}
}
#ifdef ALTQ3_COMPAT
- if (pktattr != NULL)
- cl->pktattr_ = pktattr; /* save proto hdr used by ECN */
- else
+ if (m->m_pkthdr.pattr_af != AF_UNSPEC) {
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ cl->pktattr_ = &pktattr; /* save proto hdr used by ECN */
+ } else
#endif
cl->pktattr_ = NULL;
len = m_pktlen(m);
Index: src/sys/altq/altq_fifoq.c
diff -u src/sys/altq/altq_fifoq.c:1.16 src/sys/altq/altq_fifoq.c:1.17
--- src/sys/altq/altq_fifoq.c:1.16 Sun Mar 4 05:59:01 2007
+++ src/sys/altq/altq_fifoq.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_fifoq.c,v 1.16 2007/03/04 05:59:01 christos Exp $ */
+/* $NetBSD: altq_fifoq.c,v 1.17 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_fifoq.c,v 1.12 2003/07/10 12:07:48 kjc Exp $ */
/*
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_fifoq.c,v 1.16 2007/03/04 05:59:01 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_fifoq.c,v 1.17 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -70,8 +70,7 @@ __KERNEL_RCSID(0, "$NetBSD: altq_fifoq.c
static fifoq_state_t *fifoq_list = NULL;
/* internal function prototypes */
-static int fifoq_enqueue(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *);
+static int fifoq_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *fifoq_dequeue(struct ifaltq *, int);
static int fifoq_detach(fifoq_state_t *);
static int fifoq_request(struct ifaltq *, int, void *);
@@ -266,8 +265,7 @@ fifoqioctl(dev_t dev, ioctlcmd_t cmd, vo
* ENOBUFS when drop occurs.
*/
static int
-fifoq_enqueue(struct ifaltq *ifq, struct mbuf *m,
- struct altq_pktattr *pktattr)
+fifoq_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
fifoq_state_t *q = (fifoq_state_t *)ifq->altq_disc;
Index: src/sys/altq/altq_hfsc.c
diff -u src/sys/altq/altq_hfsc.c:1.25 src/sys/altq/altq_hfsc.c:1.26
--- src/sys/altq/altq_hfsc.c:1.25 Fri Jan 22 18:19:54 2016
+++ src/sys/altq/altq_hfsc.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_hfsc.c,v 1.25 2016/01/22 18:19:54 christos Exp $ */
+/* $NetBSD: altq_hfsc.c,v 1.26 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_hfsc.c,v 1.26 2005/04/13 03:44:24 suz Exp $ */
/*
@@ -43,7 +43,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_hfsc.c,v 1.25 2016/01/22 18:19:54 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_hfsc.c,v 1.26 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -90,8 +90,7 @@ static struct hfsc_class *hfsc_class_cre
struct hfsc_class *, int, int, int);
static int hfsc_class_destroy(struct hfsc_class *);
static struct hfsc_class *hfsc_nextclass(struct hfsc_class *);
-static int hfsc_enqueue(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *);
+static int hfsc_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *hfsc_dequeue(struct ifaltq *, int);
static int hfsc_addq(struct hfsc_class *, struct mbuf *);
@@ -666,8 +665,9 @@ hfsc_nextclass(struct hfsc_class *cl)
* (*altq_enqueue) in struct ifaltq.
*/
static int
-hfsc_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+hfsc_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
struct hfsc_if *hif = (struct hfsc_if *)ifq->altq_disc;
struct hfsc_class *cl;
struct m_tag *t;
@@ -685,8 +685,8 @@ hfsc_enqueue(struct ifaltq *ifq, struct
if ((t = m_tag_find(m, PACKET_TAG_ALTQ_QID, NULL)) != NULL)
cl = clh_to_clp(hif, ((struct altq_tag *)(t+1))->qid);
#ifdef ALTQ3_COMPAT
- else if ((ifq->altq_flags & ALTQF_CLASSIFY) && pktattr != NULL)
- cl = pktattr->pattr_class;
+ else if ((ifq->altq_flags & ALTQF_CLASSIFY))
+ cl = m->m_pkthdr.pattr_class;
#endif
if (cl == NULL || is_a_parent_class(cl)) {
cl = hif->hif_defaultclass;
@@ -696,9 +696,13 @@ hfsc_enqueue(struct ifaltq *ifq, struct
}
}
#ifdef ALTQ3_COMPAT
- if (pktattr != NULL)
- cl->cl_pktattr = pktattr; /* save proto hdr used by ECN */
- else
+ if (m->m_pkthdr.pattr_af != AF_UNSPEC) {
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ cl->cl_pktattr = &pktattr; /* save proto hdr used by ECN */
+ } else
#endif
cl->cl_pktattr = NULL;
len = m_pktlen(m);
Index: src/sys/altq/altq_jobs.c
diff -u src/sys/altq/altq_jobs.c:1.8 src/sys/altq/altq_jobs.c:1.9
--- src/sys/altq/altq_jobs.c:1.8 Fri Jan 22 18:19:54 2016
+++ src/sys/altq/altq_jobs.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_jobs.c,v 1.8 2016/01/22 18:19:54 christos Exp $ */
+/* $NetBSD: altq_jobs.c,v 1.9 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_jobs.c,v 1.11 2005/04/13 03:44:25 suz Exp $ */
/*
* Copyright (c) 2001, the Rector and Board of Visitors of the
@@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_jobs.c,v 1.8 2016/01/22 18:19:54 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_jobs.c,v 1.9 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -103,7 +103,7 @@ static void jobs_purge(struct jobs_if *)
static struct jobs_class *jobs_class_create(struct jobs_if *,
int, int64_t, int64_t, int64_t, int64_t, int64_t, int);
static int jobs_class_destroy(struct jobs_class *);
-static int jobs_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+static int jobs_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *jobs_dequeue(struct ifaltq *, int);
static int jobs_addq(struct jobs_class *, struct mbuf *, struct jobs_if*);
@@ -490,7 +490,7 @@ jobs_class_destroy(struct jobs_class *cl
* (*altq_enqueue) in struct ifaltq.
*/
static int
-jobs_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+jobs_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
struct jobs_if *jif = (struct jobs_if *)ifq->altq_disc;
struct jobs_class *cl, *scan;
@@ -533,7 +533,7 @@ jobs_enqueue(struct ifaltq *ifq, struct
}
/* grab class set by classifier */
- if (pktattr == NULL || (cl = pktattr->pattr_class) == NULL)
+ if ((cl = m->m_pkthdr.pattr_class) == NULL)
cl = jif->jif_default;
len = m_pktlen(m);
Index: src/sys/altq/altq_priq.c
diff -u src/sys/altq/altq_priq.c:1.22 src/sys/altq/altq_priq.c:1.23
--- src/sys/altq/altq_priq.c:1.22 Fri Jan 22 18:19:54 2016
+++ src/sys/altq/altq_priq.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_priq.c,v 1.22 2016/01/22 18:19:54 christos Exp $ */
+/* $NetBSD: altq_priq.c,v 1.23 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_priq.c,v 1.13 2005/04/13 03:44:25 suz Exp $ */
/*
* Copyright (C) 2000-2003
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_priq.c,v 1.22 2016/01/22 18:19:54 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_priq.c,v 1.23 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -76,7 +76,7 @@ static void priq_purge(struct priq_if *)
static struct priq_class *priq_class_create(struct priq_if *, int, int, int,
int);
static int priq_class_destroy(struct priq_class *);
-static int priq_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+static int priq_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *priq_dequeue(struct ifaltq *, int);
static int priq_addq(struct priq_class *, struct mbuf *);
@@ -438,8 +438,9 @@ priq_class_destroy(struct priq_class *cl
* (*altq_enqueue) in struct ifaltq.
*/
static int
-priq_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+priq_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
struct priq_if *pif = (struct priq_if *)ifq->altq_disc;
struct priq_class *cl;
struct m_tag *t;
@@ -457,8 +458,8 @@ priq_enqueue(struct ifaltq *ifq, struct
if ((t = m_tag_find(m, PACKET_TAG_ALTQ_QID, NULL)) != NULL)
cl = clh_to_clp(pif, ((struct altq_tag *)(t+1))->qid);
#ifdef ALTQ3_COMPAT
- else if ((ifq->altq_flags & ALTQF_CLASSIFY) && pktattr != NULL)
- cl = pktattr->pattr_class;
+ else if (ifq->altq_flags & ALTQF_CLASSIFY)
+ cl = m->m_pkthdr.pattr_class;
#endif
if (cl == NULL) {
cl = pif->pif_default;
@@ -468,9 +469,13 @@ priq_enqueue(struct ifaltq *ifq, struct
}
}
#ifdef ALTQ3_COMPAT
- if (pktattr != NULL)
- cl->cl_pktattr = pktattr; /* save proto hdr used by ECN */
- else
+ if (m->m_pkthdr.pattr_af != AF_UNSPEC) {
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ cl->cl_pktattr = &pktattr; /* save proto hdr used by ECN */
+ } else
#endif
cl->cl_pktattr = NULL;
len = m_pktlen(m);
Index: src/sys/altq/altq_red.c
diff -u src/sys/altq/altq_red.c:1.29 src/sys/altq/altq_red.c:1.30
--- src/sys/altq/altq_red.c:1.29 Sat Nov 19 22:51:18 2011
+++ src/sys/altq/altq_red.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_red.c,v 1.29 2011/11/19 22:51:18 tls Exp $ */
+/* $NetBSD: altq_red.c,v 1.30 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_red.c,v 1.20 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_red.c,v 1.29 2011/11/19 22:51:18 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_red.c,v 1.30 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -203,7 +203,7 @@ static int default_inv_pmax = INV_P_MAX;
#ifdef ALTQ3_COMPAT
/* internal function prototypes */
-static int red_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+static int red_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *red_dequeue(struct ifaltq *, int);
static int red_request(struct ifaltq *, int, void *);
static void red_purgeq(red_queue_t *);
@@ -1011,11 +1011,16 @@ red_detach(red_queue_t *rqp)
* ENOBUFS when drop occurs.
*/
static int
-red_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+red_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
red_queue_t *rqp = (red_queue_t *)ifq->altq_disc;
- if (red_addq(rqp->rq_red, rqp->rq_q, m, pktattr) < 0)
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ if (red_addq(rqp->rq_red, rqp->rq_q, m, &pktattr) < 0)
return ENOBUFS;
ifq->ifq_len++;
return 0;
Index: src/sys/altq/altq_subr.c
diff -u src/sys/altq/altq_subr.c:1.29 src/sys/altq/altq_subr.c:1.30
--- src/sys/altq/altq_subr.c:1.29 Sat May 17 20:44:24 2014
+++ src/sys/altq/altq_subr.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_subr.c,v 1.29 2014/05/17 20:44:24 rmind Exp $ */
+/* $NetBSD: altq_subr.c,v 1.30 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_subr.c,v 1.24 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.29 2014/05/17 20:44:24 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_subr.c,v 1.30 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -125,7 +125,7 @@ altq_lookup(char *name, int type)
int
altq_attach(struct ifaltq *ifq, int type, void *discipline,
- int (*enqueue)(struct ifaltq *, struct mbuf *, struct altq_pktattr *),
+ int (*enqueue)(struct ifaltq *, struct mbuf *),
struct mbuf *(*dequeue)(struct ifaltq *, int),
int (*request)(struct ifaltq *, int, void *),
void *clfier, void *(*classify)(void *, struct mbuf *, int))
Index: src/sys/altq/altq_rio.c
diff -u src/sys/altq/altq_rio.c:1.21 src/sys/altq/altq_rio.c:1.22
--- src/sys/altq/altq_rio.c:1.21 Sat Apr 18 14:58:02 2009
+++ src/sys/altq/altq_rio.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_rio.c,v 1.21 2009/04/18 14:58:02 tsutsui Exp $ */
+/* $NetBSD: altq_rio.c,v 1.22 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_rio.c,v 1.19 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -60,7 +60,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_rio.c,v 1.21 2009/04/18 14:58:02 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_rio.c,v 1.22 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -190,7 +190,7 @@ static struct redparams default_rio_para
/* internal function prototypes */
static int dscp2index(u_int8_t);
#ifdef ALTQ3_COMPAT
-static int rio_enqueue(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+static int rio_enqueue(struct ifaltq *, struct mbuf *);
static struct mbuf *rio_dequeue(struct ifaltq *, int);
static int rio_request(struct ifaltq *, int, void *);
static int rio_detach(rio_queue_t *);
@@ -763,12 +763,17 @@ rio_request(struct ifaltq *ifq, int req,
* ENOBUFS when drop occurs.
*/
static int
-rio_enqueue(struct ifaltq *ifq, struct mbuf *m, struct altq_pktattr *pktattr)
+rio_enqueue(struct ifaltq *ifq, struct mbuf *m)
{
+ struct altq_pktattr pktattr;
rio_queue_t *rqp = (rio_queue_t *)ifq->altq_disc;
int error = 0;
- if (rio_addq(rqp->rq_rio, rqp->rq_q, m, pktattr) == 0)
+ pktattr.pattr_class = m->m_pkthdr.pattr_class;
+ pktattr.pattr_af = m->m_pkthdr.pattr_af;
+ pktattr.pattr_hdr = m->m_pkthdr.pattr_hdr;
+
+ if (rio_addq(rqp->rq_rio, rqp->rq_q, m, &pktattr) == 0)
ifq->ifq_len++;
else
error = ENOBUFS;
Index: src/sys/altq/altq_wfq.c
diff -u src/sys/altq/altq_wfq.c:1.20 src/sys/altq/altq_wfq.c:1.21
--- src/sys/altq/altq_wfq.c:1.20 Thu Mar 20 20:51:54 2014
+++ src/sys/altq/altq_wfq.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: altq_wfq.c,v 1.20 2014/03/20 20:51:54 christos Exp $ */
+/* $NetBSD: altq_wfq.c,v 1.21 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: altq_wfq.c,v 1.14 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_wfq.c,v 1.20 2014/03/20 20:51:54 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_wfq.c,v 1.21 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_altq.h"
@@ -69,8 +69,7 @@ __KERNEL_RCSID(0, "$NetBSD: altq_wfq.c,v
static int wfq_setenable(struct wfq_interface *, int);
static int wfq_ifattach(struct wfq_interface *);
static int wfq_ifdetach(struct wfq_interface *);
-static int wfq_ifenqueue(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *);
+static int wfq_ifenqueue(struct ifaltq *, struct mbuf *);
static u_long wfq_hash(struct flowinfo *, int);
static inline u_long wfq_hashbydstaddr(struct flowinfo *, int);
static inline u_long wfq_hashbysrcaddr(struct flowinfo *, int);
@@ -249,7 +248,7 @@ wfq_classify(void *clfier, struct mbuf *
}
static int
-wfq_ifenqueue(struct ifaltq *ifq, struct mbuf *mp, struct altq_pktattr *pktattr)
+wfq_ifenqueue(struct ifaltq *ifq, struct mbuf *mp)
{
wfq_state_t *wfqp;
wfq *queue;
@@ -259,7 +258,7 @@ wfq_ifenqueue(struct ifaltq *ifq, struct
mp->m_nextpkt = NULL;
/* grab a queue selected by classifier */
- if (pktattr == NULL || (queue = pktattr->pattr_class) == NULL)
+ if ((queue = mp->m_pkthdr.pattr_class) == NULL)
queue = &wfqp->queue[0];
if (queue->tail == NULL)
Index: src/sys/altq/if_altq.h
diff -u src/sys/altq/if_altq.h:1.14 src/sys/altq/if_altq.h:1.15
--- src/sys/altq/if_altq.h:1.14 Tue Jul 1 10:16:02 2014
+++ src/sys/altq/if_altq.h Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_altq.h,v 1.14 2014/07/01 10:16:02 ozaki-r Exp $ */
+/* $NetBSD: if_altq.h,v 1.15 2016/04/20 08:58:48 knakahara Exp $ */
/* $KAME: if_altq.h,v 1.12 2005/04/13 03:44:25 suz Exp $ */
/*
@@ -53,8 +53,7 @@ struct ifaltq {
void *altq_disc; /* for discipline-specific use */
struct ifnet *altq_ifp; /* back pointer to interface */
- int (*altq_enqueue)(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *);
+ int (*altq_enqueue)(struct ifaltq *, struct mbuf *);
struct mbuf *(*altq_dequeue)(struct ifaltq *, int);
int (*altq_request)(struct ifaltq *, int, void *);
@@ -146,8 +145,8 @@ struct tb_regulator {
#define ALTQ_CLEAR_CNDTNING(ifq) ((ifq)->altq_flags &= ~ALTQF_CNDTNING)
#define ALTQ_IS_ATTACHED(ifq) ((ifq)->altq_disc != NULL)
-#define ALTQ_ENQUEUE(ifq, m, pa, err) \
- (err) = (*(ifq)->altq_enqueue)((ifq),(m),(pa))
+#define ALTQ_ENQUEUE(ifq, m, err) \
+ (err) = (*(ifq)->altq_enqueue)((ifq),(m))
#define ALTQ_DEQUEUE(ifq, m) \
(m) = (*(ifq)->altq_dequeue)((ifq), ALTDQ_REMOVE)
#define ALTQ_POLL(ifq, m) \
@@ -158,8 +157,7 @@ struct tb_regulator {
#define TBR_IS_ENABLED(ifq) ((ifq)->altq_tbr != NULL)
extern int altq_attach(struct ifaltq *, int, void *,
- int (*)(struct ifaltq *, struct mbuf *,
- struct altq_pktattr *),
+ int (*)(struct ifaltq *, struct mbuf *),
struct mbuf *(*)(struct ifaltq *, int),
int (*)(struct ifaltq *, int, void *),
void *,
@@ -170,7 +168,7 @@ extern int altq_disable(struct ifaltq *)
extern struct mbuf *tbr_dequeue(struct ifaltq *, int);
extern int (*altq_input)(struct mbuf *, int);
#if 1 /* ALTQ3_CLFIER_COMPAT */
-void altq_etherclassify(struct ifaltq *, struct mbuf *, struct altq_pktattr *);
+void altq_etherclassify(struct ifaltq *, struct mbuf *);
#endif
#endif /* _KERNEL */
Index: src/sys/net/if.h
diff -u src/sys/net/if.h:1.199 src/sys/net/if.h:1.200
--- src/sys/net/if.h:1.199 Wed Apr 20 08:56:32 2016
+++ src/sys/net/if.h Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if.h,v 1.199 2016/04/20 08:56:32 knakahara Exp $ */
+/* $NetBSD: if.h,v 1.200 2016/04/20 08:58:48 knakahara Exp $ */
/*-
* Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -761,13 +761,9 @@ struct if_addrprefreq {
do { \
struct altq_pktattr *_unused __unused = unused; \
IFQ_LOCK((ifq)); \
- if (ALTQ_IS_ENABLED((ifq))) { \
- struct altq_pktattr pattr; \
- pattr.pattr_class = (m)->m_pkthdr.pattr_class; \
- pattr.pattr_af = (m)->m_pkthdr.pattr_af; \
- pattr.pattr_hdr = (m)->m_pkthdr.pattr_hdr; \
- ALTQ_ENQUEUE((ifq), (m), &pattr, (err)); \
- } else { \
+ if (ALTQ_IS_ENABLED((ifq))) \
+ ALTQ_ENQUEUE((ifq), (m), (err)); \
+ else { \
if (IF_QFULL((ifq))) { \
m_freem((m)); \
(err) = ENOBUFS; \
Index: src/sys/net/if_bridge.c
diff -u src/sys/net/if_bridge.c:1.115 src/sys/net/if_bridge.c:1.116
--- src/sys/net/if_bridge.c:1.115 Tue Apr 19 07:10:22 2016
+++ src/sys/net/if_bridge.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bridge.c,v 1.115 2016/04/19 07:10:22 ozaki-r Exp $ */
+/* $NetBSD: if_bridge.c,v 1.116 2016/04/20 08:58:48 knakahara Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -80,7 +80,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.115 2016/04/19 07:10:22 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bridge.c,v 1.116 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_bridge_ipf.h"
@@ -1375,7 +1375,7 @@ bridge_enqueue(struct bridge_softc *sc,
*/
if (ALTQ_IS_ENABLED(&dst_ifp->if_snd)) {
/* XXX IFT_ETHER */
- altq_etherclassify(&dst_ifp->if_snd, m, &pktattr);
+ altq_etherclassify(&dst_ifp->if_snd, m);
}
#endif /* ALTQ */
Index: src/sys/net/if_ethersubr.c
diff -u src/sys/net/if_ethersubr.c:1.219 src/sys/net/if_ethersubr.c:1.220
--- src/sys/net/if_ethersubr.c:1.219 Wed Apr 20 08:56:32 2016
+++ src/sys/net/if_ethersubr.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ethersubr.c,v 1.219 2016/04/20 08:56:32 knakahara Exp $ */
+/* $NetBSD: if_ethersubr.c,v 1.220 2016/04/20 08:58:48 knakahara Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.219 2016/04/20 08:56:32 knakahara Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.220 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -418,7 +418,7 @@ ether_output(struct ifnet * const ifp0,
* address family/header pointer in the pktattr.
*/
if (ALTQ_IS_ENABLED(&ifp->if_snd))
- altq_etherclassify(&ifp->if_snd, m, NULL);
+ altq_etherclassify(&ifp->if_snd, m);
#endif
return ifq_enqueue(ifp, m ALTQ_COMMA ALTQ_DECL(&pktattr));
@@ -435,8 +435,7 @@ bad:
* classification engine understands link headers.
*/
void
-altq_etherclassify(struct ifaltq *ifq, struct mbuf *m,
- struct altq_pktattr *pktattr)
+altq_etherclassify(struct ifaltq *ifq, struct mbuf *m)
{
struct ether_header *eh;
uint16_t ether_type;
Index: src/sys/net/if_vlan.c
diff -u src/sys/net/if_vlan.c:1.84 src/sys/net/if_vlan.c:1.85
--- src/sys/net/if_vlan.c:1.84 Tue Feb 9 08:32:12 2016
+++ src/sys/net/if_vlan.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: if_vlan.c,v 1.84 2016/02/09 08:32:12 ozaki-r Exp $ */
+/* $NetBSD: if_vlan.c,v 1.85 2016/04/20 08:58:48 knakahara Exp $ */
/*-
* Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
@@ -78,7 +78,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.84 2016/02/09 08:32:12 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vlan.c,v 1.85 2016/04/20 08:58:48 knakahara Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -709,7 +709,7 @@ vlan_start(struct ifnet *ifp)
if (ALTQ_IS_ENABLED(&p->if_snd)) {
switch (p->if_type) {
case IFT_ETHER:
- altq_etherclassify(&p->if_snd, m, &pktattr);
+ altq_etherclassify(&p->if_snd, m);
break;
#ifdef DIAGNOSTIC
default:
Index: src/sys/net80211/ieee80211_input.c
diff -u src/sys/net80211/ieee80211_input.c:1.80 src/sys/net80211/ieee80211_input.c:1.81
--- src/sys/net80211/ieee80211_input.c:1.80 Tue Feb 9 08:32:12 2016
+++ src/sys/net80211/ieee80211_input.c Wed Apr 20 08:58:48 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: ieee80211_input.c,v 1.80 2016/02/09 08:32:12 ozaki-r Exp $ */
+/* $NetBSD: ieee80211_input.c,v 1.81 2016/04/20 08:58:48 knakahara 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.80 2016/02/09 08:32:12 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ieee80211_input.c,v 1.81 2016/04/20 08:58:48 knakahara Exp $");
#endif
#ifdef _KERNEL_OPT
@@ -741,8 +741,7 @@ ieee80211_deliver_data(struct ieee80211c
int len;
#ifdef ALTQ
if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
- altq_etherclassify(&ifp->if_snd, m1,
- &pktattr);
+ altq_etherclassify(&ifp->if_snd, m1);
}
#endif
len = m1->m_pkthdr.len;