From owner-freebsd-questions@FreeBSD.ORG Wed Feb 1 11:44:27 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 08488106564A for ; Wed, 1 Feb 2012 11:44:27 +0000 (UTC) (envelope-from ml@my.gd) Received: from mail-bk0-f54.google.com (mail-bk0-f54.google.com [209.85.214.54]) by mx1.freebsd.org (Postfix) with ESMTP id 897068FC08 for ; Wed, 1 Feb 2012 11:44:26 +0000 (UTC) Received: by bkbzx1 with SMTP id zx1so1286003bkb.13 for ; Wed, 01 Feb 2012 03:44:25 -0800 (PST) Received: by 10.204.130.150 with SMTP id t22mr12381491bks.1.1328096665237; Wed, 01 Feb 2012 03:44:25 -0800 (PST) Received: from dfleuriot-at-hi-media.com ([83.167.62.196]) by mx.google.com with ESMTPS id x20sm38529237bka.9.2012.02.01.03.44.22 (version=SSLv3 cipher=OTHER); Wed, 01 Feb 2012 03:44:23 -0800 (PST) Message-ID: <4F292596.2090000@my.gd> Date: Wed, 01 Feb 2012 12:44:22 +0100 From: Damien Fleuriot User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: freebsd-questions@freebsd.org References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: carp+devd+ifstated on master problem X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Feb 2012 11:44:27 -0000 On 2/1/12 12:12 PM, peter knezel wrote: > Hello all, > > I have configured devd and ifstated on a master FreeBSD server (slave > not changed so far) on which carp was configured with three > carp0,carp1 and carp2 virtual addresses. > > When I as root do ifconfig carp0 down and up, the corresponding > testdown.sh and testup.sh > scripts are run (defined in ifstated.conf). > The status of carp0 interface changes to INIT then to MASTER (after > ifconfig carp0 up). > > However this is not valid when doing the same with carp1 or carp2. > It goes to INIT+testdown.sh executed but then immediately afterwards > it goes to MASTER+testup.sh executed. > > What can be the problem? > > cd /usr/local/etc > cat ifstated.conf > init-state one > > net = '( "ifconfig -a -u |grep carp0 > /dev/null" every 3 && "ifconfig -a -u > |grep carp1 > /dev/null" every 3 && "ifconfig -a -u |grep carp2 > /dev/null" > every 3)' > > state one { > if ( ! $net ) { > run "/sbin/ifconfig_carp0 vhid 1 pass newpass 192.xx.xx.1/24" > run "/sbin/ifconfig carp1 vhid 2 pass newpass 192.xx.xx.2/24" > run "/sbin/ifconfig carp2 vhid 3 pass newpass 192.xx.xx.3/24" > run "/usr/local/testdown.sh" > set-state two > } > } > > state two { > if ( $net ) { > run "/sbin/ifconfig carp0 vhid 1 advskew 100 pass > tnewpass 192.xx.xx.1/24" > run "/sbin/ifconfig carp1 vhid 2 advskew 100 pass > newpass 192.xx.xx.2/24" > run "/sbin/ifconfig carp2 vhid 3 advskew 100 pass > newpass 192.xx.xx.3/24" > run "/usr/local/testup.sh" > set-state one > } > } > > In addition I had to configure devd.conf to have ifdown.sh and ifup.sh > scripts executed when reboot is done on the master. > > notify 30 { > match "system" "IFNET"; > match "subsystem" "carp0"; > match "type" "LINK_UP"; > action "/usr/local/etc/rc.d/ifdown.sh"; > }; > > notify 30 { > match "system" "IFNET"; > match "subsystem" "carp0"; > match "type" "LINK_DOWN"; > action "/usr/local/etc/rc.d/ifup.sh"; > > Thanks for any suggestion in advance. > > Ardi I'm not sure I get what you're trying to do here. Is there a reason you do not set your carp interfaces' advskew, vhid and pass in /etc/rc.conf ? Also, I notice in state 2 your password for carp0 is tnewpass, while the other ones are newpass.