Am 04.12.2012 00:57, schrieb Reyk Floeter:
> Am Montag, 3. Dezember 2012 schrieb InterNetX - Carsten Schoene :
>
>> Hello,
>>
>> i've setup a OpenBSD 5.2 (amd64) system using flashrd on a DELL R610
>> server,
>> with an Intel PRO/1000 PF (82571EB) dualport fibre optics adapter.
>> The system also have four broadcom BCM5709 copper interfaces.
>>
>> I try to monitor the linkstate of these interface using the default
>> snmpd. The linkstate for the bnx interfaces are always correct ("up"), only
>> the em interfaces report "unknown" when the link is in state "up"
>>
>>
> Some drivers/chipsets don't report their link state correctly and unknown
> is actually a "valid" fallback in this case. I will have a look at this.
>
> Can you show me the output of "route -n monitor" while toggling the link?
Hello Reyk,
sure, the relevant output is:
got message of size 248 on Tue Dec 4 10:17:24 2012
RTM_IFINFO: iface status change: len 248, if# 1, name: em0, link: no carrier,
flags:<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
got message of size 248 on Tue Dec 4 10:18:29 2012
RTM_IFINFO: iface status change: len 248, if# 1, name: em0, link: active,
flags:<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>
Carsten
>
> Reyk
>
>
>> # ifconfig em0
>> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>> lladdr xx:xx:xx:xx:xx:xx
>> description: Uplink
>> priority: 0
>> media: Ethernet 1000baseSX full-duplex
>> status: active
>> inet xxx:xxx:xxx:xxx netmask 0xfffffff8 broadcast xxx:xxx:xxx:xxx
>> inet6 XXXX::XXXX:XXXX:XXXX:XXXX%em0 pre
>>
>> # snmpwalk -v 1 -c public localhost IF | grep -i -E '(ifoper|ifdescr)'
>> IF-MIB::ifDescr.1 = STRING: em0
>> IF-MIB::ifDescr.2 = STRING: em1
>> IF-MIB::ifDescr.3 = STRING: enc0
>> IF-MIB::ifDescr.4 = STRING: lo0
>> IF-MIB::ifDescr.5 = STRING: bnx0
>> IF-MIB::ifDescr.6 = STRING: bnx1
>> IF-MIB::ifDescr.7 = STRING: bnx2
>> IF-MIB::ifDescr.8 = STRING: bnx3
>> IF-MIB::ifOperStatus.1 = INTEGER: unknown(4)
>> IF-MIB::ifOperStatus.2 = INTEGER: down(2)
>> IF-MIB::ifOperStatus.3 = INTEGER: down(2)
>> IF-MIB::ifOperStatus.4 = INTEGER: unknown(4)
>> IF-MIB::ifOperStatus.5 = INTEGER: down(2)
>> IF-MIB::ifOperStatus.6 = INTEGER: down(2)
>> IF-MIB::ifOperStatus.7 = INTEGER: up(1)
>> IF-MIB::ifOperStatus.8 = INTEGER: up(1)
>>
>> If i shutdown the interface "ifconfig em0 down", it's state is correctly
>> reported as "down".
>>
>> I can reproduce this on a vmware virtual machine running a plain OpenBSD
>> 5.2 ( no flashrd setup).
>> The used intel based adapter is reported as "Intel PRO/1000MT (82545EM)"
>> and behaves the same
>> like on my physical server. I also disabled the "connected" state from
>> vmware side and the
>> interface reports it's state correctly as "lowerLayerDown(7)" within snmp.
>>
>> I also tested with 5.1 release on vmware, with the same results.
>>
>> It looks like a kernel/driver problem for me.
>>
>> Any help would be appreciated.
>>
>>
>> Regards,
>> --
>> Carsten Schöne