[openib-general] Re: IB Address Translation service
Hal Rosenstock
halr at voltaire.com
Wed Apr 6 04:08:57 PDT 2005
On Wed, 2005-04-06 at 03:19, Michael S. Tsirkin wrote:
> > So I don't think that the above 2 cases require an invariant QPN.
> >
> > 3. The third case is multihomed interfaces on the same IPoIB subnet. I
> > don't think this is currently supported by IPoIB (but may someday). That
> > would either not be supported by RARP or some way to have invariant QPNs
> > would be needed. I'm not sure how important this case is.
> >
> > Is the above correct ? Are there other cases ?
> >
> > -- Hal
> >
>
> Some DHCP servers (dhcpd) let you configure a fixed IP per hardware address.
> It seems to me that making this work requires an invariant QP, right?
I believe that DHCP servers require work in order to do this for IPoIB
as they do not understand an IPoIB hardware address. So if they do
support client identifier mapping to IP address, then I think the answer
is maybe (rather than a definitive yes). The reason I say this is that
the DHCP draft appears to allow any unique client identifier per IP
subnet to be used. In that case, as long there is a scheme to make each
identifier unique per IP subnet, DHCP is fine.
The "client-identifier" option includes a type and identifier pair.
The identifier included in the "client-identifier" option may
consist of a hardware address or any other unique value such as the
DNS name of the client. When a hardware address is used, the type
field should be one of the ARP hardware types listed in [ARPPARAM].
The most common (simple to implement) client identifier from the the
DHCP client perspective is the IPoIB hardware address.
http://www.ietf.org/internet-drafts/draft-ietf-dhc-3315id-for-v4-04.txt
states:
Client identities are ephemeral
RFC2132 recommends that client identifiers be generated by using
the permanent link-layer address of the network interface that the
client is trying to configure.
Requirements
In order to address the problems stated in section 2, DHCPv4 client
identifiers must have the following characteristics:
- They must be persistent, in the sense that a particular host's
client identifier must not change simply because a piece of
network hardware is added or removed.
...
- DHCPv4 client identifiers used by dual-stack hosts that also use
DHCPv6 must use the same host identification string for both
DHCPv4 and DHCPv6 - for example, a DHCPv4 server that uses the
client's identity to update the DNS on behalf of a DHCPv4 client
must register the same client identity in the DNS that would be
registered by the DHCPv6 server on behalf of the DHCPv6 client
running on that host, and vice versa.
In order to satisfy all but the last of these requirements, we need
to construct a DHCPv4 client identifier out of two parts. One part
must be unique to the host on which the client is running. The
other must be unique to the network identity being presented. The
DHCP Unique Identifier (DUID) and Identity Association Identifier
(IAID) specified in RFC3315 satisfy these requirements.
DHCPv4 Client behavior
DHCPv4 clients conforming to this specification MUST use stable
DHCPv4 node identifiers in the dhcp-client-identifier option.
DHCPv4 clients MUST NOT use client identifiers based solely on
layer two addresses that are hard-wired to the layer two device
(e.g., the ethernet MAC address) as suggested in RFC2131, except as
allowed in section 9.2 of RFC3315. DHCPv4 clients MUST send a
'client identifier' option containing an Identity Association
Unique Identifier, as defined in section 10 of RFC3315, and a DHCP
Unique Identifier, as defined in section 9 of RFC3315. These
together constitute an RFC3315-style binding identifier.
The general format of the DHCPv4 'client identifier' option is
defined in section 9.14 of RFC2132.
To send an RFC3315-style binding identifiier in a DHCPv4 'client
identifier' option, the type of the 'client identifier' option is
set to 255. The type field is immediately followed by the IAID,
which is an opaque 32-bit quantity. The IAID is immediately
followed by the DUID, which consumes the remaining contents of the
'client identifier' option. The format of the 'client identifier'
option is as follows:
Code Len Type IAID DUID
+----+----+-----+----+----+----+----+----+----+---
| 61 | n | 255 | i1 | i2 | i3 | i4 | d1 | d2 |...
+----+----+-----+----+----+----+----+----+----+---
Any DHCPv4 or DHCPv6 client that conforms to this specification
SHOULD provide a means by which an operator can learn what DUID the
client has chosen. Such clients SHOULD also provide a means by
which the operator can configure the DUID. A device that is
normally configured with both a DHCPv4 and DHCPv6 client SHOULD
automatically use the same DUID for DHCPv4 and DHCPv6 without any
operator intervention.
DHCPv4 clients that support more than one network interface SHOULD
use the same DUID on every interface. DHCPv4 clients that support
more than one network interface SHOULD use a different IAID on
each interface.
>From RFC 3315, there are multiple DUID types: DUID-LLT (link link address
plus time), DUIT_EN (assigned by vendor based on enterprise number), DUID-LL
(based on link layer address),
Identity Association
An "identity-association" (IA) is a construct through which a server
and a client can identify, group, and manage a set of related IPv6
addresses. Each IA consists of an IAID and associated configuration
information.
A client must associate at least one distinct IA with each of its
network interfaces for which it is to request the assignment of IPv6
addresses from a DHCP server. The client uses the IAs assigned to an
interface to obtain configuration information from a server for that
interface. Each IA must be associated with exactly one interface.
The IAID uniquely identifies the IA and must be chosen to be unique
among the IAIDs on the client. The IAID is chosen by the client.
For any given use of an IA by the client, the IAID for that IA MUST
be consistent across restarts of the DHCP client. The client may
maintain consistency either by storing the IAID in non-volatile
storage or by using an algorithm that will consistently produce the
same IAID as long as the configuration of the client has not changed.
There may be no way for a client to maintain consistency of the IAIDs
if it does not have non-volatile storage and the client's hardware
configuration changes.
Using a scheme along these lines, precludes the requirement for a nonvolatile
QPN for DHCP.
-- Hal
More information about the general
mailing list