On Fri, 9 Sep 2005 10:10:00 +0100 Alex Zeffertt <ajz@xxxxxxxxxxxxxxxxxxxxxx> wrote: > On Thu, 08 Sep 2005 10:05:25 -0700 > Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote: > > > Alex Zeffertt wrote: > > > Hi list, > > > > > > I've discovered a strange problem. I've got two hosts with tagged interfaces called eth0.5. > > > When I try to telnet from host1 to host2 the session hangs where it should print out "Login:". > > > > > > I have no problems pinging host2 from host1 - even if I use max payload frames! > > > > > > I've run tcpdump -i eth0.5 on host1 when trying to telnet to host2, and I've copied the output > > > to the end of this email. It would seem that host2 (192.168.5.254) responds okay to the > > > initial SYN with a SYN/ACK. host1 (192.168.5.1) then sends some data and host2 then correctly > > > ACKs this. But then host2 starts sending packets which have the first 10 bytes stripped! > > > > > > I don't know why host2 is sending these packets. However, it *is* running old software > > > (linux-2.4.4) and I have found that if I replace it with a host running later software > > > (linux-2.4.25) and create eth0.5 on this new host, then I have no problem telnetting into it. > > > > The vlan code in 2.4.4 is probably crufty as hell...it was not even officially in the > > kernel untill 2.4.15 or so... > > > > If you really need to use a kernel that old, I'd back-port the VLAN code from the latest 2.4 > > kernel. > > > > Ben > > > > Hi Ben, > > Looking back through our CVS logs it appears that it was the vlan.1.5 patch that I applied. Do > you think this particular release is "crufty"? :-p > > I'll have a go at backporting, like you say. Here goes... deep breath... > > Alex Okay, I've backported the 8021q driver from linux-2.4.25 to linux-2.4.4 (i.e. I copied if_vlan.h and all of net/8021q from 2.4.25 to 2.4.4 and made minor changes to get it to compile). Unfortunately the problem is still there! The packets sent out by telnetd onto the vlan interface are corrupted. Note: this only applies to the generated by the sockets API. The TCP SYN/ACK which is generated by the kernel is fine; I can ping the tagged interface, and if I create a bridge with the the vlan interface in it, all packets get bridged from the vlan interface to the others fine. When I replace the unit with another running linux-2.4.25 the problem goes away. This suggests to me that the problem is with linux-2.4.4 but not specifically in the 8021q module. Does anyone have any ideas? I'm stuck! Alex