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;

Reply via email to