Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Nov 2015 16:18:39 +0000
From:      Steven Hartland <steven@multiplay.co.uk>
To:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Cc:        Jack F Vogel <jfv@FreeBSD.org>
Subject:   Re: Intel XL710 broken link down detection?
Message-ID:  <56436A5F.4020102@multiplay.co.uk>
In-Reply-To: <564357E0.1050002@freebsd.org>
References:  <564357E0.1050002@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Comparing this to the Linux driver which does detect the link down I've 
discovered it actually polls the link status by default in its watchdog.

Disabling this with "ethtool --set-priv-flags eth1 LinkPolling off" and 
the Linux driver also fails to detect link down.

So this seems like a firmware or even hardware bug where it should be 
reporting down events and the Linux driver has been updated to 
workaround the problem?

On 11/11/2015 14:59, Steven Hartland wrote:
> Seems the Intel XL710 (ixl) has broken link detection, it triggers on 
> link up but not on link down.
>
> I'm currently running HEAD (r290610) on the box which has 1.4.3 and 
> have tried the latest driver from downloads.intel.com which is listed 
> as 1.4.8 but reports 1.4.5.
>
> We've updated to the latest NVM image today to see if that would help 
> but no change.
>
> Tracing with dtrace shows that ixl_do_adminq process a link event and 
> fires off ixl_link_event for link up but not for link down for some 
> reason.
>
> Running ifconfig against the interface updates the status as runs 
> ixl_update_link_status in ixl_media_status, so the device can 
> determine the link is down its just not noticing the event.
>
> From dmesg:
> ixl0: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3> mem 
> 0xc5000000-0xc57fffff,0xc5808000-0xc580ffff irq 34 at device 0.0 on pci5
> ixl0: Using MSIX interrupts with 33 vectors
> ixl0: f4.40 a1.4 n04.53 e80001ccc
> ixl0: Using defaults for TSO: 65518/35/2048
> ixl0: Ethernet address: 0c:c4:7a:3a:2d:60
> ixl0: PCI Express Bus: Speed 8.0GT/s Width x8
> queues is 0xfffffe00015bd000
> ixl0: netmap queues/slots: TX 32/1024, RX 32/1024
> ixl1: <Intel(R) Ethernet Connection XL710 Driver, Version - 1.4.3> mem 
> 0xc4800000-0xc4ffffff,0xc5800000-0xc5807fff irq 34 at device 0.1 on pci5
> ixl1: Using MSIX interrupts with 33 vectors
> ixl1: f4.40 a1.4 n04.53 e80001ccc
> ixl1: Using defaults for TSO: 65518/35/2048
> ixl1: Ethernet address: 0c:c4:7a:3a:2d:61
> ixl1: PCI Express Bus: Speed 8.0GT/s Width x8
> queues is 0xfffffe0001ad1000
> ixl1: netmap queues/slots: TX 32/1024, RX 32/1024
>
> When its up it reports 10GBase-KR
>
> Any ideas?
>
>     Regards
>     Steve




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56436A5F.4020102>