* ipv4 udplite broken in >=linux-3.0 ? @ 2011-11-18 4:09 Jinxin Zheng 2011-11-18 12:04 ` Hagen Paul Pfeifer 0 siblings, 1 reply; 5+ messages in thread From: Jinxin Zheng @ 2011-11-18 4:09 UTC (permalink / raw) To: gerrit; +Cc: linux-kernel, netdev Hi, I recently migrated my work from udp to udplite. Thanks for your great effort. But after I upgraded the kernel from 2.6.38 to 3.0, the ipv4 version of udplite stops working. I tested the applications downloaded from Gerrit's udplite wiki, and found that the ipv6 version works well, but not ipv4. I did the tests on a Gentoo. The kernels are downloaded from the official web site. I don't know how to debug udplite. Can any one of you give me a tip on how to get more debug info, then I can do further test and provide with it? Thanks! -- Zheng Jinxin ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ipv4 udplite broken in >=linux-3.0 ? 2011-11-18 4:09 ipv4 udplite broken in >=linux-3.0 ? Jinxin Zheng @ 2011-11-18 12:04 ` Hagen Paul Pfeifer 2011-11-18 12:35 ` Jinxin Zheng 0 siblings, 1 reply; 5+ messages in thread From: Hagen Paul Pfeifer @ 2011-11-18 12:04 UTC (permalink / raw) To: Jinxin Zheng; +Cc: gerrit, linux-kernel, netdev * Jinxin Zheng | 2011-11-18 12:09:25 [+0800]: >I don't know how to debug udplite. Can any one of you give me a tip on >how to get more debug info, then I can do further test and provide >with it? net-next works for me: $ sudo aptitude install netsend $ sudo tcpdump -n -ttt -vv -i lo > pcap.trace & $ netsend udplite receive & $ netsend udplite transmit /etc/fstab 127.0.0.1 $ cat pcap.trace 00:00:00.000000 IP (tos 0x0, ttl 64, id 30602, offset 0, flags [DF], proto unknown (136), length 40) 127.0.0.1 > 127.0.0.1: udplite 20 00:00:00.000074 IP (tos 0x0, ttl 64, id 30603, offset 0, flags [DF], proto unknown (136), length 1125) 127.0.0.1 > 127.0.0.1: udplite 1105 Kernel version? What is the output of strace? ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ipv4 udplite broken in >=linux-3.0 ? 2011-11-18 12:04 ` Hagen Paul Pfeifer @ 2011-11-18 12:35 ` Jinxin Zheng 2011-11-18 23:27 ` Gerrit Renker 0 siblings, 1 reply; 5+ messages in thread From: Jinxin Zheng @ 2011-11-18 12:35 UTC (permalink / raw) To: Hagen Paul Pfeifer; +Cc: gerrit, linux-kernel, netdev On Fri, Nov 18, 2011 at 8:04 PM, Hagen Paul Pfeifer <hagen@jauu.net> wrote: > * Jinxin Zheng | 2011-11-18 12:09:25 [+0800]: > >>I don't know how to debug udplite. Can any one of you give me a tip on >>how to get more debug info, then I can do further test and provide >>with it? > > net-next works for me: > > $ sudo aptitude install netsend > $ sudo tcpdump -n -ttt -vv -i lo > pcap.trace & > $ netsend udplite receive & > $ netsend udplite transmit /etc/fstab 127.0.0.1 > > $ cat pcap.trace > 00:00:00.000000 IP (tos 0x0, ttl 64, id 30602, offset 0, flags [DF], proto unknown (136), length 40) 127.0.0.1 > 127.0.0.1: udplite 20 > 00:00:00.000074 IP (tos 0x0, ttl 64, id 30603, offset 0, flags [DF], proto unknown (136), length 1125) 127.0.0.1 > 127.0.0.1: udplite 1105 > > > Kernel version? What is the output of strace? > The kernel version is 3.0. I compiled it myself on a Gentoo i386. I do not use Ubuntu or Debian. Cannot get netsend in Gentoo ... But I did the test using the hello_world application downloaded from Gerrit's wiki: http://www.erg.abdn.ac.uk/~gerrit/udp-lite/ It contains a simple 'server' and a 'client' program. The client sends a "Hello World" to the server, and when the server receives the message it exits. $ tcpdump -n -ttt -vv -i lo > pcap.trace & $ ./server & $ ./client $ cat pcap.trace 00:00:00.000000 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto unknown (136), length 41) 127.0.0.1 > 127.0.0.1: ip-proto-136 21 the pcap trace seems ok. The sendto() in the client returns ok. But the server just cannot return from recv() and echo the message... I can't see anything suspicious from strace for the server or client either... -- Zheng Jinxin ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ipv4 udplite broken in >=linux-3.0 ? 2011-11-18 12:35 ` Jinxin Zheng @ 2011-11-18 23:27 ` Gerrit Renker 2011-11-19 7:08 ` Jinxin Zheng 0 siblings, 1 reply; 5+ messages in thread From: Gerrit Renker @ 2011-11-18 23:27 UTC (permalink / raw) To: Jinxin Zheng; +Cc: Hagen Paul Pfeifer, linux-kernel, netdev Jinxin, - | On Fri, Nov 18, 2011 at 8:04 PM, Hagen Paul Pfeifer <hagen@jauu.net> wrote: | > * Jinxin Zheng | 2011-11-18 12:09:25 [+0800]: | > | >>I don't know how to debug udplite. Can any one of you give me a tip on | >>how to get more debug info, then I can do further test and provide | >>with it? | > | > net-next works for me: That is very likely the point. Between 2.6.39 and 3.0 UDP-Lite checksum coverage was broken and got only recently fixed. The correct kernel version should have the commit shown below. Alternatively, you can check include/net/udplite.h, which should mention "Slow-path" and "Fast-Path" computation. UDP-Litev6 still uses the slow path, that is why it is not affected. commit f36c23bb9f822904dacf83a329518d0a5fde7968 Author: Gerrit Renker <gerrit@erg.abdn.ac.uk> Date: Mon Oct 17 19:07:30 2011 -0400 udplite: fast-path computation of checksum coverage Commit 903ab86d195cca295379699299c5fc10beba31c7 of 1 March this year ("udp: Add lockless transmit path") introduced a new fast TX path that broke the checksum coverage computation of UDP-lite, which so far depended on up->len (only set if the socket is locked and 0 in the fast path). Fixed by providing both fast- and slow-path computation of checksum coverage. The latter can be removed when UDP(-lite)v6 also uses a lockless transmit path. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: ipv4 udplite broken in >=linux-3.0 ? 2011-11-18 23:27 ` Gerrit Renker @ 2011-11-19 7:08 ` Jinxin Zheng 0 siblings, 0 replies; 5+ messages in thread From: Jinxin Zheng @ 2011-11-19 7:08 UTC (permalink / raw) To: Gerrit Renker, Hagen Paul Pfeifer, linux-kernel, netdev On Sat, Nov 19, 2011 at 7:27 AM, Gerrit Renker <gerrit@erg.abdn.ac.uk> wrote: > Jinxin, - > | On Fri, Nov 18, 2011 at 8:04 PM, Hagen Paul Pfeifer <hagen@jauu.net> wrote: > | > * Jinxin Zheng | 2011-11-18 12:09:25 [+0800]: > | > > | >>I don't know how to debug udplite. Can any one of you give me a tip on > | >>how to get more debug info, then I can do further test and provide > | >>with it? > | > > | > net-next works for me: > That is very likely the point. Between 2.6.39 and 3.0 UDP-Lite checksum coverage was > broken and got only recently fixed. The correct kernel version should have the > commit shown below. Alternatively, you can check include/net/udplite.h, which > should mention "Slow-path" and "Fast-Path" computation. UDP-Litev6 still uses the > slow path, that is why it is not affected. > > > commit f36c23bb9f822904dacf83a329518d0a5fde7968 > Author: Gerrit Renker <gerrit@erg.abdn.ac.uk> > Date: Mon Oct 17 19:07:30 2011 -0400 > > udplite: fast-path computation of checksum coverage > > Commit 903ab86d195cca295379699299c5fc10beba31c7 of 1 March this year ("udp: Add > lockless transmit path") introduced a new fast TX path that broke the checksum > coverage computation of UDP-lite, which so far depended on up->len (only set > if the socket is locked and 0 in the fast path). > > Fixed by providing both fast- and slow-path computation of checksum coverage. > The latter can be removed when UDP(-lite)v6 also uses a lockless transmit path. > > Thanks, Gerrit. Upgrading to the upstream linux-3.2-rc2 fixed the problem :) -- Zheng Jinxin ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-11-19 7:08 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-11-18 4:09 ipv4 udplite broken in >=linux-3.0 ? Jinxin Zheng 2011-11-18 12:04 ` Hagen Paul Pfeifer 2011-11-18 12:35 ` Jinxin Zheng 2011-11-18 23:27 ` Gerrit Renker 2011-11-19 7:08 ` Jinxin Zheng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).