Erik Nordmark writes:
> [email protected] wrote:
> > Another thought that occurred to me is that what we really want
> > for both IPv4 and IPv6 is a generalization of the ipv6 IAID- if we
> > call this a "binding" (it could be the 4 byte IAID of dhcpv6, or
> > the "logical interface name" of ipv4 or some mix of the client-id and
> > ascii strings), then dhcpagent or in.ndpd could track the mapping
> > between a set of dynamically managed addresses and the "binding name".
> > The ipadm/libipadm interface would use the binding name as the
> > interface to adddress this object.
> 
> I went and looked RFC3315 because I though the DUID would be sufficient 
> for DHCPv6, but it seems like the full name would have to be <DUID, 
> IA-type, IAID> plus the IP interface name.

In the current DHCP implementation, we use the ifIndex number as the
IAID for the base interface when possible, but we keep stable storage
so that we never use the same interface name with a different IAID,
and we use an arbitrary number when it's a non-zero logical interface.

The DUID is LLT if possible, otherwise we use the UUID library to
generate an arbitrary one.

The bottom line is that the existing implementation allows you to set
these values if you really, really want to (see the DHCPv6 PSARC case
for details on how to do that), but you almost never really want to do
that.

>  That ends up being quite 
> long.

Interface name should work fine.  That's what we use for IAID storage.

> But if that can be unified with DHCPv4 client-IDs then at least 
> we'd have the full generality of a name space that can refer to the 
> identity. As long as the default (the DUID for DHCPv6, the IID for IPv6 
> stateless, and the DHCPv4 use of the MAC address as an ID) doesn't 
> require explicitly naming the object we could still have good CLI 
> usability and generality.

The current system doesn't require you to specify any of that, just
the interface name.

It was set up this way because for v6, you generally don't need to
mess with IAID (it's ifIndex only, because multiple addresses can be
handled out to a single IAID), and for v4, the existing administrative
interface is centered around the IP interface names -- that is, those
"foo0:2" logicals.

If there were a different name for the logicals (vanity naming for
logical interfaces?), that'd probably work as well.

-- 
James Carlson, Solaris Networking              <[email protected]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to