From nork@FreeBSD.org  Sat Oct 28 16:09:38 2006
Return-Path: <nork@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id E124716A415
	for <FreeBSD-gnats-submit@FreeBSD.org>; Sat, 28 Oct 2006 16:09:37 +0000 (UTC)
	(envelope-from nork@FreeBSD.org)
Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 6F40743D69
	for <FreeBSD-gnats-submit@FreeBSD.org>; Sat, 28 Oct 2006 16:09:37 +0000 (GMT)
	(envelope-from nork@FreeBSD.org)
Received: from nadesico.ninth-nine.com (nadesico.ninth-nine.com [219.127.74.122]) by sakura.ninth-nine.com (8.13.8/8.13.8/NinthNine) with SMTP id k9SG9ZbV073169 for <FreeBSD-gnats-submit@freebsd.org>; Sun, 29 Oct 2006 01:09:35 +0900 (JST) (envelope-from Message-Id: <20061029010934.5afef73e.nork@FreeBSD.org>
Date: Sun, 29 Oct 2006 01:09:34 +0900
From: Norikatsu Shigemura <nork@FreeBSD.org>
To: FreeBSD-gnats-submit@FreeBSD.org
Subject: Add support EtherChannel configuration to rc.conf

>Number:         104884
>Category:       conf
>Synopsis:       [patch] Add support EtherChannel configuration to rc.conf
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    flz
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
>Closed-Date:    Mon Oct 29 15:46:49 UTC 2007
>Last-Modified:  Mon Oct 29 15:46:49 UTC 2007
>Originator:     Norikatsu Shigemura
>Release:        FreeBSD 6.2-PRERELEASE i386
>Organization:
Ensure Technology LTD.
>Environment:
System: FreeBSD melfina.ninth-nine.com 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #32: Sun Oct 22 05:57:55 JST 2006 nork@melfina.ninth-nine.com:/usr/obj/usr/src/sys/MELFINA i386

>Description:
	Add support EtherChannel configuration to rc startup script.

	How to use it:
	/etc/rc.conf  - - - - - - - - - - - - - - - - - - - - - - - - - - -
	fec_interfaces="fec0"
	fecconfig_fec0="fxp0 fxp1"
	ifconfig_fec0="DHCP"
	- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
	And reboot the machine.

>How-To-Repeat:
	None.

>Fix:
	Obtained from:	net/dtcpclient
	Thanks:		ume

	I tested with Cisco Catalyst 2940 and FreeBSD 6.2-PRERELEASE.

--- fecconfig.diff begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	DIFF.etc-defaults-rc.conf
#	DIFF.etc-network.subr
#	DIFF.etc-rc.d-netif
#
echo x - DIFF.etc-defaults-rc.conf
sed 's/^X//' >DIFF.etc-defaults-rc.conf << 'END-of-DIFF.etc-defaults-rc.conf'
X--- etc/defaults/rc.conf.orig	Mon Oct 16 13:32:35 2006
X+++ etc/defaults/rc.conf	Tue Oct 24 22:52:02 2006
X@@ -178,6 +178,10 @@
X 				# Choose correct tunnel addrs.
X #gifconfig_gif0="10.1.1.1 10.1.2.1"	# Examples typically for a router.
X #gifconfig_gif1="10.1.1.2 10.1.2.2"	# Examples typically for a router.
X+fec_interfaces="NO"		# List of Fast EtherChannels (or "NO")
X+#fec_interfaces="fec0 fec1"
X+#fecconfig_fec0="fxp0 dc0"	# Examples typically for two NICs
X+#fecconfig_fec1="em0 em1 bge0 bge1"	# Examples typically for four NICs
X 
X # User ppp configuration.
X ppp_enable="NO"		# Start user-ppp (or NO).
END-of-DIFF.etc-defaults-rc.conf
echo x - DIFF.etc-network.subr
sed 's/^X//' >DIFF.etc-network.subr << 'END-of-DIFF.etc-network.subr'
X--- etc/network.subr.orig	Thu Oct 12 01:16:37 2006
X+++ etc/network.subr	Tue Oct 24 22:50:41 2006
X@@ -907,3 +907,78 @@
X 		esac
X 	done
X }
X+
X+ng_mkpeer() {
X+	ngctl -f - 2> /dev/null <<EOF
X+mkpeer $*
X+msg dummy nodeinfo
X+EOF
X+}
X+
X+ng_create_one() {
X+	ng_mkpeer $* | while read line; do
X+		t=`expr "${line}" : '.* name="\([a-z]*[0-9]*\)" .*'`
X+		if [ -n "${t}" ]; then
X+			echo ${t}
X+			return
X+		fi
X+	done
X+}
X+
X+ng_fec_create() {
X+	 local req_iface iface bogus
X+	 req_iface="$1"
X+
X+	 if [ -z "${req_iface}" ]; then
X+		 iface=`ng_create_one fec dummy fec`
X+		 if [ -z "${iface}" ]; then
X+			 exit 2
X+		 fi
X+		 echo ${iface}
X+		 return
X+	 fi
X+
X+	 ngctl shutdown ${req_iface}: > /dev/null 2>&1
X+
X+	 bogus=""
X+	 while true; do
X+		 iface=`ng_create_one fec dummy fec`
X+		 if [ -z "${iface}" ]; then
X+			 exit 2
X+		 fi
X+		 if [ "${iface}" = "${req_iface}" ]; then
X+			 echo ${iface}
X+			 break
X+		 fi
X+		 bogus="${bogus} ${iface}"
X+	 done
X+
X+	 for iface in ${bogus}; do
X+		 ngctl shutdown ${iface}:
X+	 done
X+}
X+
X+# fec_up ifn
X+# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
X+# arguments were found and configured; returns 1 otherwise.
X+fec_up() {
X+	case ${fec_interfaces} in
X+	[Nn][Oo] | '')
X+		;;
X+	*)
X+		for i in ${fec_interfaces}; do
X+			ng_fec_create $i
X+			for j in `get_if_var $i fecconfig_IF`; do
X+				case ${j} in
X+				'')
X+					continue
X+					;;
X+				*)
X+					ngctl msg ${i}: add_iface "\"${j}\""
X+					;;
X+				esac
X+			done
X+		done
X+		;;
X+	esac
X+}
END-of-DIFF.etc-network.subr
echo x - DIFF.etc-rc.d-netif
sed 's/^X//' >DIFF.etc-rc.d-netif << 'END-of-DIFF.etc-rc.d-netif'
X--- etc/rc.d/netif.orig	Tue Jul 25 05:46:14 2006
X+++ etc/rc.d/netif	Tue Oct 24 22:53:00 2006
X@@ -57,6 +57,9 @@
X 		# Create cloned interfaces
X 		clone_up
X 
X+		# Create Fast EtherChannel interfaces
X+		fec_up
X+
X 		# Create IPv6<-->IPv4 tunnels
X 		gif_up
X 
END-of-DIFF.etc-rc.d-netif
exit
--- fecconfig.diff ends here ---
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-rc 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat Oct 28 16:18:09 UTC 2006 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=104884 

