Skip site navigation (1)Skip section navigation (2)
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>