Module Name:    src
Committed By:   ozaki-r
Date:           Wed Jul 14 08:31:15 UTC 2021

Modified Files:
        src/sys/altq: altq_cbq.c

Log Message:
altq, cbq: allow the root class to be default


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/altq/altq_cbq.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_cbq.c
diff -u src/sys/altq/altq_cbq.c:1.33 src/sys/altq/altq_cbq.c:1.34
--- src/sys/altq/altq_cbq.c:1.33	Wed Jul 14 08:27:59 2021
+++ src/sys/altq/altq_cbq.c	Wed Jul 14 08:31:15 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: altq_cbq.c,v 1.33 2021/07/14 08:27:59 ozaki-r Exp $	*/
+/*	$NetBSD: altq_cbq.c,v 1.34 2021/07/14 08:31:15 ozaki-r 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.33 2021/07/14 08:27:59 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_cbq.c,v 1.34 2021/07/14 08:31:15 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_altq.h"
@@ -363,31 +363,26 @@ cbq_add_queue(struct pf_altq *a)
 	/*
 	 * check parameters
 	 */
-	switch (opts->flags & CBQCLF_CLASSMASK) {
-	case CBQCLF_ROOTCLASS:
+	if ((opts->flags & CBQCLF_ROOTCLASS) != 0) {
 		if (parent != NULL)
 			return (EINVAL);
 		if (cbqp->ifnp.root_)
 			return (EINVAL);
-		break;
-	case CBQCLF_DEFCLASS:
+	}
+	if ((opts->flags & CBQCLF_DEFCLASS) != 0) {
 		if (cbqp->ifnp.default_)
 			return (EINVAL);
-		break;
-	case 0:
+	}
+	if ((opts->flags & CBQCLF_CLASSMASK) == 0) {
 		if (a->qid == 0)
 			return (EINVAL);
-		break;
-	default:
-		/* more than two flags bits set */
-		return (EINVAL);
 	}
 
 	/*
 	 * create a class.  if this is a root class, initialize the
 	 * interface.
 	 */
-	if ((opts->flags & CBQCLF_CLASSMASK) == CBQCLF_ROOTCLASS) {
+	if ((opts->flags & CBQCLF_ROOTCLASS) != 0) {
 		error = rmc_init(cbqp->ifnp.ifq_, &cbqp->ifnp,
 		    opts->ns_per_byte, cbqrestart, a->qlimit, RM_MAXQUEUED,
 		    opts->maxidle, opts->minidle, opts->offtime,
@@ -412,7 +407,7 @@ cbq_add_queue(struct pf_altq *a)
 	/* save the allocated class */
 	cbqp->cbq_class_tbl[i] = cl;
 
-	if ((opts->flags & CBQCLF_CLASSMASK) == CBQCLF_DEFCLASS)
+	if ((opts->flags & CBQCLF_DEFCLASS) != 0)
 		cbqp->ifnp.default_ = cl;
 
 	return (0);
@@ -727,7 +722,7 @@ cbq_class_create(cbq_state_t *cbqp, stru
 	 * create a class.  if this is a root class, initialize the
 	 * interface.
 	 */
-	if ((spec->flags & CBQCLF_CLASSMASK) == CBQCLF_ROOTCLASS) {
+	if ((spec->flags & CBQCLF_ROOTCLASS) != 0) {
 		error = rmc_init(cbqp->ifnp.ifq_, &cbqp->ifnp,
 		    spec->nano_sec_per_byte, cbqrestart, spec->maxq,
 		    RM_MAXQUEUED, spec->maxidle, spec->minidle, spec->offtime,
@@ -754,9 +749,9 @@ cbq_class_create(cbq_state_t *cbqp, stru
 	/* save the allocated class */
 	cbqp->cbq_class_tbl[i] = cl;
 
-	if ((spec->flags & CBQCLF_CLASSMASK) == CBQCLF_DEFCLASS)
+	if ((spec->flags & CBQCLF_CLASSMASK) != 0)
 		cbqp->ifnp.default_ = cl;
-	if ((spec->flags & CBQCLF_CLASSMASK) == CBQCLF_CTLCLASS)
+	if ((spec->flags & CBQCLF_CTLCLASS) != 0)
 		cbqp->ifnp.ctl_ = cl;
 
 	return (0);

Reply via email to