From owner-freebsd-questions@FreeBSD.ORG Wed Feb 1 11:42:52 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 3D2C91065672 for ; Wed, 1 Feb 2012 11:42:52 +0000 (UTC) (envelope-from peter.knezel@gmail.com) Received: from mail-lpp01m010-f54.google.com (mail-lpp01m010-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id BA7158FC0C for ; Wed, 1 Feb 2012 11:42:51 +0000 (UTC) Received: by lagz14 with SMTP id z14so761391lag.13 for ; Wed, 01 Feb 2012 03:42:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; bh=dd3+sYhb3gUidM7QYAvKFRLAssuwb0w4FVSsiPtvZZo=; b=Nl/SvizXqal4EeAHCWB3A0zZpo7AWuIBUIuljxTKQZaK3PoS25SYM6bbbT1tOvbzEU 47bGFDaWSM7dJaKS5ekaKzTgJoD30AqIc7Nhy3k0wjD7UBjAbuftIkBt7CQ2iQYSi0oX v3KvPuoU0ZC0xsUR3kajXxaJw7S6b5wuZ+zPs= MIME-Version: 1.0 Received: by 10.152.136.20 with SMTP id pw20mr13437884lab.32.1328096570497; Wed, 01 Feb 2012 03:42:50 -0800 (PST) Received: by 10.152.38.198 with HTTP; Wed, 1 Feb 2012 03:42:50 -0800 (PST) Date: Wed, 1 Feb 2012 12:42:50 +0100 Message-ID: From: peter knezel To: freebsd-questions@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: 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:42:52 -0000 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