Bit swapping across a DHCP Relay
Eric Peterson <eric@xylan.com> Thu, 24 October 1996 04:13 UTC
Received: from cnri by ietf.org id aa28488; 24 Oct 96 0:13 EDT
Received: from marge.bucknell.edu by CNRI.Reston.VA.US id aa01241;
24 Oct 96 0:13 EDT
Received: from reef.bucknell.edu by mail.bucknell.edu;
(5.65v3.2/1.1.8.2/17Jul96-0109PM)
id AA26532; Thu, 24 Oct 1996 00:09:38 -0400
Date: Thu, 24 Oct 1996 00:09:38 -0400
Message-Id: <9610240323.AA05131@omni.xylan.com>
Errors-To: droms@bucknell.edu
Reply-To: dhcp-v4@bucknell.edu
Originator: dhcp-v4@bucknell.edu
Sender: dhcp-v4@bucknell.edu
Precedence: bulk
From: Eric Peterson <eric@xylan.com>
To: Multiple recipients of list <dhcp-v4@bucknell.edu>
Subject: Bit swapping across a DHCP Relay
X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
X-Comment: Discussion of DHCP for IPv4
Mime-Version: 1.0
X-Mailer: ELM [version 2.4ME+ PL15 (25)]
I have a network where I suspect there's a problems with a DHCP Relay flipping
MAC address bits (I believe) incorrectly. The network is a Windows 95 client
on a token-ring, sending to a Windows NT server also on a token-ring, with the
two token rings bridged by an FDDI ring.
Here's the basic diagram:
Request Direction--->>
SA: -->> ClientAddr --->> ClientAddr --->> RelayTAddr --->>
DA: / ffffff:ffffff ffffff:ffffff ffffff:ffffff \
/ \
/ \
Win95 -----tr----- SWITCH -----fddi----- ROUTER -----tr----- WinNT
Client +Relay Server
\ /
SA: <<--- RelayFAddr <<--- RelayFAddr <<--- SvrAddr <<---
DA: ~ClientAddr ~ClientAddr RelayTAddr
<<---Response Direction
I show the various MAC addresses (DLC addresses, not addresses within the
DHCP packet) as the packets traverse the net in their respective directions
(toward the server on top, toward the client below.)
Note:
tr=Token-Ring Network
fddi=FDDI Network
ClientAddr=MAC Address of the Client
~ClientAddr=MAC Address of the Client, but bit-reversed
RelayTAddr=MAC Address of the DHCP Relay Token-Ring
RelayFAddr=MAC Address of the DHCP Relay FDDI
SvrAddr=MAC Address of the DHCP Server
SA=Source MAC Address
DA=Destination MAC Address
A couple notes about the client:
htype: 6 (due to being token-ring: IEEE 802)
chaddr: CAddr (since it's token-ring, non-canonical)
In the above diagram, the CAddr is a non-canonical address, again, since
our client is a token-ring. As an aside, the client sends the request with
a RIF field (source-routed), but I don't believe that alters the issue
drastically (FYI: Microsoft has a bug-report against it).
All seems generally normal (to me), until the DHCP server's reply hits the DHCP
Relay.
Between the server and the switch, the relay is flipping the bits of the
MAC address. Since the switch is transparent, it doesn't do any bit-swapping
in either direction, so the client ends up getting its response back directed
to the bit-reversed version of his address. He obviously ignores it.
Questions:
1. Why does the Relay flip the bits? Both FDDI and Token Ring use
non-canonical address. It seems incorrect to be allowed to
put the bit-swapped version of the address on the ring, as there is
a chance (albeit slight) that this bit-reversed address is actually
on the ring.
2. If for some reason,the relay is supposed to flip the bits, can I assume
then that the switch is required to identify the DHCP packets and do
the appropriate swap back?
3. What RFC defines this behavior? (I examined rfc1542, and although it
discusses the issue of bit-ordering in the 'chaddr' field, it
hardly mentions the actual MAC address.)
Thanks in advance for your time and information! If there is interest,
I will summarize.
Eric
--
Eric Peterson WB6PYK (818)878-4537 WORK: eric@xylan.com
HOME: eric@rain.org
- Bit swapping across a DHCP Relay Eric Peterson
- Re: Bit swapping across a DHCP Relay Richard Letts
- Re: Bit swapping across a DHCP Relay Eric Peterson
- Re: Bit swapping across a DHCP Relay Ken Key