Date: Tue, 05 Nov 2002 08:57:47 -0800 From: "Jacob S. Barrett" <jbarrett@amduat.net> To: freebsd-net@FreeBSD.ORG Subject: VLAN tag byte swap and chop problem?? Message-ID: <3DC7F88B.8090602@amduat.net>
next in thread | raw e-mail | index | archive | help
I am not sure if I am doing something completely wrong of if I have found some sort of bug here, but I thought I would toss it out to see if anyone else has ever seen this. I have two ports on my switch configured for vlan id 5. Port 1 is untagged and port 2 is tagged. The machine A is on port 1 and machine B is on port 2. Machine B's card is configure with multiple vlan nodes attached to it, including vlan id 5. I couldn't ping B from A so I attached tcpdump to the parent interface on B to see what was happening. So here is the strange part. The arp request from A to find B says that it is on vlan 1280. So I set the vlan id on the switch to 1280 and tcpdump says 5. So, id 0x0005 on the switch becomes 0x0500 on the host and 0x0500 on the switch becomes 0x0005 on the host. So I thought maybe a byte order problem until I tried setting the id on the switch to 18. So the id on the switch was 0x0012 and tcpdump reported it on vlan 0x0200. Trying other vlan IDs shows the same behavior. The id on the framed that is delivered is byte swapped with the first nibble chopped off. 0x0005 -> 0x0500 0x0500 -> 0x0005 0x0002 -> 0x0200 0x0200 -> 0x0002 0x0012 -> 0x0200 Here is my tcpdump from machine B (.1). Machine be is attempting to ping machine A (.2). It shows the frame leaving as vlan 2 (0x0020) (correct) and the reply coming back from A on vlan 512 (0x0200). 11:35:16.982435 802.1Q vlan#2 P0 arp who-has 10.126.0.2 (2e:2f:30:31:32:33) tell 10.126.0.1 11:35:16.982593 802.1Q vlan#512 P0 arp reply 10.126.0.2 is-at 0:90:27:f4:3c:9f 11:35:17.992434 802.1Q vlan#2 P0 arp who-has 10.126.0.2 (2e:2f:30:31:32:33) tell 10.126.0.1 11:35:17.992604 802.1Q vlan#512 P0 arp reply 10.126.0.2 is-at 0:90:27:f4:3c:9f 11:35:19.002467 802.1Q vlan#2 P0 arp who-has 10.126.0.2 (2e:2f:30:31:32:33) tell 10.126.0.1 11:35:19.002627 802.1Q vlan#512 P0 arp reply 10.126.0.2 is-at 0:90:27:f4:3c:9f So does anyone have any ideas? I am assuming this is either a configuration issue on my part with my boxes or a bug in the vlan code for if_em. I doubt that it is a problem with the switch firmware since this came from a production site where vlans were used extensively. Also, it correctly transmits the frame on the ports tagged for that vlan. My guess is that it is in the if_em driver somewhere. If anyone wants to tackle this let me know. Hardware Involved: (1) Extreme Networks Summit 4 (2) HP LPr Dual PIII 600MHz (1) Intel Pro 10/100B/100+ Ethernet (2) Intel(R) PRO/1000 -Jake -- Jacob S. Barrett jbarrett@amduat.net www.amduat.net "I don't suffer from insanity, I enjoy every minute of it." To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DC7F88B.8090602>