From: Norikatsu Shigemura <nork@FreeBSD.org>
To: freebsd-rc@FreeBSD.org
Cc: FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 29 Jan 2007 00:04:59 +0900

 On Sat, 28 Oct 2006 16:10:18 GMT
 FreeBSD-gnats-submit@FreeBSD.org wrote:
 > Thank you very much for your problem report.
 > It has the internal identification `conf/104884'.
 > The individual assigned to look at your
 > report is: freebsd-bugs. 
 > You can access the state of your problem report at any time
 > via this link:
 > http://www.freebsd.org/cgi/query-pr.cgi?pr=104884
 > >Category:       conf
 > >Responsible:    freebsd-bugs
 > >Synopsis:       Add support EtherChannel configuration to rc.conf
 > >Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 
 	I chased HEAD.  Please see following patch.
 	Anyone, please handle this PR?
 	And I'll make a patch for 6-stable.
 
 Index: network.subr
 ===================================================================
 RCS file: /home/ncvs/src/etc/network.subr,v
 retrieving revision 1.176
 diff -u -r1.176 network.subr
 --- network.subr	29 Oct 2006 13:29:49 -0000	1.176
 +++ network.subr	28 Jan 2007 14:52:36 -0000
 @@ -907,3 +907,78 @@
  		esac
  	done
  }
 +
 +ng_mkpeer() {
 +	ngctl -f - 2> /dev/null <<EOF
 +mkpeer $*
 +msg dummy nodeinfo
 +EOF
 +}
 +
 +ng_create_one() {
 +	ng_mkpeer $* | while read line; do
 +		t=`expr "${line}" : '.* name="\([a-z]*[0-9]*\)" .*'`
 +		if [ -n "${t}" ]; then
 +			echo ${t}
 +			return
 +		fi
 +	done
 +}
 +
 +ng_fec_create() {
 +	local req_iface iface bogus
 +	req_iface="$1"
 +
 +	if [ -z "${req_iface}" ]; then
 +		iface=`ng_create_one fec dummy fec`
 +		if [ -z "${iface}" ]; then
 +			exit 2
 +		fi
 +		echo ${iface}
 +		return
 +	fi
 +
 +	ngctl shutdown ${req_iface}: > /dev/null 2>&1
 +
 +	bogus=""
 +	while true; do
 +		iface=`ng_create_one fec dummy fec`
 +		if [ -z "${iface}" ]; then
 +			exit 2
 +		fi
 +		if [ "${iface}" = "${req_iface}" ]; then
 +			echo ${iface}
 +			break
 +		fi
 +		bogus="${bogus} ${iface}"
 +	done
 +
 +	for iface in ${bogus}; do
 +		ngctl shutdown ${iface}:
 +	done
 +}
 +
 +# fec_up ifn
 +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
 +# arguments were found and configured; returns 1 otherwise.
 +fec_up() {
 +	case ${fec_interfaces} in
 +	[Nn][Oo] | '')
 +		;;
 +	*)
 +		for i in ${fec_interfaces}; do
 +			ng_fec_create $i
 +			for j in `get_if_var $i fecconfig_IF`; do
 +				case ${j} in
 +				'')
 +					continue
 +					;;
 +				*)
 +					ngctl msg ${i}: add_iface "\"${j}\""
 +					;;
 +				esac
 +			done
 +		done
 +		;;
 +	esac
 +}
 Index: defaults/rc.conf
 ===================================================================
 RCS file: /home/ncvs/src/etc/defaults/rc.conf,v
 retrieving revision 1.303
 diff -u -r1.303 rc.conf
 --- defaults/rc.conf	20 Jan 2007 04:24:19 -0000	1.303
 +++ defaults/rc.conf	28 Jan 2007 14:52:36 -0000
 @@ -183,6 +183,10 @@
  				# Choose correct tunnel addrs.
  #gifconfig_gif0="10.1.1.1 10.1.2.1"	# Examples typically for a router.
  #gifconfig_gif1="10.1.1.2 10.1.2.2"	# Examples typically for a router.
 +fec_interfaces="NO"		# List of Fast EtherChannels (or "NO")
 +#fec_interfaces="fec0 fec1"
 +#fecconfig_fec0="fxp0 dc0"	# Examples typically for two NICs
 +#fecconfig_fec1="em0 em1 bge0 bge1"	# Examples typically for four NICs
  
  # User ppp configuration.
  ppp_enable="NO"		# Start user-ppp (or NO).
 Index: rc.d/netif
 ===================================================================
 RCS file: /home/ncvs/src/etc/rc.d/netif,v
 retrieving revision 1.21
 diff -u -r1.21 netif
 --- rc.d/netif	30 Dec 2006 22:53:20 -0000	1.21
 +++ rc.d/netif	28 Jan 2007 14:52:36 -0000
 @@ -57,6 +57,9 @@
  		# Create cloned interfaces
  		clone_up
  
 +		# Create Fast EtherChannel interfaces
 +		fec_up
 +
  		# Create IPv6<-->IPv4 tunnels
  		gif_up

From: Florent Thoumie <flz@FreeBSD.org>
To: Norikatsu Shigemura <nork@FreeBSD.org>
Cc: freebsd-rc@FreeBSD.org,  freebsd-bugs@FreeBSD.org, 
 FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Sun, 28 Jan 2007 19:37:03 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enigB3FDFFC9949431DB83FAF0B7
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Norikatsu Shigemura wrote:
 > On Sat, 28 Oct 2006 16:10:18 GMT
 > FreeBSD-gnats-submit@FreeBSD.org wrote:
 >> Thank you very much for your problem report.
 >> It has the internal identification `conf/104884'.
 >> The individual assigned to look at your
 >> report is: freebsd-bugs.=20
 >> You can access the state of your problem report at any time
 >> via this link:
 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >>> Category:       conf
 >>> Responsible:    freebsd-bugs
 >>> Synopsis:       Add support EtherChannel configuration to rc.conf
 >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >=20
 > 	I chased HEAD.  Please see following patch.
 > 	Anyone, please handle this PR?
 > 	And I'll make a patch for 6-stable.
 
 I'm sorry, I meant to answer but forgot about it. I don't know much
 about technical details, so I'll only focus on style. Here are my
 comments on the patch:
 
 > Index: network.subr
 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 > RCS file: /home/ncvs/src/etc/network.subr,v
 > retrieving revision 1.176
 > diff -u -r1.176 network.subr
 > --- network.subr	29 Oct 2006 13:29:49 -0000	1.176
 > +++ network.subr	28 Jan 2007 14:52:36 -0000
 > @@ -907,3 +907,78 @@
 >  		esac
 >  	done
 >  }
 > +
 > +ng_mkpeer() {
 > +	ngctl -f - 2> /dev/null <<EOF
 > +mkpeer $*
 > +msg dummy nodeinfo
 > +EOF
 > +}
 > +
 > +ng_create_one() {
 > +	ng_mkpeer $* | while read line; do
 > +		t=3D`expr "${line}" : '.* name=3D"\([a-z]*[0-9]*\)" .*'`
 > +		if [ -n "${t}" ]; then
 > +			echo ${t}
 > +			return
 > +		fi
 > +	done
 > +}
 > +
 > +ng_fec_create() {
 > +	local req_iface iface bogus
 > +	req_iface=3D"$1"
 > +
 > +	if [ -z "${req_iface}" ]; then
 
 Why are you testing this? It's only called in fec_up() and can't be
 called with a empty argument. Or do you want to "export" the function to
 other scripts?
 
 > +		iface=3D`ng_create_one fec dummy fec`
 > +		if [ -z "${iface}" ]; then
 > +			exit 2
 > +		fi
 > +		echo ${iface}
 > +		return
 > +	fi
 > +
 > +	ngctl shutdown ${req_iface}: > /dev/null 2>&1
 > +
 > +	bogus=3D""
 > +	while true; do
 > +		iface=3D`ng_create_one fec dummy fec`
 > +		if [ -z "${iface}" ]; then
 > +			exit 2
 > +		fi
 > +		if [ "${iface}" =3D "${req_iface}" ]; then
 > +			echo ${iface}
 > +			break
 > +		fi
 > +		bogus=3D"${bogus} ${iface}"
 > +	done
 > +
 > +	for iface in ${bogus}; do
 > +		ngctl shutdown ${iface}:
 > +	done
 
 These loops are a bit confusing. If I understand correctly, you're
 creating interfaces until they reach the right number and then you
 delete all the ones which have been created unnecessarily? Could it be
 that iface is higher than req_iface (which would loop undefinitely)?
 
 > +}
 > +
 > +# fec_up ifn
 > +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
 > +# arguments were found and configured; returns 1 otherwise.
 > +fec_up() {
 > +	case ${fec_interfaces} in
 > +	[Nn][Oo] | '')
 > +		;;
 
 What's the point of this? The 'case' seems useless to me. Just got with
 the 'for' loop. If it's an empty list, then it just won't do anything.
 Default has to be '' and not 'NO' (but it seems more sensible anyway).
 
 > +	*)
 > +		for i in ${fec_interfaces}; do
 > +			ng_fec_create $i
 > +			for j in `get_if_var $i fecconfig_IF`; do
 > +				case ${j} in
 > +				'')
 > +					continue
 > +					;;
 > +				*)
 > +					ngctl msg ${i}: add_iface "\"${j}\""
 > +					;;
 > +				esac
 > +			done
 > +		done
 > +		;;
 > +	esac
 > +}
 > Index: defaults/rc.conf
 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 > RCS file: /home/ncvs/src/etc/defaults/rc.conf,v
 > retrieving revision 1.303
 > diff -u -r1.303 rc.conf
 > --- defaults/rc.conf	20 Jan 2007 04:24:19 -0000	1.303
 > +++ defaults/rc.conf	28 Jan 2007 14:52:36 -0000
 > @@ -183,6 +183,10 @@
 >  				# Choose correct tunnel addrs.
 >  #gifconfig_gif0=3D"10.1.1.1 10.1.2.1"	# Examples typically for a route=
 r.
 >  #gifconfig_gif1=3D"10.1.1.2 10.1.2.2"	# Examples typically for a route=
 r.
 > +fec_interfaces=3D"NO"		# List of Fast EtherChannels (or "NO")
 
 Set to '' instead of 'NO' as explained above.
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enigB3FDFFC9949431DB83FAF0B7
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFvPtjMxEkbVFH3PQRCrPlAJ9QEPvY37Aig2zecyxSrRrhKd5jhgCffNec
 i/xPN8NB5u0rAaG6oEanBnA=
 =u0qe
 -----END PGP SIGNATURE-----
 
 --------------enigB3FDFFC9949431DB83FAF0B7--

From: Norikatsu Shigemura <nork@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Tue, 30 Jan 2007 01:53:17 +0900

 On Sun, 28 Jan 2007 19:37:03 +0000
 Florent Thoumie <flz@freebsd.org> wrote:
 > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=104884
 > >>> Category:       conf
 > >>> Responsible:    freebsd-bugs
 > >>> Synopsis:       Add support EtherChannel configuration to rc.conf
 > >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 > > 	I chased HEAD.  Please see following patch.
 > > 	Anyone, please handle this PR?
 > > 	And I'll make a patch for 6-stable.
 > I'm sorry, I meant to answer but forgot about it. I don't know much
 
 	Thanks for your handling.
 
 > about technical details, so I'll only focus on style. Here are my
 > comments on the patch:
 
 	I think that the answer of all questions is 'BECAUSE netgraph's
 	specification.'. :-)
 
 > > Index: network.subr
 > > ===================================================================
 > > RCS file: /home/ncvs/src/etc/network.subr,v
 > > retrieving revision 1.176
 > > diff -u -r1.176 network.subr
 > > --- network.subr	29 Oct 2006 13:29:49 -0000	1.176
 > > +++ network.subr	28 Jan 2007 14:52:36 -0000
 > > @@ -907,3 +907,78 @@
 > >  		esac
 > >  	done
 > >  }
 > > +
 > > +ng_mkpeer() {
 > > +	ngctl -f - 2> /dev/null <<EOF
 > > +mkpeer $*
 > > +msg dummy nodeinfo
 > > +EOF
 > > +}
 > > +
 > > +ng_create_one() {
 > > +	ng_mkpeer $* | while read line; do
 > > +		t=`expr "${line}" : '.* name="\([a-z]*[0-9]*\)" .*'`
 > > +		if [ -n "${t}" ]; then
 > > +			echo ${t}
 > > +			return
 > > +		fi
 > > +	done
 > > +}
 
 	I implemented ng_mkpeer and ng_create_one as generic functions.
 	If anyone want to add other netgraph function, they can use
 	these functions.
 
 > > +ng_fec_create() {
 > > +	local req_iface iface bogus
 > > +	req_iface="$1"
 > > +	if [ -z "${req_iface}" ]; then
 > Why are you testing this? It's only called in fec_up() and can't be
 > called with a empty argument. Or do you want to "export" the function to
 > other scripts?
 
 	Ah! This code's meaning was changed from original code.  Yes,
 	I think that this code should be removed.
 
 > > +	ngctl shutdown ${req_iface}: > /dev/null 2>&1
 > > +	bogus=""
 > > +	while true; do
 > > +		iface=`ng_create_one fec dummy fec`
 > > +		if [ -z "${iface}" ]; then
 > > +			exit 2
 > > +		fi
 > > +		if [ "${iface}" = "${req_iface}" ]; then
 > > +			echo ${iface}
 > > +			break
 > > +		fi
 > > +		bogus="${bogus} ${iface}"
 > > +	done
 > > +	for iface in ${bogus}; do
 > > +		ngctl shutdown ${iface}:
 > > +	done
 > 
 > These loops are a bit confusing. If I understand correctly, you're
 > creating interfaces until they reach the right number and then you
 > delete all the ones which have been created unnecessarily? Could it be
 
 	Your understanding is right:-).  But we cannot control unit number
 	in 'ngctl mkpeer', because 'Find the first free unit number for a
 	new interface' strategy in sys/netgraph/ng_fec.c#ng_fec_get_unit.
 
 > that iface is higher than req_iface (which would loop undefinitely)?
 
 	Previously, I removed req_iface by ngctl shutdown.  So not reache
 	infinity:-).
 
 > > +# fec_up ifn
 > > +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
 > > +# arguments were found and configured; returns 1 otherwise.
 > > +fec_up() {
 > > +	case ${fec_interfaces} in
 > > +	[Nn][Oo] | '')
 > > +		;;
 > What's the point of this? The 'case' seems useless to me. Just got with
 > the 'for' loop. If it's an empty list, then it just won't do anything.
 > Default has to be '' and not 'NO' (but it seems more sensible anyway).
 
 	I obtained gif_up code.  I don't know why/where are problem in it.
 
 > > --- defaults/rc.conf	20 Jan 2007 04:24:19 -0000	1.303
 > > +++ defaults/rc.conf	28 Jan 2007 14:52:36 -0000
 > > @@ -183,6 +183,10 @@
 > >  				# Choose correct tunnel addrs.
 > >  #gifconfig_gif0="10.1.1.1 10.1.2.1"	# Examples typically for a router.
 > >  #gifconfig_gif1="10.1.1.2 10.1.2.2"	# Examples typically for a router.
 > > +fec_interfaces="NO"		# List of Fast EtherChannels (or "NO")
 > Set to '' instead of 'NO' as explained above.
 
 	same as gif_interfaces, too.

From: Florent Thoumie <flz@FreeBSD.org>
To: Norikatsu Shigemura <nork@FreeBSD.org>
Cc: freebsd-rc@FreeBSD.org,  bug-followup@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 29 Jan 2007 17:15:51 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig3C1315AA345CB877ABCD4D34
 Content-Type: text/plain; charset=ISO-8859-15
 Content-Transfer-Encoding: quoted-printable
 
 Norikatsu Shigemura wrote:
 > The following reply was made to PR conf/104884; it has been noted by GN=
 ATS.
 >=20
 > From: Norikatsu Shigemura <nork@FreeBSD.org>
 > To: Florent Thoumie <flz@FreeBSD.org>
 > Cc: Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
 >         FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
 > Subject: Re: conf/104884: Add support EtherChannel configuration to rc.=
 conf
 > Date: Tue, 30 Jan 2007 01:53:17 +0900
 >=20
 >  On Sun, 28 Jan 2007 19:37:03 +0000
 >  Florent Thoumie <flz@freebsd.org> wrote:
 >  > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >  > >>> Category:       conf
 >  > >>> Responsible:    freebsd-bugs
 >  > >>> Synopsis:       Add support EtherChannel configuration to rc.con=
 f
 >  > >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >  > > 	I chased HEAD.  Please see following patch.
 >  > > 	Anyone, please handle this PR?
 >  > > 	And I'll make a patch for 6-stable.
 >  > I'm sorry, I meant to answer but forgot about it. I don't know much
 > =20
 >  	Thanks for your handling.
 > =20
 >  > about technical details, so I'll only focus on style. Here are my
 >  > comments on the patch:
 > =20
 >  	I think that the answer of all questions is 'BECAUSE netgraph's
 >  	specification.'. :-)
 
 =2E.. which I don't really know, so better not take everything I write as=
 
 face value :-)
 
 >  > > Index: network.subr
 >  > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 >  > > RCS file: /home/ncvs/src/etc/network.subr,v
 >  > > retrieving revision 1.176
 >  > > diff -u -r1.176 network.subr
 >  > > --- network.subr	29 Oct 2006 13:29:49 -0000	1.176
 >  > > +++ network.subr	28 Jan 2007 14:52:36 -0000
 >  > > @@ -907,3 +907,78 @@
 >  > >  		esac
 >  > >  	done
 >  > >  }
 >  > > +
 >  > > +ng_mkpeer() {
 >  > > +	ngctl -f - 2> /dev/null <<EOF
 >  > > +mkpeer $*
 >  > > +msg dummy nodeinfo
 >  > > +EOF
 >  > > +}
 >  > > +
 >  > > +ng_create_one() {
 >  > > +	ng_mkpeer $* | while read line; do
 >  > > +		t=3D`expr "${line}" : '.* name=3D"\([a-z]*[0-9]*\)" .*'`
 >  > > +		if [ -n "${t}" ]; then
 >  > > +			echo ${t}
 >  > > +			return
 >  > > +		fi
 >  > > +	done
 >  > > +}
 > =20
 >  	I implemented ng_mkpeer and ng_create_one as generic functions.
 >  	If anyone want to add other netgraph function, they can use
 >  	these functions.
 
 I wasn't commenting this one, seemed alright to me.
 
 
 >  > > +ng_fec_create() {
 >  > > +	local req_iface iface bogus
 >  > > +	req_iface=3D"$1"
 >  > > +	if [ -z "${req_iface}" ]; then
 >  > Why are you testing this? It's only called in fec_up() and can't be
 >  > called with a empty argument. Or do you want to "export" the functio=
 n to
 >  > other scripts?
 > =20
 >  	Ah! This code's meaning was changed from original code.  Yes,
 >  	I think that this code should be removed.
 > =20
 >  > > +	ngctl shutdown ${req_iface}: > /dev/null 2>&1
 >  > > +	bogus=3D""
 >  > > +	while true; do
 >  > > +		iface=3D`ng_create_one fec dummy fec`
 >  > > +		if [ -z "${iface}" ]; then
 >  > > +			exit 2
 >  > > +		fi
 >  > > +		if [ "${iface}" =3D "${req_iface}" ]; then
 >  > > +			echo ${iface}
 >  > > +			break
 >  > > +		fi
 >  > > +		bogus=3D"${bogus} ${iface}"
 >  > > +	done
 >  > > +	for iface in ${bogus}; do
 >  > > +		ngctl shutdown ${iface}:
 >  > > +	done
 >  >=20
 >  > These loops are a bit confusing. If I understand correctly, you're
 >  > creating interfaces until they reach the right number and then you
 >  > delete all the ones which have been created unnecessarily? Could it =
 be
 > =20
 >  	Your understanding is right:-).  But we cannot control unit number
 >  	in 'ngctl mkpeer', because 'Find the first free unit number for a
 >  	new interface' strategy in sys/netgraph/ng_fec.c#ng_fec_get_unit.
 > =20
 >  > that iface is higher than req_iface (which would loop undefinitely)?=
 
 > =20
 >  	Previously, I removed req_iface by ngctl shutdown.  So not reache
 >  	infinity:-).
 
 Fair enough.
 
 >  > > +# fec_up ifn
 >  > > +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FE=
 C
 >  > > +# arguments were found and configured; returns 1 otherwise.
 >  > > +fec_up() {
 >  > > +	case ${fec_interfaces} in
 >  > > +	[Nn][Oo] | '')
 >  > > +		;;
 >  > What's the point of this? The 'case' seems useless to me. Just got w=
 ith
 >  > the 'for' loop. If it's an empty list, then it just won't do anythin=
 g.
 >  > Default has to be '' and not 'NO' (but it seems more sensible anyway=
 ).
 > =20
 >  	I obtained gif_up code.  I don't know why/where are problem in it.
 
 No problem, just seemed bad style to me :-)
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig3C1315AA345CB877ABCD4D34
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFvivMMxEkbVFH3PQRCny3AJ4xgCVFGTFMEKVlG9xIxSpVZHbCywCeOhSh
 sod+QxcYxMjAkupUSK7ph/o=
 =5W2+
 -----END PGP SIGNATURE-----
 
 --------------enig3C1315AA345CB877ABCD4D34--

