SixXS::Sunset 2017-06-06

Native IPv6 packets too big
[no] Shadow Hawkins on Saturday, 10 July 2010 12:44:58
I have a local network of three machines, connected to a switch and accesspoint. A server (wired), a workstation (wired) and a laptop (wireless). They are on the same subnet. When I transfer files from one machine to another via IPv4, all works great. Packetsizes are normal (length: 1448), and transferrate is limited by connection-speed. However, when I use IPv6, transfarerate is about 13-25 KB/s! And the packetsizes are way too big: 2856! Here is a tcpdump-output from a filetransfer over scp: 12:38:42.793365 IP6 2001:14b8:16c::10.60917 > 2001:14b8:16c::5.22: Flags [S], seq 1670165922, win 5760, options [mss 1440,sackOK,TS val 68492 ecr 0,[|tcp]> 12:38:42.793433 IP6 2001:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [S.], seq 3034187951, ack 1670165923, win 5712, options [mss 1440,sackOK,TS val 2565949996 ecr 68492,[|tcp]> 12:38:42.793455 IP6 2001:14b8:16c::10.60917 > 2001:14b8:16c::5.22: Flags [.], ack 1, win 45, options [nop,nop,TS val 68492 ecr 2565949996], length 0 12:38:42.801838 IP6 2001:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [P.], seq 1:33, ack 1, win 45, options [nop,nop,TS val 2565949998 ecr 68492], length 32 [ ... ] 12:39:02.011108 IP6 2001:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [.], seq 24617:26045, ack 2008, win 107, options [nop,nop,TS val 2565954800 ecr 70414], length 1428 12:39:02.011119 IP6 2001:14b8:16c::10.60917 > 2001:14b8:16c::5.22: Flags [.], ack 26045, win 417, options [nop,nop,TS val 70414 ecr 2565954800], length 0 12:39:02.011127 IP6 2001:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [P.], seq 26045:27473, ack 2008, win 107, options [nop,nop,TS val 2565954800 ecr 70414], length 1428 12:39:02.011134 IP6 2001:14b8:16c::10.60917 > 2001:14b8:16c::5.22: Flags [.], ack 27473, win 439, options [nop,nop,TS val 70414 ecr 2565954800], length 0 12:39:02.011392 IP6 truncated-ip6 - 2894 bytes missing!5b2:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [.], seq 25704:29988, ack 1, win 107, options [nop,nop,TS val 2565954800 ecr 70414], length 4284 12:39:02.211889 IP6 2001:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [.], seq 27473:28901, ack 2008, win 107, options [nop,nop,TS val 2565954851 ecr 70414], length 1428 12:39:02.211922 IP6 2001:14b8:16c::10.60917 > 2001:14b8:16c::5.22: Flags [.], ack 28901, win 462, options [nop,nop,TS val 70434 ecr 2565954851], length 0 12:39:02.212076 IP6 truncated-ip6 - 1466 bytes missing!5b2:14b8:16c::5.22 > 2001:14b8:16c::10.60917: Flags [.], seq 29988:32844, ack 1, win 107, options [nop,nop,TS val 2565954851 ecr 70434], length 2856 As you can see, after just a few packets of normal length, the server-side starts to send too big packets. Does anyone know why? I have search the internet, but came up empty! All machines have different NICs, different OS and different kernel. It does not matter where I copy to or from, it's the same thing everywhere! I really hope you can help! -- vidar
Native IPv6 packets too big
[ch] Jeroen Massar SixXS Staff on Saturday, 10 July 2010 13:38:07
What Operating Systems (distro,name,kernel versions) are involved? Can you provide the "ifconfig" or "ip link show" output the involved interfaces? Generally your MTU should be 1500 on Ethernet; unless you have jumboframes enabled on your switch and configured this exactly the same on all hosts that are connected to it Also, if you have a Linux-based system amongst them, install and use tracepath6 to see what the routes think the packet sizes are. 'ip nei sho' on a Linux based system might also reveal per-destination MTU changes. And lastly, do not forget to check your firewall rules which might modify things.
Native IPv6 packets too big
[no] Shadow Hawkins on Saturday, 10 July 2010 18:27:46
Laptop: Name: Ubuntu 10.04 64bit - 2.6.32-23-generic #37-Ubuntu SMP ip link show: 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 0c:ee:e6:87:ed:80 brd ff:ff:ff:ff:ff:ff ip -6 addr show: 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2001:14b8:16c::14/64 scope global valid_lft forever preferred_lft forever inet6 2001:14b8:16c:0:eee:e6ff:fe87:ed80/64 scope global dynamic valid_lft 2591322sec preferred_lft 604122sec inet6 fe80::eee:e6ff:fe87:ed80/64 scope link valid_lft forever preferred_lft forever ip nei sho: fe80::20c:42ff:fe41:2605 dev eth1 lladdr 00:0c:42:2b:85:e1 router STALE 2001:14b8:16c::5 dev eth1 lladdr 00:26:18:26:a1:27 router REACHABLE 2001:14b8:16c::10 dev eth1 lladdr 00:24:8c:53:38:fb REACHABLE tracepath6 -n 2001:14b8:16c::10: 1?: [LOCALHOST] pmtu 1500 1: 2001:14b8:16c::10 2.805ms reached 1: 2001:14b8:16c::10 5.315ms reached Resume: pmtu 1500 hops 1 back 64 (The same for ::5) -------------- Server: Name: Debian Lenny (5.0.5) 64bit - 2.6.30 (own config, no patches) ip link show: 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:26:18:26:a1:27 brd ff:ff:ff:ff:ff:ff ip -6 addr show: 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2001:14b8:16c::5/64 scope global valid_lft forever preferred_lft forever inet6 fe80::226:18ff:fe26:a127/64 scope link valid_lft forever preferred_lft forever ip nei sho: fe80::20c:42ff:fe41:2605 dev eth1 lladdr 00:0c:42:2b:85:e1 router REACHABLE fe80::224:8cff:fe53:38fb dev eth1 lladdr 00:24:8c:53:38:fb STALE 2001:14b8:16c::14 dev eth1 lladdr 0c:ee:e6:87:ed:80 REACHABLE 2001:14b8:16c::10 dev eth1 lladdr 00:24:8c:53:38:fb REACHABLE 2001:14b8:16c::1 dev eth1 lladdr 00:0c:42:41:26:05 router REACHABLE fe80::eee:e6ff:fe87:ed80 dev eth1 lladdr 0c:ee:e6:87:ed:80 REACHABLE tracepath6 -n 2001:14b8:16c::10: 1?: [LOCALHOST] pmtu 1500 1: 2001:14b8:16c::10 0.218ms reached 1: 2001:14b8:16c::10 0.278ms reached Resume: pmtu 1500 hops 1 back 64 -------------- Workstation: Name: Ubuntu 9.10 64bit - 2.6.31-22-generic #60-Ubuntu SMP ip link show: 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:24:8c:53:38:fb brd ff:ff:ff:ff:ff:ff ip -6 addr show: 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 2001:14b8:16c::10/64 scope global valid_lft forever preferred_lft forever inet6 fe80::224:8cff:fe53:38fb/64 scope link valid_lft forever preferred_lft forever ip nei sho: fe80::eee:e6ff:fe87:ed80 dev eth0 lladdr 0c:ee:e6:87:ed:80 REACHABLE fe80::20c:42ff:fe41:2605 dev eth0 lladdr 00:0c:42:2b:85:e1 router STALE 2001:14b8:16c::5 dev eth0 lladdr 00:26:18:26:a1:27 router REACHABLE 2001:14b8:16c::14 dev eth0 lladdr 0c:ee:e6:87:ed:80 REACHABLE 2001:14b8:16c::1 dev eth0 lladdr 00:0c:42:2b:85:e1 router STALE tracepath6 -n 2001:14b8:16c::5: 1?: [LOCALHOST] pmtu 1500 1: 2001:14b8:16c::5 0.207ms reached 1: 2001:14b8:16c::5 0.151ms reached Resume: pmtu 1500 hops 1 back 64 I have edited out unused NICs and IPv4. There are no firewalls between (they are on the same subnet). -- vidar
Native IPv6 packets too big
[ch] Jeroen Massar SixXS Staff on Saturday, 10 July 2010 19:02:56
Looks fine to me, only thing I can think of is a SWITCH which is messing things up. Can you try: # ip ro list table all Before and after the transfer? That should show bit more details about the neighbors.
Native IPv6 packets too big
[no] Shadow Hawkins on Saturday, 10 July 2010 19:08:12
Before transfer: Server: local ::1 via :: dev lo proto none metric 0 mtu 16436 rtt 40ms rttvar 40ms cwnd 4 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c:: via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c::5 via :: dev lo proto none metric 0 mtu 16436 rtt 110ms rttvar 110ms cwnd 7 advmss 16376 hoplimit 4294967295 2001:14b8:16c::10 via 2001:14b8:16c::10 dev eth1 metric 0 cache mtu 1500 rtt 110ms rttvar 70ms ssthresh 4 cwnd 5 advmss 1440 hoplimit 4294967295 2001:14b8:16c::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 local fe80:: via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::226:18ff:fe26:a127 via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 ff00::/8 dev eth1 metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 default via 2001:14b8:16c::1 dev eth1 metric 1 mtu 1500 advmss 1440 hoplimit 4294967295 unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255 Workstation: 2001:14b8:16c::5 via 2001:14b8:16c::5 dev eth0 metric 0 cache mtu 1500 rtt 325ms rttvar 275ms cwnd 5 advmss 1440 hoplimit 4294967295 2001:14b8:16c::/64 dev eth0 proto kernel metric 256 expires 2591660sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 default via 2001:14b8:16c::1 dev eth0 metric 1 mtu 1500 advmss 1440 hoplimit 4294967295 default via fe80::20c:42ff:fe41:2605 dev eth0 proto kernel metric 1024 expires 1460sec mtu 1500 advmss 1440 hoplimit 4294967295 unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255 local ::1 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c::10 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::224:8cff:fe53:38fb via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::250:56ff:fec0:1 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::250:56ff:fec0:8 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 ff00::/8 dev eth0 table local metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 After transfer: Server: local ::1 via :: dev lo proto none metric 0 mtu 16436 rtt 40ms rttvar 40ms cwnd 4 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c:: via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c::5 via :: dev lo proto none metric 0 mtu 16436 rtt 110ms rttvar 110ms cwnd 7 advmss 16376 hoplimit 4294967295 2001:14b8:16c::10 via 2001:14b8:16c::10 dev eth1 metric 0 cache mtu 1500 rtt 110ms rttvar 70ms ssthresh 4 cwnd 5 advmss 1440 hoplimit 4294967295 2001:14b8:16c::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 local fe80:: via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::226:18ff:fe26:a127 via :: dev lo proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 fe80::/64 dev eth1 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 ff00::/8 dev eth1 metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 default via 2001:14b8:16c::1 dev eth1 metric 1 mtu 1500 advmss 1440 hoplimit 4294967295 unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255 Workstation: 2001:14b8:16c::5 via 2001:14b8:16c::5 dev eth0 metric 0 cache mtu 1500 rtt 425ms rttvar 500ms cwnd 5 advmss 1440 hoplimit 4294967295 2001:14b8:16c::/64 dev eth0 proto kernel metric 256 expires 2591603sec mtu 1500 advmss 1440 hoplimit 4294967295 fe80::/64 dev eth0 proto kernel metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 default via 2001:14b8:16c::1 dev eth0 metric 1 mtu 1500 advmss 1440 hoplimit 4294967295 default via fe80::20c:42ff:fe41:2605 dev eth0 proto kernel metric 1024 expires 1403sec mtu 1500 advmss 1440 hoplimit 4294967295 unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255 local ::1 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local 2001:14b8:16c::10 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::224:8cff:fe53:38fb via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::250:56ff:fec0:1 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 local fe80::250:56ff:fec0:8 via :: dev lo table local proto none metric 0 mtu 16436 advmss 16376 hoplimit 4294967295 ff00::/8 dev eth0 table local metric 256 mtu 1500 advmss 1440 hoplimit 4294967295 unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255 I do not know what I am looking for, but here is the output.
Native IPv6 packets too big
[ch] Jeroen Massar SixXS Staff on Saturday, 10 July 2010 19:54:38
I do not know what I am looking for, but here is the output.
These two lines:
2001:14b8:16c::10 via 2001:14b8:16c::10 dev eth1 metric 0 cache mtu 1500 rtt 110ms rttvar 70ms ssthresh 4 cwnd 5 advmss 1440 hoplimit 4294967295
2001:14b8:16c::5 via 2001:14b8:16c::5 dev eth0 metric 0 cache mtu 1500 rtt 425ms rttvar 500ms cwnd 5 advmss 1440 hoplimit 4294967295
Aka what the server thinks of the client and vice versa. As you can see their MTU's are both correctly set to 1500, advmss is 1440 which is also correct, and actually there is nothing wrong there. The only thing I can think of is that either your NIC, cabling or switch is causing broken packets, it doesn't look like it is your kernel... (at least from this data). You might want to try different kernel versions though.
Native IPv6 packets too big
[no] Shadow Hawkins on Thursday, 30 September 2010 10:05:17
Hi Jeroen, thanks for the help on this. After some more test, and upgrading from Debian Lenny to Ubuntu Server 10.04 LTS on the server, half of the problems went away! Then I tried to boot up different clients from Sysrescd (Live CD), and doing the same test. And the results varied! O\In other words: It was the Linux-kernel, and a faulty atl1e driver. So I did a Google search, and it seems I am not the only one: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=558426 And, it is fixed: ChangeLog-2.6.32.7: atl1e:disable NETIF_F_TSO6 for hardware limit ChangeLog-2.6.32.16: atl1e: Allow TX checksum offload and TSO to be disabled and reenabled The only client I now have with a problem is the Ubuntu 9.10 desktop, running 2.6.31-22-generic #65-Ubuntu SMP.

Please note Posting is only allowed when you are logged in.

Static Sunset Edition of SixXS
©2001-2017 SixXS - IPv6 Deployment & Tunnel Broker