ports/126628: hearbeat incorrect detect interfaces during IPaddr stop

Oleg Gawriloff barzog at telecom.by
Mon Aug 18 15:40:02 UTC 2008


>Number:         126628
>Category:       ports
>Synopsis:       hearbeat incorrect detect interfaces during IPaddr stop
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Aug 18 15:40:02 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Oleg Gawriloff
>Release:        7.0
>Organization:
Atlant Telecom
>Environment:
FreeBSD albatros2.telecom.by 7.0-STABLE FreeBSD 7.0-STABLE #1: Fri Jun 13 16:26:45 EEST 2008     root at albatros2.telecom.by:/usr/obj/usr/src/sys/ALBATROS2  amd64

>Description:
We have following ifconfig:
[root at albatros2 ~]# ifconfig
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:1e:0b:5a:d4:16
        media: Ethernet autoselect (none)
        status: no carrier
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:1e:0b:5a:d4:17
        media: Ethernet 100baseTX <full-duplex>
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> metric 0 mtu 1460
        syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33160
vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1e:0b:5a:d4:17
        inet 172.16.2.242 netmask 0xffffff00 broadcast 172.16.2.255
        inet 172.16.2.2 netmask 0xffffffff broadcast 172.16.2.2
        media: Ethernet 100baseTX <full-duplex>
        status: active
        vlan: 106 parent interface: bge1
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3<RXCSUM,TXCSUM>
        ether 00:1e:0b:5a:d4:17
        inet 213.184.225.47 netmask 0xffffffff broadcast 213.184.225.47
        media: Ethernet 100baseTX <full-duplex>
        status: active
        vlan: 208 parent interface: bge1
When heartbeat trying to stop IPaddr resource on vlan0 it detects following:
[root at albatros2 ~]# /usr/local/etc/ha.d/resource.d/IPaddr 172.16.2.2/24/vlan0 stop
2008/08/18_18:31:15 info: /sbin/route -n delete -host 172.16.2.2
delete host 172.16.2.2
2008/08/18_18:31:15 info: /sbin/ifconfig pflog0 vlan0 inet 172.16.2.2 -alias
ifconfig: vlan0: bad value
2008/08/18_18:31:15 WARN: IP Address 172.16.2.2 NOT released

So in turn causes system reload.

>How-To-Repeat:

>Fix:
New detection routine getted from heartbeat 2.1.3 follows


Patch attached with submission follows:

--- /home/barzog/IPaddr 2008-08-18 18:32:34.000000000 +0300
+++ /usr/local/etc/ha.d/resource.d/IPaddr       2008-08-18 18:33:21.000000000 +0300
@@ -105,7 +105,7 @@

     case $SYSTYPE in
       *BSD)
-               $IFCONFIG | grep "$ipaddr" -B4 | grep "UP," | cut -d ":" -f 1
+               $IFCONFIG | grep "$ipaddr " -B20 | grep "UP," | tail -n 1 | cut -d ":" -f 1
                return 0;;
       *)
                : "comparing $ipaddr to $addr (from ifconfig)"


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list