Subject: Re: sockaddr_storage issue

From: Tim Hartrick <[email-masked]>
Date: Wed, 1 Dec 1999 19:18:23 -0800 (PST)

Itojun,

> 
> >struct sockaddr_storage {
> >    uint8_t      __ss_len;        /* address length */
> >    sa_family_t  __ss_family;     /* address family */
> >    /* Following fields are implementation specific */
> >    char         __ss_pad1[_SS_PAD1SIZE];
> >                  /* 6 byte pad, this is to make implementation
> >                  /* specific pad up to alignment field that */
> >                  /* follows explicit in the data structure */
> >    int64_t      __ss_align;  /* field to force desired structure */
> >                  /* storage alignment */
> >    char         __ss_pad2[_SS_PAD2SIZE];
> >                  /* 112 byte pad to achieve desired size, */
> >                  /* _SS_MAXSIZE value minus size of ss_len, */
> >                  /* __ss_family, __ss_pad1, __ss_align fields is 112 */
> >};
> 
> 	I remember that that there was last-minute discussion about
> 	"ss_len" and "ss_family", rather than "__ss_len".  This did not make
> 	it to RFC2553, and I am still curious what was the last consensus on
> 	this.  Do any of you remember it exactly?
> 

I think the consensus was that folks were tired of fighting about it.:-)

Seriously, if I remember correctly the discussion was largely concerned
with whether the sockaddr_storage members should be referenced directly or
whether a pointer to the structure should be casted to a pointer of some
real protocol specific sockaddr type like sockaddr_in, sockaddr_in6 or
sockaddr_un in order to reference fields.  There were strong opinions on
both sides.

It appears that the latter opinion held the day since the document has
__ in front of the field names of the sockaddr_storage structure in order
to make them more opaque.

I have no opinion on which is "correct".  I am just trying to provide some
historical context as best I am able.

Tim Hartrick
Mentat Inc.
--------------------------------------------------------------------
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]
--------------------------------------------------------------------