All of lore.kernel.org
 help / color / mirror / Atom feed
* Possible ipv6 regression
@ 2011-01-16 20:24 Hans de Bruin
  2011-01-18 19:52 ` [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6 Hans de Bruin
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Bruin @ 2011-01-16 20:24 UTC (permalink / raw)
  To: LKML

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.

-- 
Hans

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
  2011-01-16 20:24 Possible ipv6 regression Hans de Bruin
@ 2011-01-18 19:52 ` Hans de Bruin
  2011-01-18 20:06   ` Jesse Gross
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Bruin @ 2011-01-18 19:52 UTC (permalink / raw)
  To: LKML, jesse

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)

-- 
Hans


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
  2011-01-18 19:52 ` [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6 Hans de Bruin
@ 2011-01-18 20:06   ` Jesse Gross
  2011-01-18 21:42     ` Hans de Bruin
  0 siblings, 1 reply; 10+ 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] 10+ messages in thread

* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
  2011-01-18 20:06   ` Jesse Gross
@ 2011-01-18 21:42     ` Hans de Bruin
  2011-01-18 22:03       ` Eric Dumazet
  0 siblings, 1 reply; 10+ 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] 10+ 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-19 13:17         ` Hans de Bruin
  2011-01-21 19:47         ` Hans de Bruin
  0 siblings, 2 replies; 10+ 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] 10+ messages in thread

* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
  2011-01-18 22:03       ` Eric Dumazet
@ 2011-01-19 13:17         ` Hans de Bruin
  2011-01-21 19:47         ` Hans de Bruin
  1 sibling, 0 replies; 10+ messages in thread
From: Hans de Bruin @ 2011-01-19 13:17 UTC (permalink / raw)
  To: LKML

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:
>>> 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.
>>>>>
...

Just received a fix from one of the netdev's

-- 
Hans

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6
  2011-01-18 22:03       ` Eric Dumazet
  2011-01-19 13:17         ` Hans de Bruin
@ 2011-01-21 19:47         ` Hans de Bruin
  2011-01-21 19:55           ` Eric Dumazet
  1 sibling, 1 reply; 10+ 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] 10+ 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; 10+ 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] 10+ 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; 10+ 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] 10+ 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; 10+ 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] 10+ messages in thread

end of thread, other threads:[~2011-01-21 22:15 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-16 20:24 Possible ipv6 regression Hans de Bruin
2011-01-18 19:52 ` [regression] 2.6.37+ commit 0363466866d9.... breaks tcp ipv6 Hans de Bruin
2011-01-18 20:06   ` Jesse Gross
2011-01-18 21:42     ` Hans de Bruin
2011-01-18 22:03       ` Eric Dumazet
2011-01-19 13:17         ` Hans de Bruin
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.