From: Florent Thoumie <flz@FreeBSD.org>
To: Norikatsu Shigemura <nork@FreeBSD.org>
Cc: freebsd-rc@FreeBSD.org,  freebsd-bugs@FreeBSD.org, 
 FreeBSD-gnats-submit@FreeBSD.org,  dougb@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 05 Feb 2007 16:14:50 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig40C6C70D41F5517E42A9C95A
 Content-Type: text/plain; charset=ISO-8859-15
 Content-Transfer-Encoding: quoted-printable
 
 Norikatsu Shigemura wrote:
 > On Sat, 28 Oct 2006 16:10:18 GMT
 > FreeBSD-gnats-submit@FreeBSD.org wrote:
 >> Thank you very much for your problem report.
 >> It has the internal identification `conf/104884'.
 >> The individual assigned to look at your
 >> report is: freebsd-bugs.=20
 >> You can access the state of your problem report at any time
 >> via this link:
 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >>> Category:       conf
 >>> Responsible:    freebsd-bugs
 >>> Synopsis:       Add support EtherChannel configuration to rc.conf
 >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >=20
 > 	I chased HEAD.  Please see following patch.
 > 	Anyone, please handle this PR?
 > 	And I'll make a patch for 6-stable.
 >=20
 
 I've made my comments on this. Maybe someone else should review it?
 
 Doug, any input on that?
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig40C6C70D41F5517E42A9C95A
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFx1f/MxEkbVFH3PQRCi3rAJ9WtYBkxykvYLPBxBCiyF71mk7fjwCfQRz9
 odg1ail5TUYqRh9Wct33sdY=
 =+qNW
 -----END PGP SIGNATURE-----
 
 --------------enig40C6C70D41F5517E42A9C95A--

From: Brooks Davis <brooks@freebsd.org>
To: Florent Thoumie <flz@freebsd.org>
Cc: Norikatsu Shigemura <nork@freebsd.org>, dougb@freebsd.org,
        freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org,
        freebsd-rc@freebsd.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 5 Feb 2007 10:36:46 -0600

 On Mon, Feb 05, 2007 at 04:14:50PM +0000, Florent Thoumie wrote:
 > Norikatsu Shigemura wrote:
 > > On Sat, 28 Oct 2006 16:10:18 GMT
 > > FreeBSD-gnats-submit@FreeBSD.org wrote:
 > >> Thank you very much for your problem report.
 > >> It has the internal identification `conf/104884'.
 > >> The individual assigned to look at your
 > >> report is: freebsd-bugs. 
 > >> You can access the state of your problem report at any time
 > >> via this link:
 > >> http://www.freebsd.org/cgi/query-pr.cgi?pr=104884
 > >>> Category:       conf
 > >>> Responsible:    freebsd-bugs
 > >>> Synopsis:       Add support EtherChannel configuration to rc.conf
 > >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 > > 
 > > 	I chased HEAD.  Please see following patch.
 > > 	Anyone, please handle this PR?
 > > 	And I'll make a patch for 6-stable.
 > > 
 > 
 > I've made my comments on this. Maybe someone else should review it?
 
 It seems basicly fine and should be useful.  (At least until someone
 finally shoots the netgraph part of ng_fec in the head.)  I'd like to
 see "" be the offical way to not configure any fec interfaces. gif_up's
 use of NO is a mistake (IMO).  It would be OK to allow "NO" as an
 undocumented synanim for "".
 
 -- Brooks
 

From: Florent Thoumie <flz@FreeBSD.org>
To: Brooks Davis <brooks@freebsd.org>
Cc: Norikatsu Shigemura <nork@freebsd.org>,  dougb@freebsd.org, 
 freebsd-bugs@freebsd.org,  FreeBSD-gnats-submit@freebsd.org, 
 freebsd-rc@freebsd.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 05 Feb 2007 16:41:03 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig1AFF4891C58A325D2BF554BF
 Content-Type: text/plain; charset=ISO-8859-15
 Content-Transfer-Encoding: quoted-printable
 
 Brooks Davis wrote:
 > On Mon, Feb 05, 2007 at 04:14:50PM +0000, Florent Thoumie wrote:
 >> Norikatsu Shigemura wrote:
 >>> On Sat, 28 Oct 2006 16:10:18 GMT
 >>> FreeBSD-gnats-submit@FreeBSD.org wrote:
 >>>> Thank you very much for your problem report.
 >>>> It has the internal identification `conf/104884'.
 >>>> The individual assigned to look at your
 >>>> report is: freebsd-bugs.=20
 >>>> You can access the state of your problem report at any time
 >>>> via this link:
 >>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >>>>> Category:       conf
 >>>>> Responsible:    freebsd-bugs
 >>>>> Synopsis:       Add support EtherChannel configuration to rc.conf
 >>>>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >>> 	I chased HEAD.  Please see following patch.
 >>> 	Anyone, please handle this PR?
 >>> 	And I'll make a patch for 6-stable.
 >>>
 >> I've made my comments on this. Maybe someone else should review it?
 >=20
 > It seems basicly fine and should be useful.  (At least until someone
 > finally shoots the netgraph part of ng_fec in the head.)  I'd like to
 > see "" be the offical way to not configure any fec interfaces. gif_up's=
 
 > use of NO is a mistake (IMO).  It would be OK to allow "NO" as an
 > undocumented synanim for "".
 
 Agreed, as said in my previous post.
 
 I think we could just set gif_interfaces and fec_interfaces to "" in
 -CURRENT and add the "NO" compatibility in RELENG_6 when MFC time comes?
 That would be a candidate for 7.0 RELNOTES.
 
 Does it make any sense to you?
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig1AFF4891C58A325D2BF554BF
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFx14kMxEkbVFH3PQRCs/uAJ9dx+NaGSyPnIFVmw8QGcTJ7orzygCcDqRl
 /Dhp6oOEDNkXhMopL6pBlHM=
 =0aIJ
 -----END PGP SIGNATURE-----
 
 --------------enig1AFF4891C58A325D2BF554BF--

From: Doug Barton <dougb@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Brooks Davis <brooks@freebsd.org>, 
 Norikatsu Shigemura <nork@freebsd.org>,
  freebsd-bugs@freebsd.org,  FreeBSD-gnats-submit@freebsd.org, 
 freebsd-rc@freebsd.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 05 Feb 2007 10:44:13 -0800

 Florent Thoumie wrote:
 > Brooks Davis wrote:
 >> On Mon, Feb 05, 2007 at 04:14:50PM +0000, Florent Thoumie wrote:
 >>> Norikatsu Shigemura wrote:
 >>>> On Sat, 28 Oct 2006 16:10:18 GMT
 >>>> FreeBSD-gnats-submit@FreeBSD.org wrote:
 >>>>> Thank you very much for your problem report.
 >>>>> It has the internal identification `conf/104884'.
 >>>>> The individual assigned to look at your
 >>>>> report is: freebsd-bugs. 
 >>>>> You can access the state of your problem report at any time
 >>>>> via this link:
 >>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=104884
 >>>>>> Category:       conf
 >>>>>> Responsible:    freebsd-bugs
 >>>>>> Synopsis:       Add support EtherChannel configuration to rc.conf
 >>>>>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >>>> 	I chased HEAD.  Please see following patch.
 >>>> 	Anyone, please handle this PR?
 >>>> 	And I'll make a patch for 6-stable.
 >>>>
 >>> I've made my comments on this. Maybe someone else should review it?
 >> It seems basicly fine and should be useful.  (At least until someone
 >> finally shoots the netgraph part of ng_fec in the head.)  I'd like to
 >> see "" be the offical way to not configure any fec interfaces. gif_up's
 >> use of NO is a mistake (IMO).  It would be OK to allow "NO" as an
 >> undocumented synanim for "".
 > 
 > Agreed, as said in my previous post.
 > 
 > I think we could just set gif_interfaces and fec_interfaces to "" in
 > -CURRENT and add the "NO" compatibility in RELENG_6 when MFC time comes?
 > That would be a candidate for 7.0 RELNOTES.
 > 
 > Does it make any sense to you?
 
 My instinct is to have it the other way around, with "NO" being the 
 default, and "" being a synonym. We've trained people that "NO" is the 
 way to turn things off with rc, and the one glaring exception to that 
 rule (sendmail) has caused an enormous amount of confusion over the 
 years.
 
 Other than that, I have no objections here.
 
 hth,
 
 Doug
 
 -- 
 
      This .signature sanitized for your protection
 

