Bug 2991 - vlan (8021q) is working bad with some sites and some ports
Summary: vlan (8021q) is working bad with some sites and some ports
Status: RESOLVED PATCH_ALREADY_AVAILABLE
Alias: None
Product: Networking
Classification: Unclassified
Component: IPV4 (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Nivedita Singhvi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-01 00:19 UTC by Walter
Modified: 2004-07-05 08:31 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.7
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
3c59x patch for vlans (tested in production for 90 days now) (6.64 KB, patch)
2004-07-02 09:41 UTC, Stefan de Konink
Details | Diff

Description Walter 2004-07-01 00:19:10 UTC
Distribution: Vlan (8021q) lost ipv4 packet 
Hardware Environment: HP tc3100 + switch 3com 3c16886A 
Software Environment: Mandrake 10 official + kernel 2.6.7-2mdk 
Problem Description:  
While using vlan (eth0.2) for connection to internet mostly sites don't work 
(ex: www.ziobudda.net bad, punto-informatico.it ok) 
The connection starts but no packet are recived.  
tcpdump -i eth0.2 -vv -X host www.ziobudda.net 
tcpdump: listening on eth0.2, link-type EN10MB (Ethernet), capture size 96 
bytes 
09:03:48.715078 IP (tos 0x0, ttl  64, id 51924, offset 0, flags [DF], length: 
52) 81.112.63.189.32933 > 193.254.241.4.http: F [tcp sum ok] 
2920000677:2920000677(0) ack 2170843880 win 5840 <nop,nop,timestamp 1895751 
271281932> 
0x0000   4500 0034 cad4 4000 4006 2bbf 5170 3fbd        E..4..@.@.+.Qp?. 
0x0010   c1fe f104 80a5 0050 ae0b aca5 8164 72e8        .......P.....dr. 
0x0020   8011 16d0 df2c 0000 0101 080a 001c ed47        .....,.........G 
0x0030   102b 6f0c                                      .+o. 
09:03:48.723397 IP (tos 0x0, ttl  54, id 7661, offset 0, flags [DF], length: 
52) 193.254.241.4.http > 81.112.63.189.32933: . [tcp sum ok] 2897:2897(0) ack 
1 win 6432 <nop,nop,timestamp 271285501 1895751> 
0x0000   4500 0034 1ded 4000 3606 e2a6 c1fe f104        E..4..@.6....... 
0x0010   5170 3fbd 0050 80a5 8164 7e38 ae0b aca6        Qp?..P...d~8.... 
0x0020   8010 1920 c39b 0000 0101 080a 102b 7cfd        .............+|. 
0x0030   001c ed47                                      ...G 
09:03:48.826211 IP (tos 0x0, ttl  64, id 20222, offset 0, flags [DF], length: 
60) 81.112.63.189.32934 > 193.254.241.4.http: S [tcp sum ok] 
2985141064:2985141064(0) win 5840 <mss 1460,sackOK,timestamp 1895862 
0,nop,wscale 0> 
0x0000   4500 003c 4efe 4000 4006 a78d 5170 3fbd        E..<N.@.@...Qp?. 
0x0010   c1fe f104 80a6 0050 b1ed a348 0000 0000        .......P...H.... 
0x0020   a002 16d0 2907 0000 0204 05b4 0402 080a        ....)........... 
0x0030   001c edb6 0000 0000 0103 0300                  ............ 
09:03:48.834155 IP (tos 0x0, ttl  54, id 0, offset 0, flags [DF], length: 60) 
193.254.241.4.http > 81.112.63.189.32934: S [tcp sum ok] 2195619523:2195619523
(0) ack 2985141065 win 5792 <mss 1460,sackOK,timestamp 271285512 
1895862,nop,wscale 0> 
0x0000   4500 003c 0000 4000 3606 008c c1fe f104        E..<..@.6....... 
0x0010   5170 3fbd 0050 80a6 82de 7ec3 b1ed a349        Qp?..P....~....I 
0x0020   a012 16a0 9a50 0000 0204 05b4 0402 080a        .....P.......... 
0x0030   102b 7d08 001c edb6 0103 0300                  .+}......... 
09:03:48.834228 IP (tos 0x0, ttl  64, id 20223, offset 0, flags [DF], length: 
52) 81.112.63.189.32934 > 193.254.241.4.http: . [tcp sum ok] 1:1(0) ack 1 win 
5840 <nop,nop,timestamp 1895870 271285512> 
0x0000   4500 0034 4eff 4000 4006 a794 5170 3fbd        E..4N.@.@...Qp?. 
0x0010   c1fe f104 80a6 0050 b1ed a349 82de 7ec4        .......P...I..~. 
0x0020   8010 16d0 c8dd 0000 0101 080a 001c edbe        ................ 
0x0030   102b 7d08                                      .+}. 
09:03:48.836162 IP (tos 0x0, ttl  64, id 20224, offset 0, flags [DF], length: 
451) 81.112.63.189.32934 > 193.254.241.4.http: P 1:400(399) ack 1 win 5840 
<nop,nop,timestamp 1895872 271285512> 
0x0000   4500 01c3 4f00 4000 4006 a604 5170 3fbd        E...O.@.@...Qp?. 
0x0010   c1fe f104 80a6 0050 b1ed a349 82de 7ec4        .......P...I..~. 
0x0020   8018 16d0 78ce 0000 0101 080a 001c edc0        ....x........... 
0x0030   102b 7d08 4745 5420 2f20 4854 5450 2f31        .+}.GET./.HTTP/1 
0x0040   2e31 0d0a 436f 6e6e 6563 7469 6f6e 3a20        .1..Connection:. 
0x0050   4b65                                           Ke 
09:03:48.846287 IP (tos 0x0, ttl  54, id 973, offset 0, flags [DF], length: 
52) 193.254.241.4.http > 81.112.63.189.32934: . [tcp sum ok] 1:1(0) ack 400 
win 6432 <nop,nop,timestamp 271285513 1895872> 
0x0000   4500 0034 03cd 4000 3606 fcc6 c1fe f104        E..4..@.6....... 
0x0010   5170 3fbd 0050 80a6 82de 7ec4 b1ed a4d8        Qp?..P....~..... 
0x0020   8010 1920 c4fb 0000 0101 080a 102b 7d09        .............+}. 
0x0030   001c edc0 
 
