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