* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
[not found] ` <4D35EF64.1040906@xmsnet.nl>
@ 2011-01-18 20:06 ` Jesse Gross
2011-01-18 21:42 ` Hans de Bruin
0 siblings, 1 reply; 7+ messages in thread
From: Jesse Gross @ 2011-01-18 20:06 UTC (permalink / raw)
To: Hans de Bruin; +Cc: LKML, netdev
On Tue, Jan 18, 2011 at 11:52 AM, Hans de Bruin <jmdebruin@xmsnet.nl> wrote:
> On 01/16/2011 09:24 PM, Hans de Bruin wrote:
>>
>> After last nights compile i lost the possibility to connect to ssh and
>> http over ipv6. The connection stops at syn_sent. connections to my
>> machine end in syn_recv. ping6 still works.
>>
>
> The bisect ended in:
>
> 0363466866d901fbc658f4e63dd61e7cc93dd0af is the first bad commit
> commit 0363466866d901fbc658f4e63dd61e7cc93dd0af
> Author: Jesse Gross <jesse@nicira.com>
> Date: Sun Jan 9 06:23:35 2011 +0000
>
> net offloading: Convert checksums to use centrally computed features.
>
> In order to compute the features for other offloads (primarily
> scatter/gather), we need to first check the ability of the NIC to
> offload the checksum for the packet. Since we have already computed
> this, we can directly use the result instead of figuring it out
> again.
>
> Signed-off-by: Jesse Gross <jesse@nicira.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
>
>
> ssh ::1 still works. And since dns still works I guess udp is not affected.
> My nic is a:
>
> 09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit
> Ethernet PCI Express (rev 02)
Are you using vlans? If so, can you please test this patch?
http://patchwork.ozlabs.org/patch/79264/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-18 20:06 ` [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6 Jesse Gross
@ 2011-01-18 21:42 ` Hans de Bruin
2011-01-18 22:03 ` Eric Dumazet
0 siblings, 1 reply; 7+ messages in thread
From: Hans de Bruin @ 2011-01-18 21:42 UTC (permalink / raw)
To: Jesse Gross; +Cc: LKML, netdev
[-- Attachment #1: Type: text/plain, Size: 3491 bytes --]
On 01/18/2011 09:06 PM, Jesse Gross wrote:
> On Tue, Jan 18, 2011 at 11:52 AM, Hans de Bruin<jmdebruin@xmsnet.nl> wrote:
>> On 01/16/2011 09:24 PM, Hans de Bruin wrote:
>>>
>>> After last nights compile i lost the possibility to connect to ssh and
>>> http over ipv6. The connection stops at syn_sent. connections to my
>>> machine end in syn_recv. ping6 still works.
>>>
>>
>> The bisect ended in:
>>
>> 0363466866d901fbc658f4e63dd61e7cc93dd0af is the first bad commit
>> commit 0363466866d901fbc658f4e63dd61e7cc93dd0af
>> Author: Jesse Gross<jesse@nicira.com>
>> Date: Sun Jan 9 06:23:35 2011 +0000
>>
>> net offloading: Convert checksums to use centrally computed features.
>>
>> In order to compute the features for other offloads (primarily
>> scatter/gather), we need to first check the ability of the NIC to
>> offload the checksum for the packet. Since we have already computed
>> this, we can directly use the result instead of figuring it out
>> again.
>>
>> Signed-off-by: Jesse Gross<jesse@nicira.com>
>> Signed-off-by: David S. Miller<davem@davemloft.net>
>>
>>
>> ssh ::1 still works. And since dns still works I guess udp is not affected.
>> My nic is a:
>>
>> 09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit
>> Ethernet PCI Express (rev 02)
>
> Are you using vlans? If so, can you please test this patch?
> http://patchwork.ozlabs.org/patch/79264/
>
No I am not using vlans. The option is even not set in the config file.
Except for the disk less bit is a straightforward setup:
bash-4.1# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
qlen 1000
link/ether 00:1c:23:2d:73:87 brd ff:ff:ff:ff:ff:ff
inet 10.10.0.6/16 brd 10.10.255.255 scope global eth0
inet6 2001:610:76e:0:21c:23ff:fe2d:7387/64 scope global dynamic
valid_lft 86399sec preferred_lft 14399sec
inet6 fe80::21c:23ff:fe2d:7387/64 scope link
valid_lft forever preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc noop state DOWN
link/sit 0.0.0.0 brd 0.0.0.0
bash-4.1# ip route show
10.10.0.0/16 dev eth0 proto kernel scope link src 10.10.0.6
default via 10.10.0.1 dev eth0
bash-4.1# ip -6 route show
2001:610:76e::/64 dev eth0 proto kernel metric 256 expires 86404sec
fe80::/64 dev eth0 proto kernel metric 256
ff00::/8 dev eth0 metric 256
default via fe80::230:18ff:feae:75d8 dev eth0 proto kernel metric 1024
expires 29sec hoplimit 64
bash-4.1# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
bash-4.1# ip6tables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
bash-4.1# brctl show
bridge name bridge id STP enabled interfaces
bash-4.1# cat /proc/cmdline
root=/dev/nfs nfsroot=10.10.0.2:/nfs/root/psion/,v3,tcp ro ip=::: ::dhcp
BOOT_IMAGE=nightlybuild-psion
--
Hans
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 14483 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-18 21:42 ` Hans de Bruin
@ 2011-01-18 22:03 ` Eric Dumazet
2011-01-21 19:47 ` Hans de Bruin
0 siblings, 1 reply; 7+ messages in thread
From: Eric Dumazet @ 2011-01-18 22:03 UTC (permalink / raw)
To: Hans de Bruin; +Cc: Jesse Gross, LKML, netdev
Le mardi 18 janvier 2011 à 22:42 +0100, Hans de Bruin a écrit :
> On 01/18/2011 09:06 PM, Jesse Gross wrote:
> > On Tue, Jan 18, 2011 at 11:52 AM, Hans de Bruin<jmdebruin@xmsnet.nl> wrote:
> >> On 01/16/2011 09:24 PM, Hans de Bruin wrote:
> >>>
> >>> After last nights compile i lost the possibility to connect to ssh and
> >>> http over ipv6. The connection stops at syn_sent. connections to my
> >>> machine end in syn_recv. ping6 still works.
> >>>
> >>
> >> The bisect ended in:
> >>
> >> 0363466866d901fbc658f4e63dd61e7cc93dd0af is the first bad commit
> >> commit 0363466866d901fbc658f4e63dd61e7cc93dd0af
> >> Author: Jesse Gross<jesse@nicira.com>
> >> Date: Sun Jan 9 06:23:35 2011 +0000
> >>
> >> net offloading: Convert checksums to use centrally computed features.
> >>
> >> In order to compute the features for other offloads (primarily
> >> scatter/gather), we need to first check the ability of the NIC to
> >> offload the checksum for the packet. Since we have already computed
> >> this, we can directly use the result instead of figuring it out
> >> again.
> >>
> >> Signed-off-by: Jesse Gross<jesse@nicira.com>
> >> Signed-off-by: David S. Miller<davem@davemloft.net>
> >>
> >>
> >> ssh ::1 still works. And since dns still works I guess udp is not affected.
> >> My nic is a:
> >>
> >> 09:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5752 Gigabit
> >> Ethernet PCI Express (rev 02)
> >
> > Are you using vlans? If so, can you please test this patch?
> > http://patchwork.ozlabs.org/patch/79264/
> >
>
> No I am not using vlans. The option is even not set in the config file.
> Except for the disk less bit is a straightforward setup:
>
> bash-4.1# ip addr show
> 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
> link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> inet 127.0.0.1/8 scope host lo
> inet6 ::1/128 scope host
> valid_lft forever preferred_lft forever
> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
> qlen 1000
> link/ether 00:1c:23:2d:73:87 brd ff:ff:ff:ff:ff:ff
> inet 10.10.0.6/16 brd 10.10.255.255 scope global eth0
> inet6 2001:610:76e:0:21c:23ff:fe2d:7387/64 scope global dynamic
> valid_lft 86399sec preferred_lft 14399sec
> inet6 fe80::21c:23ff:fe2d:7387/64 scope link
> valid_lft forever preferred_lft forever
> 3: sit0: <NOARP> mtu 1480 qdisc noop state DOWN
> link/sit 0.0.0.0 brd 0.0.0.0
> bash-4.1# ip route show
> 10.10.0.0/16 dev eth0 proto kernel scope link src 10.10.0.6
> default via 10.10.0.1 dev eth0
> bash-4.1# ip -6 route show
> 2001:610:76e::/64 dev eth0 proto kernel metric 256 expires 86404sec
> fe80::/64 dev eth0 proto kernel metric 256
> ff00::/8 dev eth0 metric 256
> default via fe80::230:18ff:feae:75d8 dev eth0 proto kernel metric 1024
> expires 29sec hoplimit 64
> bash-4.1# iptables -L
> Chain INPUT (policy ACCEPT)
> target prot opt source destination
>
> Chain FORWARD (policy ACCEPT)
> target prot opt source destination
>
> Chain OUTPUT (policy ACCEPT)
> target prot opt source destination
> bash-4.1# ip6tables -L
> Chain INPUT (policy ACCEPT)
> target prot opt source destination
>
> Chain FORWARD (policy ACCEPT)
> target prot opt source destination
>
> Chain OUTPUT (policy ACCEPT)
> target prot opt source destination
> bash-4.1# brctl show
> bridge name bridge id STP enabled interfaces
> bash-4.1# cat /proc/cmdline
> root=/dev/nfs nfsroot=10.10.0.2:/nfs/root/psion/,v3,tcp ro ip=::: ::dhcp
> BOOT_IMAGE=nightlybuild-psion
>
You could try "tcpdump -i eth0 ip6 -v"
I guess you receive frames with bad checksums
You can ask other system to not offload tx checksums
ethtool -K eth0 tx off
Please give result of (on both machines)
lspci -v
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-18 22:03 ` Eric Dumazet
@ 2011-01-21 19:47 ` Hans de Bruin
2011-01-21 19:55 ` Eric Dumazet
0 siblings, 1 reply; 7+ messages in thread
From: Hans de Bruin @ 2011-01-21 19:47 UTC (permalink / raw)
To: Eric Dumazet; +Cc: Jesse Gross, netdev
[-- Attachment #1: Type: text/plain, Size: 815 bytes --]
On 01/18/2011 11:03 PM, Eric Dumazet wrote:
> Le mardi 18 janvier 2011 à 22:42 +0100, Hans de Bruin a écrit :
>> On 01/18/2011 09:06 PM, Jesse Gross wrote:
...
> You could try "tcpdump -i eth0 ip6 -v"
>
> I guess you receive frames with bad checksums
While you where staring at the code, I was fooling around with tcpdump.
And while the problem is fixed, I still have some questions:
Is there tool which shows whether a nic supports ipv6 checksum offload
or not?
I have captured http traffic (wget http://bootes/) between psion (my git
tree following laptop) and bootes (something running 2.6.33.7).
Attached is a capture with psion running 2.6.37 and one with this
morning's git tree. Wat's with the 'chsum ... ( incorrect -> ' lines ?
ifconfig does not show errors on either of the machines.
--
Hans
[-- Attachment #2: dump.bootes.37 --]
[-- Type: text/plain, Size: 3902 bytes --]
20:16:18.258004 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::230:18ff:feae:75d8 > ff02::1: ICMP6, router advertisement, length 56
hop limit 64, Flags [none], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s[ndp opt]
20:16:18.288694 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) psion.system > ff02::1:ff00:2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has orion.system
source link-address option (1), length 8 (1): 00:1c:23:2d:73:87
20:16:19.028550 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) psion.system > ff02::1:ff00:7: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has bootes.system
source link-address option (1), length 8 (1): 00:1c:23:2d:73:87
20:16:19.028665 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) bootes.system > psion.system: [icmp6 sum ok] ICMP6, neighbor advertisement, length 32, tgt is bootes.system, Flags [router, solicited, override]
destination link-address option (2), length 8 (1): 00:30:18:a8:89:7a
20:16:19.029000 IP6 (hlim 64, next-header TCP (6) payload length: 40) psion.system.56503 > bootes.system.http: Flags [S], seq 4077389508, win 4320, options [mss 1440,sackOK,TS val 131831 ecr 0,[|tcp]>
20:16:19.029122 IP6 (hlim 64, next-header TCP (6) payload length: 40) bootes.system.http > psion.system.56503: Flags [S.], seq 2926278613, ack 4077389509, win 5712, options [mss 1440,sackOK,TS val 1831852795 ecr 131831,[|tcp]>
20:16:19.029780 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0x3b67 (correct), ack 1, win 68, options [nop,nop,TS val 131832 ecr 1831852795], length 0
20:16:19.029821 IP6 (hlim 64, next-header TCP (6) payload length: 136) psion.system.56503 > bootes.system.http: Flags [P.], ack 1, win 68, options [nop,nop,TS val 131832 ecr 1831852795], length 104
20:16:19.029901 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56503: Flags [.], cksum 0x3b15 (correct), ack 105, win 45, options [nop,nop,TS val 1831852796 ecr 131832], length 0
20:16:19.041170 IP6 (hlim 64, next-header TCP (6) payload length: 1460) bootes.system.http > psion.system.56503: Flags [.], ack 105, win 45, options [nop,nop,TS val 1831852808 ecr 131832], length 1428
20:16:19.041238 IP6 (hlim 64, next-header TCP (6) payload length: 679) bootes.system.http > psion.system.56503: Flags [P.], ack 105, win 45, options [nop,nop,TS val 1831852808 ecr 131832], length 647
20:16:19.042492 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0x352e (correct), ack 1429, win 113, options [nop,nop,TS val 131835 ecr 1831852808], length 0
20:16:19.042564 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0x327b (correct), ack 2076, win 157, options [nop,nop,TS val 131835 ecr 1831852808], length 0
20:16:19.051735 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [F.], cksum 0x3278 (correct), seq 105, ack 2076, win 157, options [nop,nop,TS val 131837 ecr 1831852808], length 0
20:16:19.051882 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56503: Flags [F.], cksum 0x32dd (correct), seq 2076, ack 106, win 45, options [nop,nop,TS val 1831852818 ecr 131837], length 0
20:16:19.052234 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0x326d (correct), ack 2077, win 157, options [nop,nop,TS val 131837 ecr 1831852818], length 0
20:16:22.668566 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::230:18ff:feae:75d8 > ff02::1: ICMP6, router advertisement, length 56
hop limit 64, Flags [none], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s[ndp opt]
[-- Attachment #3: dump.bootes.git --]
[-- Type: text/plain, Size: 2901 bytes --]
20:22:35.329370 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::230:18ff:feae:75d8 > ff02::1: ICMP6, router advertisement, length 56
hop limit 64, Flags [none], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s[ndp opt]
20:22:37.760934 IP6 (hlim 64, next-header TCP (6) payload length: 40) psion.system.56995 > bootes.system.http: Flags [S], seq 531795977, win 14400, options [mss 1440,sackOK,TS val 4294944543 ecr 0,[|tcp]>
20:22:37.761054 IP6 (hlim 64, next-header TCP (6) payload length: 40) bootes.system.http > psion.system.56995: Flags [S.], seq 3711662312, ack 531795978, win 5712, options [mss 1440,sackOK,TS val 1832231527 ecr 4294944543,[|tcp]>
20:22:37.761441 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xe774 (correct), ack 1, win 225, options [nop,nop,TS val 4294944543 ecr 1832231527], length 0
20:22:37.761871 IP6 (hlim 64, next-header TCP (6) payload length: 136) psion.system.56995 > bootes.system.http: Flags [P.], ack 1, win 225, options [nop,nop,TS val 4294944543 ecr 1832231527], length 104
20:22:37.761958 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56995: Flags [.], cksum 0xe7bf (correct), ack 105, win 45, options [nop,nop,TS val 1832231528 ecr 4294944543], length 0
20:22:37.767415 IP6 (hlim 64, next-header TCP (6) payload length: 1460) bootes.system.http > psion.system.56995: Flags [.], ack 105, win 45, options [nop,nop,TS val 1832231534 ecr 4294944543], length 1428
20:22:37.767476 IP6 (hlim 64, next-header TCP (6) payload length: 679) bootes.system.http > psion.system.56995: Flags [P.], ack 105, win 45, options [nop,nop,TS val 1832231534 ecr 4294944543], length 647
20:22:37.768236 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xe142 (correct), ack 1429, win 270, options [nop,nop,TS val 4294944545 ecr 1832231534], length 0
20:22:37.768293 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xde8e (correct), ack 2076, win 315, options [nop,nop,TS val 4294944545 ecr 1832231534], length 0
20:22:37.781697 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [F.], cksum 0xde8a (correct), seq 105, ack 2076, win 315, options [nop,nop,TS val 4294944548 ecr 1832231534], length 0
20:22:37.781854 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56995: Flags [F.], cksum 0xdf89 (correct), seq 2076, ack 106, win 45, options [nop,nop,TS val 1832231548 ecr 4294944548], length 0
20:22:37.782421 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xde7b (correct), ack 2077, win 315, options [nop,nop,TS val 4294944548 ecr 1832231548], length 0
[-- Attachment #4: dump.psion.37 --]
[-- Type: text/plain, Size: 6361 bytes --]
20:17:22.849151 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 56) fe80::230:18ff:feae:75d8 > ff02::1: ICMP6, router advertisement, length 56
hop limit 64, Flags [none], pref medium, router lifetime 30s, reachable time 0s, retrans time 0s[ndp opt]
20:17:22.879242 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) psion.system > ff02::1:ff00:2: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has orion.system
source link-address option (1), length 8 (1): 00:1c:23:2d:73:87
20:17:22.880017 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) orion.system > psion.system: [icmp6 sum ok] ICMP6, neighbor advertisement, length 32, tgt is orion.system, Flags [solicited, override]
destination link-address option (2), length 8 (1): 00:16:3e:00:00:02
20:17:22.880053 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.47203 > orion.system.domain: 41124+[|domain]
20:17:22.881325 IP6 (hlim 64, next-header UDP (17) payload length: 159) orion.system.domain > psion.system.47203: 41124 NXDomain[|domain]
20:17:22.883634 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.34461 > orion.system.domain: 63069+[|domain]
20:17:22.884987 IP6 (hlim 64, next-header UDP (17) payload length: 133) orion.system.domain > psion.system.34461: 63069 NXDomain*[|domain]
20:17:22.887354 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.46516 > orion.system.domain: 55721+[|domain]
20:17:22.888798 IP6 (hlim 64, next-header UDP (17) payload length: 159) orion.system.domain > psion.system.46516: 55721 NXDomain[|domain]
20:17:22.890306 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.46047 > orion.system.domain: 17153+[|domain]
20:17:22.891585 IP6 (hlim 64, next-header UDP (17) payload length: 188) orion.system.domain > psion.system.46047: 17153*[|domain]
20:17:22.893211 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.43776 > orion.system.domain: 1636+[|domain]
20:17:22.894542 IP6 (hlim 64, next-header UDP (17) payload length: 182) orion.system.domain > psion.system.43776: 1636*[|domain]
20:17:23.615864 IP6 (hlim 64, next-header UDP (17) payload length: 39) psion.system.43964 > orion.system.domain: 55214+[|domain]
20:17:23.616979 IP6 (hlim 64, next-header UDP (17) payload length: 97) orion.system.domain > psion.system.43964: 55214* 1/1/1 [|domain]
20:17:23.617211 IP6 (hlim 64, next-header UDP (17) payload length: 39) psion.system.47968 > orion.system.domain: 41048+[|domain]
20:17:23.618338 IP6 (hlim 64, next-header UDP (17) payload length: 97) orion.system.domain > psion.system.47968: 41048* 1/1/1 [|domain]
20:17:23.619254 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) psion.system > ff02::1:ff00:7: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has bootes.system
source link-address option (1), length 8 (1): 00:1c:23:2d:73:87
20:17:23.619739 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) bootes.system > psion.system: [icmp6 sum ok] ICMP6, neighbor advertisement, length 32, tgt is bootes.system, Flags [router, solicited, override]
destination link-address option (2), length 8 (1): 00:30:18:a8:89:7a
20:17:23.619758 IP6 (hlim 64, next-header TCP (6) payload length: 40) psion.system.56503 > bootes.system.http: Flags [S], seq 4077389508, win 4320, options [mss 1440,sackOK,TS val 131831 ecr 0,[|tcp]>
20:17:23.620289 IP6 (hlim 64, next-header TCP (6) payload length: 40) bootes.system.http > psion.system.56503: Flags [S.], seq 2926278613, ack 4077389509, win 5712, options [mss 1440,sackOK,TS val 1831852795 ecr 131831,[|tcp]>
20:17:23.620325 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0x3b67), ack 1, win 68, options [nop,nop,TS val 131832 ecr 1831852795], length 0
20:17:23.620423 IP6 (hlim 64, next-header TCP (6) payload length: 136) psion.system.56503 > bootes.system.http: Flags [P.], ack 1, win 68, options [nop,nop,TS val 131832 ecr 1831852795], length 104
20:17:23.621055 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56503: Flags [.], cksum 0x3b15 (correct), ack 105, win 45, options [nop,nop,TS val 1831852796 ecr 131832], length 0
20:17:23.621328 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.44443 > orion.system.domain: 48669+[|domain]
20:17:23.622786 IP6 (hlim 64, next-header UDP (17) payload length: 159) orion.system.domain > psion.system.44443: 48669 NXDomain[|domain]
20:17:23.624060 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.41904 > orion.system.domain: 13668+[|domain]
20:17:23.625741 IP6 (hlim 64, next-header UDP (17) payload length: 189) orion.system.domain > psion.system.41904: 13668*[|domain]
20:17:23.633020 IP6 (hlim 64, next-header TCP (6) payload length: 1460) bootes.system.http > psion.system.56503: Flags [.], ack 105, win 45, options [nop,nop,TS val 1831852808 ecr 131832], length 1428
20:17:23.633076 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0x352e), ack 1429, win 113, options [nop,nop,TS val 131835 ecr 1831852808], length 0
20:17:23.633090 IP6 (hlim 64, next-header TCP (6) payload length: 679) bootes.system.http > psion.system.56503: Flags [P.], ack 105, win 45, options [nop,nop,TS val 1831852808 ecr 131832], length 647
20:17:23.633107 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0x327b), ack 2076, win 157, options [nop,nop,TS val 131835 ecr 1831852808], length 0
20:17:23.642284 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [F.], cksum 0xf2fb (incorrect -> 0x3278), seq 105, ack 2076, win 157, options [nop,nop,TS val 131837 ecr 1831852808], length 0
20:17:23.642977 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56503: Flags [F.], cksum 0x32dd (correct), seq 2076, ack 106, win 45, options [nop,nop,TS val 1831852818 ecr 131837], length 0
20:17:23.643018 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56503 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0x326d), ack 2077, win 157, options [nop,nop,TS val 131837 ecr 1831852818], length 0
[-- Attachment #5: dump.psion.git --]
[-- Type: text/plain, Size: 4007 bytes --]
20:23:42.349445 IP6 (hlim 64, next-header UDP (17) payload length: 39) psion.system.56211 > orion.system.domain: 47986+[|domain]
20:23:42.350901 IP6 (hlim 64, next-header UDP (17) payload length: 97) orion.system.domain > psion.system.56211: 47986* 1/1/1 [|domain]
20:23:42.351249 IP6 (hlim 64, next-header UDP (17) payload length: 39) psion.system.58999 > orion.system.domain: 20696+[|domain]
20:23:42.352112 IP6 (hlim 64, next-header UDP (17) payload length: 97) orion.system.domain > psion.system.58999: 20696* 1/1/1 [|domain]
20:23:42.352524 IP6 (hlim 64, next-header TCP (6) payload length: 40) psion.system.56995 > bootes.system.http: Flags [S], seq 531795977, win 14400, options [mss 1440,sackOK,TS val 4294944543 ecr 0,[|tcp]>
20:23:42.352924 IP6 (hlim 64, next-header TCP (6) payload length: 40) bootes.system.http > psion.system.56995: Flags [S.], seq 3711662312, ack 531795978, win 5712, options [mss 1440,sackOK,TS val 1832231527 ecr 4294944543,[|tcp]>
20:23:42.352955 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0xe774), ack 1, win 225, options [nop,nop,TS val 4294944543 ecr 1832231527], length 0
20:23:42.353263 IP6 (hlim 64, next-header TCP (6) payload length: 136) psion.system.56995 > bootes.system.http: Flags [P.], ack 1, win 225, options [nop,nop,TS val 4294944543 ecr 1832231527], length 104
20:23:42.354069 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56995: Flags [.], cksum 0xe7bf (correct), ack 105, win 45, options [nop,nop,TS val 1832231528 ecr 4294944543], length 0
20:23:42.359591 IP6 (hlim 64, next-header TCP (6) payload length: 1460) bootes.system.http > psion.system.56995: Flags [.], ack 105, win 45, options [nop,nop,TS val 1832231534 ecr 4294944543], length 1428
20:23:42.359642 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0xe142), ack 1429, win 270, options [nop,nop,TS val 4294944545 ecr 1832231534], length 0
20:23:42.359668 IP6 (hlim 64, next-header TCP (6) payload length: 679) bootes.system.http > psion.system.56995: Flags [P.], ack 105, win 45, options [nop,nop,TS val 1832231534 ecr 4294944543], length 647
20:23:42.359685 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0xde8e), ack 2076, win 315, options [nop,nop,TS val 4294944545 ecr 1832231534], length 0
20:23:42.372455 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.60367 > orion.system.domain: 29336+[|domain]
20:23:42.373200 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [F.], cksum 0xf2fb (incorrect -> 0xde8a), seq 105, ack 2076, win 315, options [nop,nop,TS val 4294944548 ecr 1832231534], length 0
20:23:42.373771 IP6 (hlim 64, next-header UDP (17) payload length: 182) orion.system.domain > psion.system.60367: 29336*[|domain]
20:23:42.373793 IP6 (hlim 64, next-header TCP (6) payload length: 32) bootes.system.http > psion.system.56995: Flags [F.], cksum 0xdf89 (correct), seq 2076, ack 106, win 45, options [nop,nop,TS val 1832231548 ecr 4294944548], length 0
20:23:42.373821 IP6 (hlim 64, next-header TCP (6) payload length: 32) psion.system.56995 > bootes.system.http: Flags [.], cksum 0xf2fb (incorrect -> 0xde7b), ack 2077, win 315, options [nop,nop,TS val 4294944548 ecr 1832231548], length 0
20:23:42.378616 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.52144 > orion.system.domain: 9105+[|domain]
20:23:42.379782 IP6 (hlim 64, next-header UDP (17) payload length: 188) orion.system.domain > psion.system.52144: 9105*[|domain]
20:23:42.380951 IP6 (hlim 64, next-header UDP (17) payload length: 98) psion.system.48731 > orion.system.domain: 3203+[|domain]
20:23:42.382073 IP6 (hlim 64, next-header UDP (17) payload length: 189) orion.system.domain > psion.system.48731: 3203*[|domain]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-21 19:47 ` Hans de Bruin
@ 2011-01-21 19:55 ` Eric Dumazet
2011-01-21 20:38 ` Hans de Bruin
0 siblings, 1 reply; 7+ messages in thread
From: Eric Dumazet @ 2011-01-21 19:55 UTC (permalink / raw)
To: Hans de Bruin; +Cc: Jesse Gross, netdev
Le vendredi 21 janvier 2011 à 20:47 +0100, Hans de Bruin a écrit :
> On 01/18/2011 11:03 PM, Eric Dumazet wrote:
> > Le mardi 18 janvier 2011 à 22:42 +0100, Hans de Bruin a écrit :
> >> On 01/18/2011 09:06 PM, Jesse Gross wrote:
>
> ...
>
> > You could try "tcpdump -i eth0 ip6 -v"
> >
> > I guess you receive frames with bad checksums
>
> While you where staring at the code, I was fooling around with tcpdump.
> And while the problem is fixed, I still have some questions:
>
> Is there tool which shows whether a nic supports ipv6 checksum offload
> or not?
>
> I have captured http traffic (wget http://bootes/) between psion (my git
> tree following laptop) and bootes (something running 2.6.33.7).
> Attached is a capture with psion running 2.6.37 and one with this
> morning's git tree. Wat's with the 'chsum ... ( incorrect -> ' lines ?
> ifconfig does not show errors on either of the machines.
>
tcpdump gets a copy of outgoing frames before NIC performs tx checksum
(if tx checksum handled by NIC), so it's normal to have "bad checksums"
on TX, unless you disable tx offloading (ethtool -K eth0 tx off)
I was referring to check with tcpdump incoming frames, because invalid
checksums in RX is sign that other peer sent wrong checksums
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-21 19:55 ` Eric Dumazet
@ 2011-01-21 20:38 ` Hans de Bruin
2011-01-21 22:15 ` Brandeburg, Jesse
0 siblings, 1 reply; 7+ messages in thread
From: Hans de Bruin @ 2011-01-21 20:38 UTC (permalink / raw)
To: Eric Dumazet; +Cc: Jesse Gross, netdev
On 01/21/2011 08:55 PM, Eric Dumazet wrote:
> Le vendredi 21 janvier 2011 à 20:47 +0100, Hans de Bruin a écrit :
>> On 01/18/2011 11:03 PM, Eric Dumazet wrote:
>>> Le mardi 18 janvier 2011 à 22:42 +0100, Hans de Bruin a écrit :
>>>> On 01/18/2011 09:06 PM, Jesse Gross wrote:
>>
>> ...
>>
>>> You could try "tcpdump -i eth0 ip6 -v"
>>>
>>> I guess you receive frames with bad checksums
>>
>> While you where staring at the code, I was fooling around with tcpdump.
>> And while the problem is fixed, I still have some questions:
>>
>> Is there tool which shows whether a nic supports ipv6 checksum offload
>> or not?
>>
>> I have captured http traffic (wget http://bootes/) between psion (my git
>> tree following laptop) and bootes (something running 2.6.33.7).
>> Attached is a capture with psion running 2.6.37 and one with this
>> morning's git tree. Wat's with the 'chsum ... ( incorrect -> ' lines ?
>> ifconfig does not show errors on either of the machines.
>>
>
> tcpdump gets a copy of outgoing frames before NIC performs tx checksum
> (if tx checksum handled by NIC), so it's normal to have "bad checksums"
> on TX, unless you disable tx offloading (ethtool -K eth0 tx off)
That seem reasonable but: the bug was triggered because my nic could not
offload checksumming, so what's tx=on if there's no support for it? I
have turned tx off and my tcpdump still shows bad checksums on outgoing
tcp/ip6 packets. I have tried 2.6.36: bad checksums, 2.6.35 and
surprise: good checksums with tx=on.
>
> I was referring to check with tcpdump incoming frames, because invalid
> checksums in RX is sign that other peer sent wrong checksums
Ok, thats clear, the receiving site is apparently a more reliable
checksummer than the sending site.
--
Hans
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
2011-01-21 20:38 ` Hans de Bruin
@ 2011-01-21 22:15 ` Brandeburg, Jesse
0 siblings, 0 replies; 7+ messages in thread
From: Brandeburg, Jesse @ 2011-01-21 22:15 UTC (permalink / raw)
To: Hans de Bruin; +Cc: Eric Dumazet, Jesse Gross, netdev
On Fri, 21 Jan 2011, Hans de Bruin wrote:
> > tcpdump gets a copy of outgoing frames before NIC performs tx checksum
> > (if tx checksum handled by NIC), so it's normal to have "bad checksums"
> > on TX, unless you disable tx offloading (ethtool -K eth0 tx off)
>
> That seem reasonable but: the bug was triggered because my nic could not
> offload checksumming, so what's tx=on if there's no support for it? I
> have turned tx off and my tcpdump still shows bad checksums on outgoing
> tcp/ip6 packets. I have tried 2.6.36: bad checksums, 2.6.35 and
> surprise: good checksums with tx=on.
maybe you're still seeing confusing output on tx due to GSO, try turning
that off with ethtool -K ethX gso off
GSO still software-segments packets, and maybe the tap for tcpdump is
before GSO operation.
> > I was referring to check with tcpdump incoming frames, because invalid
> > checksums in RX is sign that other peer sent wrong checksums
>
> Ok, thats clear, the receiving site is apparently a more reliable
> checksummer than the sending site.
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2011-01-21 22:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4D335417.80704@xmsnet.nl>
[not found] ` <4D35EF64.1040906@xmsnet.nl>
2011-01-18 20:06 ` [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6 Jesse Gross
2011-01-18 21:42 ` Hans de Bruin
2011-01-18 22:03 ` Eric Dumazet
2011-01-21 19:47 ` Hans de Bruin
2011-01-21 19:55 ` Eric Dumazet
2011-01-21 20:38 ` Hans de Bruin
2011-01-21 22:15 ` Brandeburg, Jesse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox