From owner-freebsd-rc@FreeBSD.ORG Sun Jan 28 15:30:23 2007 Return-Path: X-Original-To: freebsd-rc@hub.freebsd.org Delivered-To: freebsd-rc@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3978716A401 for ; Sun, 28 Jan 2007 15:30:23 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.freebsd.org (Postfix) with ESMTP id 1B1BF13C471 for ; Sun, 28 Jan 2007 15:30:23 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id l0SFUMeQ058056 for ; Sun, 28 Jan 2007 15:30:22 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id l0SFUMvK058055; Sun, 28 Jan 2007 15:30:22 GMT (envelope-from gnats) Date: Sun, 28 Jan 2007 15:30:22 GMT Message-Id: <200701281530.l0SFUMvK058055@freefall.freebsd.org> To: freebsd-rc@FreeBSD.org From: Norikatsu Shigemura Cc: Subject: Re: conf/104884: Add support EtherChannel configuration to rc.conf X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Norikatsu Shigemura List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jan 2007 15:30:23 -0000 The following reply was made to PR conf/104884; it has been noted by GNATS. From: Norikatsu Shigemura 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 < /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