(no more) 
 
the ping works and the telnet towards others ports (but 80) work 
if I use une other net card for direct connettion (eth1) internet connections 
works perfectly 
 
Steps to reproduce: 
hdsl + router cisco + 3com switch layer 3 + vlan 
eth0 local lan  
eth0.2 internet  
links www.ziobudda.net 
 
tks W:-}
Comment 1 Ben Greear 2004-07-01 00:49:55 UTC
It's likely that your driver does not handle the extra 4 bytes of
the VLAN header.  What driver/NIC are you using in the Linux
VLAN machine?
Comment 2 Walter 2004-07-01 04:10:05 UTC
I am using eepro100 
eepro100        : Intel Corp.|NetServer 10/100TX [NETWORK_ETHERNET] 
 
eth0: OEM i82557/i82558 10/100 Ethernet, 00:30:6E:1F:00:E4, IRQ 20. 
  Board assembly 506585-133, Physical connectors present: RJ45 
  Primary interface chip i82555 PHY #1. 
  General self-test: passed. 
  Serial sub-system self-test: passed. 
  Internal registers self-test: passed. 
  ROM checksum self-test: passed (0xb874c1d3) 
 
I have test the problem so in kernel-2.4.25.2mdk-1-1mdk 
 
and have problem like in other machine whit mandrake 10 off + nic 
3Com Corporation|3c905C-TX [Fast Etherlink] [NETWORK_ETHERNET] 
 
 
 
Comment 3 Walter 2004-07-01 05:05:42 UTC
I have found: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=88592

Description of problem:
The NIC drivers from the linux kernel must be pached in order not to drop
"oversized frames" received. A tagged frame has a suplimentary header (tag)
which contains informations about the vlan id it comes from, etc. The tagged
frames are 4 bytes longer that the normal untagged ethernet frames. Almost all
NIC drivers from the linux kernel (except e100 I suppose) drop this frames
because are considered being oversized before untagging them.


http://www.candelatech.com/~greear/vlan/howto.html#eepro
Here is a patch sent in by gleb@nbase.co.il
     filename="linux-2.2.14-eepro100-vlan.patch"
--- linux/drivers/net/eepro100.c        Tue Oct 26 20:53:40 1999
+++ linux1/drivers/net/eepro100.c       Sun May 14 07:47:34 2000
@@ -377,12 +377,12 @@
 const char i82557_config_cmd[22] = {
        22, 0x08, 0, 0,  0, 0x80, 0x32, 0x03,  1, /* 1=Use MII  0=Use AUI */
        0, 0x2E, 0,  0x60, 0,
-       0xf2, 0x48,   0, 0x40, 0xf2, 0x80,              /* 0x40=Force full-
duplex */
+       0xf2, 0x48,   0, 0x40, 0xfa, 0x80,              /* 0x40=Force full-
duplex */
        0x3f, 0x05, };
 const char i82558_config_cmd[22] = {
        22, 0x08, 0, 1,  0, 0x80, 0x22, 0x03,  1, /* 1=Use MII  0=Use AUI */
        0, 0x2E, 0,  0x60, 0x08, 0x88,
-       0x68, 0, 0x40, 0xf2, 0xBD,              /* 0xBD->0xFD=Force full-duplex 
*/
+       0x68, 0, 0x40, 0xfa, 0xBD,              /* 0xBD->0xFD=Force full-duplex 
*/
        0x31, 0x05, };
 
 /* PHY media interface chips. */

 now tray if it resolv the problem
Comment 4 Ben Greear 2004-07-01 08:15:13 UTC
Just use the e100 driver, then everything will work OK.

If the eepro100 is still officially supported, this bug should be assigned
to whoever supports it.  However, the eepro100 VLAN patch has been around
for years and no one shows any interest in applying it...
Comment 5 Stefan de Konink 2004-07-02 09:41:58 UTC
Created attachment 3299 [details]
3c59x patch for vlans (tested in production for 90 days now)

I'm comming from the Gentoo bugzilla to the kernel bugzilla because I have
problems with the behavior of the 3c59x driver in a VLAN setup. This patch is
the original 2.4 patch for this driver, but 'patched' so it cleanly applies for
the 2.6 kernels.

I also tryed the eepro100 patches for this problem which does _not_ work, the
intel e100 does.

I would like to request to get this patch into the mainline kernel. So the most
used 3com card works with VLANs out-of-the-box. I did not made it myself, but I
am using it in production on two firewalls, multiple interfaces and vlans, for
three months.
Comment 6 Nivedita Singhvi 2004-07-02 09:48:46 UTC
Hi! Could you please fwd your patch to Jeff Garzik and cc netdev@oss.sgi.com for
mainline kernel inclusion?. thanks! Nivedita
Comment 7 Walter 2004-07-05 08:31:24 UTC
So I have patched the kernel 2.6.3 and now work the driver 3c59x perfectly in 
vlan with the patch of 
http://www.candelatech.com/~greear/vlan/howto.html

in this page there are some other patch and like the patch is insert into 
vanilla tree.
tks to all
W:-}

Note You need to log in before you can comment on or make changes to this bug.