kern/144689: [re] TCP transfer corruption using if_re
Steven Noonan
steven at uplinklabs.net
Sat Mar 13 00:30:41 UTC 2010
On Fri, Mar 12, 2010 at 4:19 PM, Steven Noonan <steven at uplinklabs.net> wrote:
> On Fri, Mar 12, 2010 at 9:54 AM, <yongari at freebsd.org> wrote:
>> Synopsis: [re] TCP transfer corruption using if_re
>>
>> State-Changed-From-To: open->feedback
>> State-Changed-By: yongari
>> State-Changed-When: Fri Mar 12 17:53:37 UTC 2010
>> State-Changed-Why:
>> This looks like Rx checksum offloading issue. Would you try
>> disabling Rx checksum offloading and test it again?
>> #ifconfig re0 -rxcsum
>> Also show me dmesg output(re(4) related part).
>>
>>
>> Responsible-Changed-From-To: freebsd-net->yongari
>> Responsible-Changed-By: yongari
>> Responsible-Changed-When: Fri Mar 12 17:53:37 UTC 2010
>> Responsible-Changed-Why:
>> Mine.
>>
>> http://www.freebsd.org/cgi/query-pr.cgi?pr=144689
>>
>
> Hmm. Disabling Rx checksum offloading helped for one clone process,
> but then this showed up in dmesg during my second test (it seems to be
> doing this regularly for some reason):
> re0: link state changed to DOWN
> re0: link state changed to UP
>
> And no, the cable isn't loose or something. It just decides to take
> the interface down and put it back up.
>
> Here's the rest of 'dmesg | grep re0':
>
> firewire0: <IEEE1394(FireWire) bus> on fwohci0
> dcons_crom0: <dcons configuration ROM> on firewire0
> fwe0: <Ethernet over FireWire> on firewire0
> fwip0: <IP over FireWire> on firewire0
> firewire0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
> firewire0: bus manager 0
> re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet>
> port 0x1200-0x12ff mem 0x88000000-0x880001ff irq 18 at device 0.0 on
> cardbus0
> re0: Chip rev. 0x10000000
> re0: MAC rev. 0x00000000
> miibus1: <MII bus> on re0
> re0: Ethernet address: 00:18:4d:6e:c0:29
> re0: [FILTER]
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: detached
> re0: <RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit Ethernet>
> port 0x1200-0x12ff mem 0x88000000-0x880001ff irq 18 at device 0.0 on
> cardbus0
> re0: Chip rev. 0x10000000
> re0: MAC rev. 0x00000000
> miibus1: <MII bus> on re0
> re0: Ethernet address: 00:18:4d:6e:c0:29
> re0: [FILTER]
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: PHY read failed
> re0: link state changed to DOWN
> re0: link state changed to UP
> re0: PHY read failed
>
> - Steven
>
I should note that the connection was _lost_ during the second test above.
I also tested again, and it looks like it added another "re0: PHY read
failed" before silently dropping the connection.
- Steven
More information about the freebsd-net
mailing list