Bug 164772

Summary: incorrect ipfw sched parameters in manual
Product: Documentation Reporter: Alexander Sheiko <adsh>
Component: Books & ArticlesAssignee: Isabell Long <issyl0>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Alexander Sheiko 2012-02-04 20:30:10 UTC
IPFW(8)                 FreeBSD System Manager's Manual                IPFW(8)

     type {fifo | wf2qp | rr | qfq}
             specifies the scheduling algorithm to use.

Attempt to set scheduler parameters:

ipfw sched 1 config type fifo
ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Invalid argument
ipfw sched 1 config type wf2qp
ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Invalid argument
ipfw sched 1 config type rr
ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Invalid argument
ipfw sched 1 config type qfq
ipfw: setsockopt(IP_DUMMYNET_CONFIGURE): Invalid argument

But

ipfw sched 1 config type FIFO
ipfw sched 1 config type WF2Q+
ipfw sched 1 config type RR
ipfw sched 1 config type QFQ

work fine.
Comment 1 Isabell Long freebsd_committer freebsd_triage 2012-06-30 19:03:03 UTC
Responsible Changed
From-To: freebsd-doc->issyl0

I'll deal with this one.
Comment 2 dfilter service freebsd_committer freebsd_triage 2012-07-03 09:43:04 UTC
Author: issyl0 (doc committer)
Date: Tue Jul  3 08:42:48 2012
New Revision: 238063
URL: http://svn.freebsd.org/changeset/base/238063

Log:
  - Make ipfw's sched rules case insensitive, for user-friendliness.
  - Add a note to the ipfw(8) man page about the rules no longer being
  case sensitive.
  - Fix some typos in the man page.
  
  PR:		docs/164772
  Reviewed by:	bz
  Approved by:	gabor (doc mentor, src committer)
  MFC after:	2 weeks

Modified:
  head/sbin/ipfw/ipfw.8
  head/sys/netinet/ipfw/ip_dummynet.c

Modified: head/sbin/ipfw/ipfw.8
==============================================================================
--- head/sbin/ipfw/ipfw.8	Tue Jul  3 08:40:20 2012	(r238062)
+++ head/sbin/ipfw/ipfw.8	Tue Jul  3 08:42:48 2012	(r238063)
@@ -1,7 +1,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd June 10, 2012
+.Dd July 3, 2012
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -2218,19 +2218,20 @@ Specifies the weight to be used for flow
 The weight must be in the range 1..100, and defaults to 1.
 .El
 .Pp
-The following parameters can be configured for a scheduler:
+The following case-insensitive parameters can be configured for a
+scheduler:
 .Pp
 .Bl -tag -width indent -compact
-.It Cm type Ar {fifo | wf2qp | rr | qfq}
+.It Cm type Ar {fifo | wf2q+ | rr | qfq}
 specifies the scheduling algorithm to use.
 .Bl -tag -width indent -compact
-.It cm fifo
+.It Cm fifo
 is just a FIFO scheduler (which means that all packets
 are stored in the same queue as they arrive to the scheduler).
 FIFO has O(1) per-packet time complexity, with very low
 constants (estimate 60-80ns on a 2GHz desktop machine)
 but gives no service guarantees.
-.It Cm wf2qp
+.It Cm wf2q+
 implements the WF2Q+ algorithm, which is a Weighted Fair Queueing
 algorithm which permits flows to share bandwidth according to
 their weights. Note that weights are not priorities; even a flow

Modified: head/sys/netinet/ipfw/ip_dummynet.c
==============================================================================
--- head/sys/netinet/ipfw/ip_dummynet.c	Tue Jul  3 08:40:20 2012	(r238062)
+++ head/sys/netinet/ipfw/ip_dummynet.c	Tue Jul  3 08:42:48 2012	(r238063)
@@ -97,7 +97,7 @@ find_sched_type(int type, char *name)
 	struct dn_alg *d;
 
 	SLIST_FOREACH(d, &dn_cfg.schedlist, next) {
-		if (d->type == type || (name && !strcmp(d->name, name)))
+		if (d->type == type || (name && !strcasecmp(d->name, name)))
 			return d;
 	}
 	return NULL; /* not found */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 3 Isabell Long freebsd_committer freebsd_triage 2012-07-09 22:18:33 UTC
State Changed
From-To: open->patched

A fix was committed to HEAD in r238063.  Now awaiting merge.
Comment 4 dfilter service freebsd_committer freebsd_triage 2012-07-22 12:00:28 UTC
Author: issyl0 (doc committer)
Date: Sun Jul 22 11:00:02 2012
New Revision: 238683
URL: http://svn.freebsd.org/changeset/base/238683

Log:
  MFC r238063:
   - Make ipfw's sched rules case insensitive, for user-friendliness.
   - Add a note to the ipfw(8) man page about the rules no longer being
   case sensitive.
   - Fix some typos in the man page.
  
  PR:		docs/164772
  Reviewed by:	bz
  Approved by:	gavin
  Approved by:	re (kib)

Modified:
  stable/9/sbin/ipfw/ipfw.8
  stable/9/sys/netinet/ipfw/ip_dummynet.c

Modified: stable/9/sbin/ipfw/ipfw.8
==============================================================================
--- stable/9/sbin/ipfw/ipfw.8	Sun Jul 22 10:21:42 2012	(r238682)
+++ stable/9/sbin/ipfw/ipfw.8	Sun Jul 22 11:00:02 2012	(r238683)
@@ -1,7 +1,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 9, 2012
+.Dd July 3, 2012
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -2225,19 +2225,20 @@ Specifies the weight to be used for flow
 The weight must be in the range 1..100, and defaults to 1.
 .El
 .Pp
-The following parameters can be configured for a scheduler:
+The following case-insensitive parameters can be configured for a
+scheduler:
 .Pp
 .Bl -tag -width indent -compact
-.It Cm type Ar {fifo | wf2qp | rr | qfq}
+.It Cm type Ar {fifo | wf2q+ | rr | qfq}
 specifies the scheduling algorithm to use.
 .Bl -tag -width indent -compact
-.It cm fifo
+.It Cm fifo
 is just a FIFO scheduler (which means that all packets
 are stored in the same queue as they arrive to the scheduler).
 FIFO has O(1) per-packet time complexity, with very low
 constants (estimate 60-80ns on a 2GHz desktop machine)
 but gives no service guarantees.
-.It Cm wf2qp
+.It Cm wf2q+
 implements the WF2Q+ algorithm, which is a Weighted Fair Queueing
 algorithm which permits flows to share bandwidth according to
 their weights. Note that weights are not priorities; even a flow

Modified: stable/9/sys/netinet/ipfw/ip_dummynet.c
==============================================================================
--- stable/9/sys/netinet/ipfw/ip_dummynet.c	Sun Jul 22 10:21:42 2012	(r238682)
+++ stable/9/sys/netinet/ipfw/ip_dummynet.c	Sun Jul 22 11:00:02 2012	(r238683)
@@ -97,7 +97,7 @@ find_sched_type(int type, char *name)
 	struct dn_alg *d;
 
 	SLIST_FOREACH(d, &dn_cfg.schedlist, next) {
-		if (d->type == type || (name && !strcmp(d->name, name)))
+		if (d->type == type || (name && !strcasecmp(d->name, name)))
 			return d;
 	}
 	return NULL; /* not found */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 5 dfilter service freebsd_committer freebsd_triage 2012-07-22 12:22:20 UTC
Author: issyl0 (doc committer)
Date: Sun Jul 22 11:22:04 2012
New Revision: 238685
URL: http://svn.freebsd.org/changeset/base/238685

Log:
  MFC r238063:
   - Make ipfw's sched rules case insensitive, for user-friendliness.
   - Add a note to the ipfw(8) man page about the rules no longer being
   case sensitive.
   - Fix some typos in the man page.
  
  PR:		docs/164772
  Reviewed by:	bz
  Approved by:	gavin

Modified:
  stable/8/sbin/ipfw/ipfw.8
  stable/8/sys/netinet/ipfw/ip_dummynet.c
Directory Properties:
  stable/8/sbin/ipfw/   (props changed)
  stable/8/sys/   (props changed)

Modified: stable/8/sbin/ipfw/ipfw.8
==============================================================================
--- stable/8/sbin/ipfw/ipfw.8	Sun Jul 22 11:07:59 2012	(r238684)
+++ stable/8/sbin/ipfw/ipfw.8	Sun Jul 22 11:22:04 2012	(r238685)
@@ -1,7 +1,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd March 9, 2012
+.Dd July 3, 2012
 .Dt IPFW 8
 .Os
 .Sh NAME
@@ -2209,19 +2209,20 @@ Specifies the weight to be used for flow
 The weight must be in the range 1..100, and defaults to 1.
 .El
 .Pp
-The following parameters can be configured for a scheduler:
+The following case-insensitive parameters can be configured for a
+scheduler:
 .Pp
 .Bl -tag -width indent -compact
-.It Cm type Ar {fifo | wf2qp | rr | qfq}
+.It Cm type Ar {fifo | wf2q+ | rr | qfq}
 specifies the scheduling algorithm to use.
 .Bl -tag -width indent -compact
-.It cm fifo
+.It Cm fifo
 is just a FIFO scheduler (which means that all packets
 are stored in the same queue as they arrive to the scheduler).
 FIFO has O(1) per-packet time complexity, with very low
 constants (estimate 60-80ns on a 2GHz desktop machine)
 but gives no service guarantees.
-.It Cm wf2qp
+.It Cm wf2q+
 implements the WF2Q+ algorithm, which is a Weighted Fair Queueing
 algorithm which permits flows to share bandwidth according to
 their weights. Note that weights are not priorities; even a flow

Modified: stable/8/sys/netinet/ipfw/ip_dummynet.c
==============================================================================
--- stable/8/sys/netinet/ipfw/ip_dummynet.c	Sun Jul 22 11:07:59 2012	(r238684)
+++ stable/8/sys/netinet/ipfw/ip_dummynet.c	Sun Jul 22 11:22:04 2012	(r238685)
@@ -97,7 +97,7 @@ find_sched_type(int type, char *name)
 	struct dn_alg *d;
 
 	SLIST_FOREACH(d, &dn_cfg.schedlist, next) {
-		if (d->type == type || (name && !strcmp(d->name, name)))
+		if (d->type == type || (name && !strcasecmp(d->name, name)))
 			return d;
 	}
 	return NULL; /* not found */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Comment 6 Isabell Long freebsd_committer freebsd_triage 2012-07-22 12:27:06 UTC
State Changed
From-To: patched->closed

Fixes have been merged to older releases now.  Thanks again for 
reporting the problem.