From: Florent Thoumie <flz@FreeBSD.org>
To: Doug Barton <dougb@FreeBSD.org>
Cc: Brooks Davis <brooks@freebsd.org>, 
 Norikatsu Shigemura <nork@freebsd.org>,
  freebsd-bugs@freebsd.org,  FreeBSD-gnats-submit@freebsd.org, 
 freebsd-rc@freebsd.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 05 Feb 2007 18:46:51 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enigEB8CC80FB262C2C8C1201611
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Doug Barton wrote:
 > Florent Thoumie wrote:
 >> Brooks Davis wrote:
 >>> On Mon, Feb 05, 2007 at 04:14:50PM +0000, Florent Thoumie wrote:
 >>>> Norikatsu Shigemura wrote:
 >>>>> On Sat, 28 Oct 2006 16:10:18 GMT
 >>>>> FreeBSD-gnats-submit@FreeBSD.org wrote:
 >>>>>> Thank you very much for your problem report.
 >>>>>> It has the internal identification `conf/104884'.
 >>>>>> The individual assigned to look at your
 >>>>>> report is: freebsd-bugs. You can access the state of your problem
 >>>>>> report at any time
 >>>>>> via this link:
 >>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >>>>>>> Category:       conf
 >>>>>>> Responsible:    freebsd-bugs
 >>>>>>> Synopsis:       Add support EtherChannel configuration to rc.conf=
 
 >>>>>>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >>>>>     I chased HEAD.  Please see following patch.
 >>>>>     Anyone, please handle this PR?
 >>>>>     And I'll make a patch for 6-stable.
 >>>>>
 >>>> I've made my comments on this. Maybe someone else should review it?
 >>> It seems basicly fine and should be useful.  (At least until someone
 >>> finally shoots the netgraph part of ng_fec in the head.)  I'd like to=
 
 >>> see "" be the offical way to not configure any fec interfaces. gif_up=
 's
 >>> use of NO is a mistake (IMO).  It would be OK to allow "NO" as an
 >>> undocumented synanim for "".
 >>
 >> Agreed, as said in my previous post.
 >>
 >> I think we could just set gif_interfaces and fec_interfaces to "" in
 >> -CURRENT and add the "NO" compatibility in RELENG_6 when MFC time come=
 s?
 >> That would be a candidate for 7.0 RELNOTES.
 >>
 >> Does it make any sense to you?
 >=20
 > My instinct is to have it the other way around, with "NO" being the
 > default, and "" being a synonym. We've trained people that "NO" is the
 > way to turn things off with rc, and the one glaring exception to that
 > rule (sendmail) has caused an enormous amount of confusion over the yea=
 rs.
 >=20
 > Other than that, I have no objections here.
 
 IMHO, it makes sense to have "NO" as opposed to "YES". In this case,
 it's a list. So an empty list would be "", but keeping
 "NO"-compatibility for the -STABLE branch ensures POLA. At least that's
 how I see it.
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enigEB8CC80FB262C2C8C1201611
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFx3uyMxEkbVFH3PQRCqhkAKCQBImTiFhsraqP5cUh45Y/C5MIhACeJupV
 NYtNF9lLKx9vyWC+JZHSr0E=
 =HVOK
 -----END PGP SIGNATURE-----
 
 --------------enigEB8CC80FB262C2C8C1201611--

From: Brooks Davis <brooks@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Doug Barton <dougb@FreeBSD.org>, Brooks Davis <brooks@FreeBSD.org>,
        Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 5 Feb 2007 13:02:21 -0600

 On Mon, Feb 05, 2007 at 06:46:51PM +0000, Florent Thoumie wrote:
 > Doug Barton wrote:
 > > Florent Thoumie wrote:
 > >> Brooks Davis wrote:
 > >>> On Mon, Feb 05, 2007 at 04:14:50PM +0000, Florent Thoumie wrote:
 > >>>> Norikatsu Shigemura wrote:
 > >>>>> On Sat, 28 Oct 2006 16:10:18 GMT
 > >>>>> FreeBSD-gnats-submit@FreeBSD.org wrote:
 > >>>>>> Thank you very much for your problem report.
 > >>>>>> It has the internal identification `conf/104884'.
 > >>>>>> The individual assigned to look at your
 > >>>>>> report is: freebsd-bugs. You can access the state of your problem
 > >>>>>> report at any time
 > >>>>>> via this link:
 > >>>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=104884
 > >>>>>>> Category:       conf
 > >>>>>>> Responsible:    freebsd-bugs
 > >>>>>>> Synopsis:       Add support EtherChannel configuration to rc.conf
 > >>>>>>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 > >>>>>     I chased HEAD.  Please see following patch.
 > >>>>>     Anyone, please handle this PR?
 > >>>>>     And I'll make a patch for 6-stable.
 > >>>>>
 > >>>> I've made my comments on this. Maybe someone else should review it?
 > >>> It seems basicly fine and should be useful.  (At least until someone
 > >>> finally shoots the netgraph part of ng_fec in the head.)  I'd like to
 > >>> see "" be the offical way to not configure any fec interfaces. gif_up's
 > >>> use of NO is a mistake (IMO).  It would be OK to allow "NO" as an
 > >>> undocumented synanim for "".
 > >>
 > >> Agreed, as said in my previous post.
 > >>
 > >> I think we could just set gif_interfaces and fec_interfaces to "" in
 > >> -CURRENT and add the "NO" compatibility in RELENG_6 when MFC time comes?
 > >> That would be a candidate for 7.0 RELNOTES.
 > >>
 > >> Does it make any sense to you?
 > > 
 > > My instinct is to have it the other way around, with "NO" being the
 > > default, and "" being a synonym. We've trained people that "NO" is the
 > > way to turn things off with rc, and the one glaring exception to that
 > > rule (sendmail) has caused an enormous amount of confusion over the years.
 > > 
 > > Other than that, I have no objections here.
 > 
 > IMHO, it makes sense to have "NO" as opposed to "YES". In this case,
 > it's a list. So an empty list would be "", but keeping
 > "NO"-compatibility for the -STABLE branch ensures POLA. At least that's
 > how I see it.
 
 I agree.  It's a list not a Boolean.  There's no reason to poison its
 name space this way.  Also, gif_interfaces is the only *_interfaces
 variable that takes "NO" as a special argument.
 
 The default should be an empty list which results in nothing happening.
 I'd suggest making empty list the value for the default gif_interfaces
 in /etc/defaults/rc.conf in both branches, removing support for NO in
 CURRENT and emitting a warning in stable.
 
 -- Brooks

