Fernando Gont wrote: > Folks, > > During IETF LC, a couple of folks noted that Interface Indexes might not > be stable. > > I added some text on the subject to my working copy (mostly based on the > discussion with Brian Haberman and Mark Smith), but the issue came up > again (Tom Petch commented on the subject). > > Since the raison d'etre for including the Interface Index in F() is to > differentiate between multiple interfaces connecting to the same > network, either the Interface Index or the Interface Name could be used. > So far, these are the pros/cons of each: > > * Interface Index: Including this one would be ideal, since it's simply > a small number that identifies the interface, and does not really depend > on the NIC vendor, etc. However, as noted above, in some implementations > it might be unstable (i.e., vary when the system is bootstrapped). > > * Interface name: This one has the pro that is stable, even on systems > in which the Interface Index is not. However, on some systems (e.g. > BSDs) the Interface name depends on the NIC vendor, which means that if > a NIC is replaced with another from a different vendor, the Interface > name is likely to change, and therefore the resulting address will change. > > > My take would be to replace "Interface Index" in the expression with an > abstract "Interface_ID", and then explain that "Interfae_ID" can be > either the Interface Index or the Interface name, and include some of > the text above (explaining why an implementation might want to include > one or the other -- i.e., if your Interface Indexes are stable, use > them. Else use the Interface name). > > Thoughts? > > Thanks! Since both "Interface_Index" and "Interface name" are anyway both implementation dependent, why would you need to precisely standardise the exact meaning, or the exact source of the information? AFAICS this wouldn't significantly affect inter-op, or protocol operation.
I therefore agree with your proposal that the text should define an abstract "Interface_ID" and suggest that you define "an Interface_ID is an implementation-dependent identifier associated with a particular interface on the local node, which is generally invariant over the long-term and over system reboots. The Interface_ID may be used to assist efficient generation of unique stable-privacy-addresses, especially in situations where multiple interfaces on a single node may be configured using the same L3 Prefix. If the Interface_ID does change for whatever reason, this would obviously undermine the time-invariance of the resulting stable-privacy-addresses." I don't think you need any more guidance than that. regards, RayH -------------------------------------------------------------------- IETF IPv6 working group mailing list ipv6@ietf.org Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6 --------------------------------------------------------------------