[openib-general] Re: IB Address Translation service
Michael S. Tsirkin
mst at mellanox.co.il
Wed Apr 6 04:30:57 PDT 2005
Quoting r. Hal Rosenstock <halr at voltaire.com>:
> Subject: Re: IB Address Translation service
>
> 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.
Are we talking about IPoIB hardware address size issues?
> 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.
So a client could, for example, mask the QP number and use the
remaining non-volatile portion as the identifier?
> Using a scheme along these lines, precludes the requirement for a nonvolatile
> QPN for DHCP.
>
> -- Hal
>
Do you know whether dhcp clients / servers support this?
dhcpd man page seems to talk only about hardware address.
--
MST - Michael S. Tsirkin
More information about the general
mailing list