Subject: (IPng 6621) Results on Chicago hallway BoF on ioctls

From: Craig Metz <[email-masked]>
Date: Sat, 10 Oct 1998 19:21:17 -0300

There was a hallway BoF session at the Chicago IETF in which several
implementors got together and mostly agreed on definitions for the basic IPv6
interface address ioctls() so that we could have some interoperability. These
results represent no standard or specification of any form; they're just what
we thought would be good to implement and will hopefully be what *is*
implemented in our code bases.

  Productive comments are welcome.

  Note that the "l" means "large" or "large address".

  struct if_laddrreq {
    char iflr_name[IF_NAMSIZ];
    unsigned int flags;
    unsigned int prefixlen;  /* Ed. note: In my notes, this is at the end; I
				moved it here for alignment reasons. I don't
				think we ever discussed this */
    struct sockaddr_storage addr;
    struct sockaddr_storage dstaddr;
  }

  #define SIOCALIFADDR -- add large interface address
  #define SIOCGLIFADDR -- get large interface address
  #define SIOCDLIFADDR -- del large interface address

  /* Ed. note: We talked about this, defined it, but never named it */
  #define IFLR_PREFIX -- if present in flags, addr contains a prefix
			 SIOCALIFADDR - kernel is expected to fill in the host
				        part of the address (e.g., the EUI-64)
			 SIOC{G,D}LIFADDR - kernel is expected to match an
					interface address on that prefix (or
					return ESRCH)

									-Craig

PS: Sorry it took so long for me to post my notes; it got buried under a pile
of stuff to do, not the least of which is an implementation ;)
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Jun-ichiro itojun Itoh <[email-masked]>
Date: Wed, 21 Oct 1998 15:41:45 +0900

>  Productive comments are welcome.

	We are about to implement this and I noticed that I've forgot one
	important thing...
	What was the consensus about grabbing one interface address
	from multiple addresses?

[email-masked]
jun-ichiro itoh

---

From: Craig Metz <[email-masked]>
Date: Wed, 21 Oct 1998 18:26:10 -0300

>	What was the consensus about grabbing one interface address

  I believe it was that the app specifies a prefix and the kernel will return
the first address that matches that. So, if you want to get the link-local,
do a get on fe80::0/64 with the prefix flag set. If you have multiple globals,
you might just bite the bullet and use something like SIOCGIFCONF.

									-Craig