Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jan 2007 15:30:22 GMT
From:      Norikatsu Shigemura <nork@FreeBSD.org>
To:        freebsd-rc@FreeBSD.org
Subject:   Re: conf/104884: Add support EtherChannel configuration to rc.conf
Message-ID:  <200701281530.l0SFUMvK058055@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR conf/104884; it has been noted by GNATS.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701281530.l0SFUMvK058055>