From: Florent Thoumie <flz@FreeBSD.org>
To: Norikatsu Shigemura <nork@FreeBSD.org>
Cc: freebsd-rc@FreeBSD.org,  freebsd-bugs@FreeBSD.org, 
 FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Mon, 05 Feb 2007 19:20:02 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig10F7C438CF396E3BC8035EEA
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Norikatsu Shigemura wrote:
 > On Sat, 28 Oct 2006 16:10:18 GMT
 > FreeBSD-gnats-submit@FreeBSD.org wrote:
 >> Thank you very much for your problem report.
 >> It has the internal identification `conf/104884'.
 >> The individual assigned to look at your
 >> report is: freebsd-bugs.=20
 >> You can access the state of your problem report at any time
 >> via this link:
 >> http://www.freebsd.org/cgi/query-pr.cgi?pr=3D104884
 >>> Category:       conf
 >>> Responsible:    freebsd-bugs
 >>> Synopsis:       Add support EtherChannel configuration to rc.conf
 >>> Arrival-Date:   Sat Oct 28 16:10:18 GMT 2006
 >=20
 > 	I chased HEAD.  Please see following patch.
 > 	Anyone, please handle this PR?
 > 	And I'll make a patch for 6-stable.
 
 I just noticed two other things.
 
 > +# fec_up ifn
             ^^^
 
 fec_up uses fec_interfaces, not $1, so this is wrong.
 
 > +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
 > +# arguments were found and configured; returns 1 otherwise.
 
 fec_up is never called with an argument anyway at the moment. It
 wouldn't be hard to do: work on $1 or $fec_interfaces if $1 is empty. I
 guess we could use both 'fec_up $ifn' and 'gif_up $ifn' in rc.d/netif.
 
 The newly introduced variables also need to be documented in rc.conf.5.
 Could you please provide a patch for this?
 
 I also noticed we don't have gif_down (hence no fec_down).
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig10F7C438CF396E3BC8035EEA
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFx4NqMxEkbVFH3PQRCpa7AJ92OTvKEnTFuvgd8dxE9qMOeslJAgCfS8nk
 NzppeTdeSYYb8h+DjhsHluc=
 =GH+e
 -----END PGP SIGNATURE-----
 
 --------------enig10F7C438CF396E3BC8035EEA--

From: Florent Thoumie <flz@FreeBSD.org>
To: Norikatsu Shigemura <nork@FreeBSD.org>
Cc: freebsd-rc@FreeBSD.org,  bug-followup@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 08 Feb 2007 18:01:20 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enigA2FD93C2FA429C281902AD54
 Content-Type: multipart/mixed;
  boundary="------------070003080308050907030409"
 
 This is a multi-part message in MIME format.
 --------------070003080308050907030409
 Content-Type: text/plain; charset=ISO-8859-15
 Content-Transfer-Encoding: quoted-printable
 
 Norikatsu Shigemura wrote:
 > On Mon, 5 Feb 2007 19:30:28 GMT
 > Florent Thoumie <flz@freebsd.org> wrote:
 >>  I just noticed two other things.
 >>  > +# fec_up ifn
 >>              ^^^
 >>  fec_up uses fec_interfaces, not $1, so this is wrong.
 >>  > +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC=
 
 >>  > +# arguments were found and configured; returns 1 otherwise.
 >>  fec_up is never called with an argument anyway at the moment. It
 >>  wouldn't be hard to do: work on $1 or $fec_interfaces if $1 is empty.=
  I
 >>  guess we could use both 'fec_up $ifn' and 'gif_up $ifn' in rc.d/netif=
 =2E
 >=20
 > 	Yes.  This is ng_fec_create's comment.  I rewrote my patch.
 > 	Please check following patch.
 >=20
 >>  The newly introduced variables also need to be documented in rc.conf.=
 5.
 >>  Could you please provide a patch for this?
 >=20
 > 	I made it, but please fix my broken English:-).
 >=20
 >>  I also noticed we don't have gif_down (hence no fec_down).
 >=20
 > 	I noticed.  But it's too hard how should we do.
 
 I've rewritten the patch with the modifications we've discussed earlier
 (set default to "" instead of "NO"). I think it's fine now, so this
 version is likely to be the one that will hit the tree (in two or three
 days unless someone thinks there's something wrong).
 
 I guess a MFC delayed by 3 weeks will be ok. I'll include the "NO"
 compatibility at that time.
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 --------------070003080308050907030409
 Content-Type: text/x-patch;
  name="patch-fec.diff"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: inline;
  filename="patch-fec.diff"
 
 Index: src/etc/defaults/rc.conf
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /home/ncvs/src/etc/defaults/rc.conf,v
 retrieving revision 1.303
 diff -u -r1.303 rc.conf
 --- src/etc/defaults/rc.conf	20 Jan 2007 04:24:19 -0000	1.303
 +++ src/etc/defaults/rc.conf	8 Feb 2007 17:57:13 -0000
 @@ -178,11 +178,15 @@
  sppp_interfaces=3D""		# List of sppp interfaces.
  #sppp_interfaces=3D"isp0"		# example: sppp over ISDN
  #spppconfig_isp0=3D"authproto=3Dchap myauthname=3Dfoo myauthsecret=3D'to=
 p secret' hisauthname=3Dsome-gw hisauthsecret=3D'another secret'"
 -gif_interfaces=3D"NO"		# List of GIF tunnels (or "NO").
 +gif_interfaces=3D""		# List of GIF tunnels.
  #gif_interfaces=3D"gif0 gif1"	# Examples typically for a router.
  				# Choose correct tunnel addrs.
  #gifconfig_gif0=3D"10.1.1.1 10.1.2.1"	# Examples typically for a router.=
 
  #gifconfig_gif1=3D"10.1.1.2 10.1.2.2"	# Examples typically for a router.=
 
 +fec_interfaces=3D""		# List of Fast EtherChannels.
 +#fec_interfaces=3D"fec0 fec1"
 +#fecconfig_fec0=3D"fxp0 dc0"	# Examples typically for two NICs
 +#fecconfig_fec1=3D"em0 em1 bge0 bge1"	# Examples typically for four NICs=
 
 =20
  # User ppp configuration.
  ppp_enable=3D"NO"		# Start user-ppp (or NO).
 Index: src/etc/rc.d/netif
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /home/ncvs/src/etc/rc.d/netif,v
 retrieving revision 1.21
 diff -u -r1.21 netif
 --- src/etc/rc.d/netif	30 Dec 2006 22:53:20 -0000	1.21
 +++ src/etc/rc.d/netif	8 Feb 2007 17:57:13 -0000
 @@ -57,6 +57,9 @@
  		# Create cloned interfaces
  		clone_up
 =20
 +		# Create Fast EtherChannel interfaces
 +		fec_up
 +
  		# Create IPv6<-->IPv4 tunnels
  		gif_up
 =20
 Index: src/etc/network.subr
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /home/ncvs/src/etc/network.subr,v
 retrieving revision 1.176
 diff -u -r1.176 network.subr
 --- src/etc/network.subr	29 Oct 2006 13:29:49 -0000	1.176
 +++ src/etc/network.subr	8 Feb 2007 17:57:13 -0000
 @@ -455,26 +455,82 @@
  	debug "Destroyed clones: ${_list}"
  }
 =20
 +# Create netgraph nodes.
 +#
 +ng_mkpeer() {
 +	ngctl -f - 2> /dev/null <<EOF
 +mkpeer $*
 +msg dummy nodeinfo
 +EOF
 +}
 +
 +ng_create_one() {
 +	ng_mkpeer $* | while read line; do
 +		t=3D`expr "${line}" : '.* name=3D"\([a-z]*[0-9]*\)" .*'`
 +		if [ -n "${t}" ]; then
 +			echo ${t}
 +			return
 +		fi
 +	done
 +}
 +
  gif_up() {
 -	case ${gif_interfaces} in
 -	[Nn][Oo] | '')
 -		;;
 -	*)
 -		for i in ${gif_interfaces}; do
 -			peers=3D`get_if_var $i gifconfig_IF`
 -			case ${peers} in
 +	for i in ${gif_interfaces}; do
 +		peers=3D`get_if_var $i gifconfig_IF`
 +		case ${peers} in
 +		'')
 +			continue
 +			;;
 +		*)
 +			ifconfig $i create >/dev/null 2>&1
 +			ifconfig $i tunnel ${peers}
 +			ifconfig $i up
 +			;;
 +		esac
 +	done
 +}
 +
 +# ng_fec_create ifn
 +# Configure Fast EtherChannel for interface $ifn. Returns 0 if FEC
 +# arguments were found and configured; returns !0 otherwise.
 +ng_fec_create() {
 +	 local req_iface iface bogus
 +	 req_iface=3D"$1"
 +
 +	 ngctl shutdown ${req_iface}: > /dev/null 2>&1
 +
 +	 bogus=3D""
 +	 while true; do
 +		 iface=3D`ng_create_one fec dummy fec`
 +		 if [ -z "${iface}" ]; then
 +			 exit 2
 +		 fi
 +		 if [ "${iface}" =3D "${req_iface}" ]; then
 +			 echo ${iface}
 +			 break
 +		 fi
 +		 bogus=3D"${bogus} ${iface}"
 +	 done
 +
 +	 for iface in ${bogus}; do
 +		 ngctl shutdown ${iface}:
 +	 done
 +}
 +
 +fec_up() {
 +	for i in ${fec_interfaces}; do
 +		ng_fec_create $i
 +		for j in `get_if_var $i fecconfig_IF`; do
 +			case ${j} in
  			'')
  				continue
  				;;
  			*)
 -				ifconfig $i create >/dev/null 2>&1
 -				ifconfig $i tunnel ${peers}
 -				ifconfig $i up
 +				ngctl msg ${i}: add_iface "\"${j}\""
  				;;
  			esac
  		done
 -		;;
 -	esac
 +	done
  }
 =20
  #
 Index: src/share/man/man5/rc.conf.5
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /home/ncvs/src/share/man/man5/rc.conf.5,v
 retrieving revision 1.314
 diff -u -r1.314 rc.conf.5
 --- src/share/man/man5/rc.conf.5	24 Jan 2007 09:22:56 -0000	1.314
 +++ src/share/man/man5/rc.conf.5	8 Feb 2007 17:57:13 -0000
 @@ -24,7 +24,7 @@
  .\"
  .\" $FreeBSD: src/share/man/man5/rc.conf.5,v 1.314 2007/01/24 09:22:56 c=
 eri Exp $
  .\"
 -.Dd January 23, 2007
 +.Dd February 8, 2007
  .Dt RC.CONF 5
  .Os
  .Sh NAME
 @@ -1163,6 +1163,33 @@
  are automatically appended to
  .Va network_interfaces
  for configuration.
 +.It Va fec_interfaces
 +.Pq Vt str
 +Set to the list of
 +.Xr ng_fec 4
 +Fast EtherChannel interfaces to configure on this host.
 +A
 +.Va fecconfig_ Ns Aq Ar interface
 +variable is assumed to exist for each value of
 +.Ar interface .
 +The value of this variable is used to configure link aggregated interfac=
 es
 +according to the syntax of the
 +.Cm NGM_FEC_ADD_IFACE
 +to
 +.Xr ngctl 8=20
 +msg.
 +Additionally, this option ensures that each listed interface is created
 +via the
 +.Cm mkpeer
 +command to
 +.Xr ngctl 8
 +before attempting to configure it.
 +For example:
 +.Bd -literal
 +fec_interfaces=3D"fec0"
 +fecconfig_fec0=3D"em0 em1"
 +ifconfig_fec0=3D"DHCP"
 +.Ed
  .It Va gif_interfaces
  .Pq Vt str
  Set to the list of
 
 --------------070003080308050907030409--
 
 --------------enigA2FD93C2FA429C281902AD54
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFy2V1MxEkbVFH3PQRChnDAJ962eR82AKZl7fmw6XnAT4BOEGDmQCfTxkG
 2o+c4NUuBbhYaOErrRA8hdk=
 =GmK7
 -----END PGP SIGNATURE-----
 
 --------------enigA2FD93C2FA429C281902AD54--

From: Doug Barton <dougb@FreeBSD.org>
To: Brooks Davis <brooks@FreeBSD.org>
Cc: Florent Thoumie <flz@FreeBSD.org>, 
 Norikatsu Shigemura <nork@FreeBSD.org>,
  freebsd-bugs@FreeBSD.org,  FreeBSD-gnats-submit@FreeBSD.org, 
 freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 08 Feb 2007 13:55:16 -0800

 Brooks Davis wrote:
 
 > The default should be an empty list which results in nothing happening.
 > I'd suggest making empty list the value for the default gif_interfaces
 > in /etc/defaults/rc.conf in both branches, removing support for NO in
 > CURRENT and emitting a warning in stable.
 
 How about issuing a warning for NO in both branches? Whether I agree
 with you or not on the importance of keeping things clean and
 consistent, I definitely do not want to err on the side of pedantry
 over usability.
 
 Doug
 
 -- 
 
     This .signature sanitized for your protection

From: Brooks Davis <brooks@FreeBSD.org>
To: Doug Barton <dougb@FreeBSD.org>
Cc: Brooks Davis <brooks@FreeBSD.org>, Florent Thoumie <flz@FreeBSD.org>,
        Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 8 Feb 2007 16:46:59 -0600

 On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 > Brooks Davis wrote:
 > 
 > > The default should be an empty list which results in nothing happening.
 > > I'd suggest making empty list the value for the default gif_interfaces
 > > in /etc/defaults/rc.conf in both branches, removing support for NO in
 > > CURRENT and emitting a warning in stable.
 > 
 > How about issuing a warning for NO in both branches? Whether I agree
 > with you or not on the importance of keeping things clean and
 > consistent, I definitely do not want to err on the side of pedantry
 > over usability.
 
 That would be fine.  I don't really care as long as it's deprecated.
 
 FWIW, only users who don't update /etc/defaults/rc.conf or who manually
 set gif_interfaces="NO" would be effected so the size of the set of
 effected users is probalby close to epilon and even all that will happen
 is cloning an extra interface and then not configuring it so it should
 be basicly harmless to just remove direct support for it.
 
 -- Brooks

From: Florent Thoumie <flz@FreeBSD.org>
To: Brooks Davis <brooks@FreeBSD.org>
Cc: Doug Barton <dougb@FreeBSD.org>, 
 Norikatsu Shigemura <nork@FreeBSD.org>,
  freebsd-bugs@FreeBSD.org,  FreeBSD-gnats-submit@FreeBSD.org, 
 freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 08 Feb 2007 23:30:41 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig5E80D3757FBED01672C33A4F
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Brooks Davis wrote:
 > On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 >> Brooks Davis wrote:
 >>
 >>> The default should be an empty list which results in nothing happenin=
 g.
 >>> I'd suggest making empty list the value for the default gif_interface=
 s
 >>> in /etc/defaults/rc.conf in both branches, removing support for NO in=
 
 >>> CURRENT and emitting a warning in stable.
 >> How about issuing a warning for NO in both branches? Whether I agree
 >> with you or not on the importance of keeping things clean and
 >> consistent, I definitely do not want to err on the side of pedantry
 >> over usability.
 >=20
 > That would be fine.  I don't really care as long as it's deprecated.
 >=20
 > FWIW, only users who don't update /etc/defaults/rc.conf or who manually=
 
 > set gif_interfaces=3D"NO" would be effected so the size of the set of
 > effected users is probalby close to epilon and even all that will happe=
 n
 > is cloning an extra interface and then not configuring it so it should
 > be basicly harmless to just remove direct support for it.
 
 Fine with me as well. Should we make it a warning on RELENG_6 and an
 error on HEAD, or a warning on both. The former being be what I was
 planning to do, ie. remove support for "NO" in HEAD but issue a message
 saying semantics have changed. The latter would mean identical code in
 both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7
 is branched.
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig5E80D3757FBED01672C33A4F
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFy7KmMxEkbVFH3PQRCmK4AJ9Kll/nStdtq4bJj7/DOWXrPERuVwCePPRv
 995tN2tSqMK/JfKTcq+27W8=
 =tBI1
 -----END PGP SIGNATURE-----
 
 --------------enig5E80D3757FBED01672C33A4F--

From: Brooks Davis <brooks@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Brooks Davis <brooks@FreeBSD.org>, Doug Barton <dougb@FreeBSD.org>,
        Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 8 Feb 2007 17:47:37 -0600

 On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 > Brooks Davis wrote:
 > > On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 > >> Brooks Davis wrote:
 > >>
 > >>> The default should be an empty list which results in nothing happening.
 > >>> I'd suggest making empty list the value for the default gif_interfaces
 > >>> in /etc/defaults/rc.conf in both branches, removing support for NO in
 > >>> CURRENT and emitting a warning in stable.
 > >> How about issuing a warning for NO in both branches? Whether I agree
 > >> with you or not on the importance of keeping things clean and
 > >> consistent, I definitely do not want to err on the side of pedantry
 > >> over usability.
 > > 
 > > That would be fine.  I don't really care as long as it's deprecated.
 > > 
 > > FWIW, only users who don't update /etc/defaults/rc.conf or who manually
 > > set gif_interfaces="NO" would be effected so the size of the set of
 > > effected users is probalby close to epilon and even all that will happen
 > > is cloning an extra interface and then not configuring it so it should
 > > be basicly harmless to just remove direct support for it.
 > 
 > Fine with me as well. Should we make it a warning on RELENG_6 and an
 > error on HEAD, or a warning on both. The former being be what I was
 > planning to do, ie. remove support for "NO" in HEAD but issue a message
 > saying semantics have changed. The latter would mean identical code in
 > both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 > we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7
 > is branched.
 
 I'd say a warning in both.
 
 -- Brooks

From: Florent Thoumie <flz@FreeBSD.org>
To: Brooks Davis <brooks@FreeBSD.org>
Cc: Doug Barton <dougb@FreeBSD.org>, 
 Norikatsu Shigemura <nork@FreeBSD.org>,
  freebsd-bugs@FreeBSD.org,  FreeBSD-gnats-submit@FreeBSD.org, 
 freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 08 Feb 2007 23:48:04 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig44FBBDEA77F2D581571B4587
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Brooks Davis wrote:
 > On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 >> Brooks Davis wrote:
 >>> On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 >>>> Brooks Davis wrote:
 >>>>
 >>>>> The default should be an empty list which results in nothing happen=
 ing.
 >>>>> I'd suggest making empty list the value for the default gif_interfa=
 ces
 >>>>> in /etc/defaults/rc.conf in both branches, removing support for NO =
 in
 >>>>> CURRENT and emitting a warning in stable.
 >>>> How about issuing a warning for NO in both branches? Whether I agree=
 
 >>>> with you or not on the importance of keeping things clean and
 >>>> consistent, I definitely do not want to err on the side of pedantry
 >>>> over usability.
 >>> That would be fine.  I don't really care as long as it's deprecated.
 >>>
 >>> FWIW, only users who don't update /etc/defaults/rc.conf or who manual=
 ly
 >>> set gif_interfaces=3D"NO" would be effected so the size of the set of=
 
 >>> effected users is probalby close to epilon and even all that will hap=
 pen
 >>> is cloning an extra interface and then not configuring it so it shoul=
 d
 >>> be basicly harmless to just remove direct support for it.
 >> Fine with me as well. Should we make it a warning on RELENG_6 and an
 >> error on HEAD, or a warning on both. The former being be what I was
 >> planning to do, ie. remove support for "NO" in HEAD but issue a messag=
 e
 >> saying semantics have changed. The latter would mean identical code in=
 
 >> both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 >> we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7=
 
 >> is branched.
 >=20
 > I'd say a warning in both.
 
 Re-reading Doug's message, he's probably thinking the same thing, but
 this is for gif_interfaces only, right?
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig44FBBDEA77F2D581571B4587
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFy7a0MxEkbVFH3PQRCrFIAJ9oelmuwW66WzTncTrqPQspTLfpjQCeOq42
 FihB34D9SR37ISDNpVn2aeU=
 =PAkV
 -----END PGP SIGNATURE-----
 
 --------------enig44FBBDEA77F2D581571B4587--

From: Brooks Davis <brooks@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Brooks Davis <brooks@FreeBSD.org>, Doug Barton <dougb@FreeBSD.org>,
        Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 8 Feb 2007 18:01:09 -0600

 On Thu, Feb 08, 2007 at 11:48:04PM +0000, Florent Thoumie wrote:
 > Brooks Davis wrote:
 > > On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 > >> Brooks Davis wrote:
 > >>> On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 > >>>> Brooks Davis wrote:
 > >>>>
 > >>>>> The default should be an empty list which results in nothing happening.
 > >>>>> I'd suggest making empty list the value for the default gif_interfaces
 > >>>>> in /etc/defaults/rc.conf in both branches, removing support for NO in
 > >>>>> CURRENT and emitting a warning in stable.
 > >>>> How about issuing a warning for NO in both branches? Whether I agree
 > >>>> with you or not on the importance of keeping things clean and
 > >>>> consistent, I definitely do not want to err on the side of pedantry
 > >>>> over usability.
 > >>> That would be fine.  I don't really care as long as it's deprecated.
 > >>>
 > >>> FWIW, only users who don't update /etc/defaults/rc.conf or who manually
 > >>> set gif_interfaces="NO" would be effected so the size of the set of
 > >>> effected users is probalby close to epilon and even all that will happen
 > >>> is cloning an extra interface and then not configuring it so it should
 > >>> be basicly harmless to just remove direct support for it.
 > >> Fine with me as well. Should we make it a warning on RELENG_6 and an
 > >> error on HEAD, or a warning on both. The former being be what I was
 > >> planning to do, ie. remove support for "NO" in HEAD but issue a message
 > >> saying semantics have changed. The latter would mean identical code in
 > >> both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 > >> we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7
 > >> is branched.
 > > 
 > > I'd say a warning in both.
 > 
 > Re-reading Doug's message, he's probably thinking the same thing, but
 > this is for gif_interfaces only, right?
 
 That's what I'd do.  There's no reason to introduce support for an
 instantly deprecated feature in a new variable, particularly since
 gif_interfaces is the odd one out.
 
 -- Brooks

From: Doug Barton <dougb@FreeBSD.org>
To: Brooks Davis <brooks@FreeBSD.org>
Cc: Florent Thoumie <flz@FreeBSD.org>, 
 Norikatsu Shigemura <nork@FreeBSD.org>,
  freebsd-bugs@FreeBSD.org,  FreeBSD-gnats-submit@FreeBSD.org, 
 freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 08 Feb 2007 16:07:42 -0800

 Brooks Davis wrote:
 > On Thu, Feb 08, 2007 at 11:48:04PM +0000, Florent Thoumie wrote:
 >> Brooks Davis wrote:
 >>> On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 >>>> Brooks Davis wrote:
 >>>>> On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 >>>>>> Brooks Davis wrote:
 >>>>>>
 >>>>>>> The default should be an empty list which results in nothing happening.
 >>>>>>> I'd suggest making empty list the value for the default gif_interfaces
 >>>>>>> in /etc/defaults/rc.conf in both branches, removing support for NO in
 >>>>>>> CURRENT and emitting a warning in stable.
 >>>>>> How about issuing a warning for NO in both branches? Whether I agree
 >>>>>> with you or not on the importance of keeping things clean and
 >>>>>> consistent, I definitely do not want to err on the side of pedantry
 >>>>>> over usability.
 >>>>> That would be fine.  I don't really care as long as it's deprecated.
 >>>>>
 >>>>> FWIW, only users who don't update /etc/defaults/rc.conf or who manually
 >>>>> set gif_interfaces="NO" would be effected so the size of the set of
 >>>>> effected users is probalby close to epilon and even all that will happen
 >>>>> is cloning an extra interface and then not configuring it so it should
 >>>>> be basicly harmless to just remove direct support for it.
 >>>> Fine with me as well. Should we make it a warning on RELENG_6 and an
 >>>> error on HEAD, or a warning on both. The former being be what I was
 >>>> planning to do, ie. remove support for "NO" in HEAD but issue a message
 >>>> saying semantics have changed. The latter would mean identical code in
 >>>> both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 >>>> we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7
 >>>> is branched.
 >>> I'd say a warning in both.
 >> Re-reading Doug's message, he's probably thinking the same thing, but
 >> this is for gif_interfaces only, right?
 > 
 > That's what I'd do.  There's no reason to introduce support for an
 > instantly deprecated feature in a new variable, particularly since
 > gif_interfaces is the odd one out.
 
 Yes.
 
 Doug
 
 -- 
 
     This .signature sanitized for your protection

From: Florent Thoumie <flz@FreeBSD.org>
To: Doug Barton <dougb@FreeBSD.org>
Cc: Brooks Davis <brooks@FreeBSD.org>, 
 Norikatsu Shigemura <nork@FreeBSD.org>,
  freebsd-bugs@FreeBSD.org,  FreeBSD-gnats-submit@FreeBSD.org, 
 freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Fri, 09 Feb 2007 00:18:17 +0000

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig59D108A34FC56C76D5FE6DA7
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Doug Barton wrote:
 > Brooks Davis wrote:
 >> On Thu, Feb 08, 2007 at 11:48:04PM +0000, Florent Thoumie wrote:
 >>> Brooks Davis wrote:
 >>>> On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 >>>>> Brooks Davis wrote:
 >>>>>> On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 >>>>>>> Brooks Davis wrote:
 >>>>>>>
 >>>>>>>> The default should be an empty list which results in nothing hap=
 pening.
 >>>>>>>> I'd suggest making empty list the value for the default gif_inte=
 rfaces
 >>>>>>>> in /etc/defaults/rc.conf in both branches, removing support for =
 NO in
 >>>>>>>> CURRENT and emitting a warning in stable.
 >>>>>>> How about issuing a warning for NO in both branches? Whether I ag=
 ree
 >>>>>>> with you or not on the importance of keeping things clean and
 >>>>>>> consistent, I definitely do not want to err on the side of pedant=
 ry
 >>>>>>> over usability.
 >>>>>> That would be fine.  I don't really care as long as it's deprecate=
 d.
 >>>>>>
 >>>>>> FWIW, only users who don't update /etc/defaults/rc.conf or who man=
 ually
 >>>>>> set gif_interfaces=3D"NO" would be effected so the size of the set=
  of
 >>>>>> effected users is probalby close to epilon and even all that will =
 happen
 >>>>>> is cloning an extra interface and then not configuring it so it sh=
 ould
 >>>>>> be basicly harmless to just remove direct support for it.
 >>>>> Fine with me as well. Should we make it a warning on RELENG_6 and a=
 n
 >>>>> error on HEAD, or a warning on both. The former being be what I was=
 
 >>>>> planning to do, ie. remove support for "NO" in HEAD but issue a mes=
 sage
 >>>>> saying semantics have changed. The latter would mean identical code=
  in
 >>>>> both HEAD and RELENG_6 (so "NO"-compatibility in both branches), bu=
 t
 >>>>> we'd need a reminder to remove this "NO"-support in HEAD once RELEN=
 G_7
 >>>>> is branched.
 >>>> I'd say a warning in both.
 >>> Re-reading Doug's message, he's probably thinking the same thing, but=
 
 >>> this is for gif_interfaces only, right?
 >> That's what I'd do.  There's no reason to introduce support for an
 >> instantly deprecated feature in a new variable, particularly since
 >> gif_interfaces is the odd one out.
 >=20
 > Yes.
 
 Here's the updated network.subr diff:
 
 http://people.freebsd.org/~flz/local/netsubr.diff
 
 --=20
 Florent Thoumie
 flz@FreeBSD.org
 FreeBSD Committer
 
 
 --------------enig59D108A34FC56C76D5FE6DA7
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (FreeBSD)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
 iD8DBQFFy73OMxEkbVFH3PQRCrb0AJ93RAfQtJBEaN+vnZYfNX9ZITYvTgCfQ9FQ
 68/45jWOhtBJHWxpAsleAmE=
 =ArTm
 -----END PGP SIGNATURE-----
 
 --------------enig59D108A34FC56C76D5FE6DA7--

From: Brooks Davis <brooks@FreeBSD.org>
To: Florent Thoumie <flz@FreeBSD.org>
Cc: Doug Barton <dougb@FreeBSD.org>, Brooks Davis <brooks@FreeBSD.org>,
        Norikatsu Shigemura <nork@FreeBSD.org>, freebsd-bugs@FreeBSD.org,
        FreeBSD-gnats-submit@FreeBSD.org, freebsd-rc@FreeBSD.org
Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf
Date: Thu, 8 Feb 2007 19:17:24 -0600

 On Fri, Feb 09, 2007 at 12:18:17AM +0000, Florent Thoumie wrote:
 > Doug Barton wrote:
 > > Brooks Davis wrote:
 > >> On Thu, Feb 08, 2007 at 11:48:04PM +0000, Florent Thoumie wrote:
 > >>> Brooks Davis wrote:
 > >>>> On Thu, Feb 08, 2007 at 11:30:41PM +0000, Florent Thoumie wrote:
 > >>>>> Brooks Davis wrote:
 > >>>>>> On Thu, Feb 08, 2007 at 01:55:16PM -0800, Doug Barton wrote:
 > >>>>>>> Brooks Davis wrote:
 > >>>>>>>
 > >>>>>>>> The default should be an empty list which results in nothing happening.
 > >>>>>>>> I'd suggest making empty list the value for the default gif_interfaces
 > >>>>>>>> in /etc/defaults/rc.conf in both branches, removing support for NO in
 > >>>>>>>> CURRENT and emitting a warning in stable.
 > >>>>>>> How about issuing a warning for NO in both branches? Whether I agree
 > >>>>>>> with you or not on the importance of keeping things clean and
 > >>>>>>> consistent, I definitely do not want to err on the side of pedantry
 > >>>>>>> over usability.
 > >>>>>> That would be fine.  I don't really care as long as it's deprecated.
 > >>>>>>
 > >>>>>> FWIW, only users who don't update /etc/defaults/rc.conf or who manually
 > >>>>>> set gif_interfaces="NO" would be effected so the size of the set of
 > >>>>>> effected users is probalby close to epilon and even all that will happen
 > >>>>>> is cloning an extra interface and then not configuring it so it should
 > >>>>>> be basicly harmless to just remove direct support for it.
 > >>>>> Fine with me as well. Should we make it a warning on RELENG_6 and an
 > >>>>> error on HEAD, or a warning on both. The former being be what I was
 > >>>>> planning to do, ie. remove support for "NO" in HEAD but issue a message
 > >>>>> saying semantics have changed. The latter would mean identical code in
 > >>>>> both HEAD and RELENG_6 (so "NO"-compatibility in both branches), but
 > >>>>> we'd need a reminder to remove this "NO"-support in HEAD once RELENG_7
 > >>>>> is branched.
 > >>>> I'd say a warning in both.
 > >>> Re-reading Doug's message, he's probably thinking the same thing, but
 > >>> this is for gif_interfaces only, right?
 > >> That's what I'd do.  There's no reason to introduce support for an
 > >> instantly deprecated feature in a new variable, particularly since
 > >> gif_interfaces is the odd one out.
 > > 
 > > Yes.
 > 
 > Here's the updated network.subr diff:
 > 
 > http://people.freebsd.org/~flz/local/netsubr.diff
 
 Looks good to me.
 
 -- Brooks
State-Changed-From-To: open->patched 
State-Changed-By: flz 
State-Changed-When: Fri Feb 9 12:13:28 UTC 2007 
State-Changed-Why:  
Committed to HEAD, MFC after ... well a few weeks. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=104884 
Responsible-Changed-From-To: freebsd-rc->flz 
Responsible-Changed-By: flz 
Responsible-Changed-When: Fri Feb 9 12:15:06 UTC 2007 
Responsible-Changed-Why:  
I'll take care of the MFC. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=104884 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: conf/104884: commit references a PR
Date: Fri,  9 Feb 2007 12:11:45 +0000 (UTC)

 flz         2007-02-09 12:11:27 UTC
 
   FreeBSD src repository
 
   Modified files:
     etc/rc.d             netif 
     etc                  network.subr 
     share/man/man5       rc.conf.5 
     etc/defaults         rc.conf 
   Log:
   Add support for EtherChannel configuration to rc startup scripts.
   
   Note: This also deprecates "NO" as a way to specify an empty list of
   interfaces for gif_interfaces.
   
   PR:             conf/104884
   Submitted by:   nork
   Harassed by:    brd
   Discussed with: brooks, dougb
   
   Revision  Changes    Path
   1.304     +5 -1      src/etc/defaults/rc.conf
   1.177     +73 -10    src/etc/network.subr
   1.22      +3 -0      src/etc/rc.d/netif
   1.315     +28 -1     src/share/man/man5/rc.conf.5
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: patched->closed 
State-Changed-By: flz 
State-Changed-When: Lun 29 oct 2007 15:46:15 UTC 
State-Changed-Why:  
Apparently there is no demand for it to be MFC'ed.  Poke me if you want 
it to reach RELENG_6. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=104884 
>Unformatted:
