* Why size of sockaddr smaller than size of sockaddr_in6?
@ 2003-11-07 2:04 Zheng, Jeff
2003-11-07 2:23 ` YOSHIFUJI Hideaki / 吉藤英明
0 siblings, 1 reply; 4+ messages in thread
From: Zheng, Jeff @ 2003-11-07 2:04 UTC (permalink / raw)
To: linux-kernel
I thought that sockaddr should hold sockaddr_in sockaddr_in6 and any other socket address (or at least sockaddr_in6).
Current definition:
struct sockaddr
{
__SOCKADDR_COMMON (sa_); /* Common data: address family and length. */
char sa_data[14]; /* Address data. */
};
Can be:
struct sockaddr
{
__SOCKADDR_COMMON (sa_); /* Common data: address family and length. */
char sa_data[28]; /* Address data. */
};
Is there any reason not to hold sockaddr_in6 in sockaddr?
Please CC the answers/comments posted to the list in response to my posting to me.
> Thanks
> Jeff Jeff.Zheng@intel.com
> BTW, I speak for myself, not for Intel Corp.
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Why size of sockaddr smaller than size of sockaddr_in6?
2003-11-07 2:04 Why size of sockaddr smaller than size of sockaddr_in6? Zheng, Jeff
@ 2003-11-07 2:23 ` YOSHIFUJI Hideaki / 吉藤英明
0 siblings, 0 replies; 4+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2003-11-07 2:23 UTC (permalink / raw)
To: jeff.zheng; +Cc: linux-kernel
Hello.
In article <37FBBA5F3A361C41AB7CE44558C3448E07EC27@pdsmsx403.ccr.corp.intel.com> (at Fri, 7 Nov 2003 10:04:05 +0800), "Zheng, Jeff" <jeff.zheng@intel.com> says:
> I thought that sockaddr should hold sockaddr_in sockaddr_in6 and any other socket address (or at least sockaddr_in6).
No, we do not change sockaddr{}.
use sockaddr_storage{} for that purpose.
Please read RFC 3493.
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Why size of sockaddr smaller than size of sockaddr_in6?
2003-11-07 3:00 Zheng, Jeff
@ 2003-11-07 3:52 ` YOSHIFUJI Hideaki / 吉藤英明
0 siblings, 0 replies; 4+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2003-11-07 3:52 UTC (permalink / raw)
To: jeff.zheng; +Cc: linux-kernel
In article <37FBBA5F3A361C41AB7CE44558C3448E011959C7@pdsmsx403.ccr.corp.intel.com> (at Fri, 7 Nov 2003 11:00:55 +0800), "Zheng, Jeff" <jeff.zheng@intel.com> says:
> Is sockaddr_storage part of IPv6? I mean, does sockaddr_storage exist in a system that does not have IPv6? In such system if I use sockaddr_in6, the compile will be failed because there is no sockaddr_in6 structure.
AFAIK, sockaddr_storage{} was introduced because sockaddr_in6{}
is too large for sockaddr{}. However, the use of sockaddr_storage{}
is not limited to IPv6. Systems which does not support IPv6 may have
sockaddr_storage{}.
BTW, there're little chances for users to use sockaddr_in{} or sockaddr_in6{}.
Modern and "good" applications never use them.
Use getaddrinfo(3) / getnameinfo(3) (which uses addrinfo{} and sockaddr{}).
If you need a structure to hold socket address,
you may use sockaddr_storage{}; i.e. for getsockname(2) / getpeername(2).
If you are UNABLE to avoid touching socket address structure, use it finally;
This is very rare.
Well, this is kernel developmen list. Please change the list.
Thanks.
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: Why size of sockaddr smaller than size of sockaddr_in6?
@ 2003-11-07 3:00 Zheng, Jeff
2003-11-07 3:52 ` YOSHIFUJI Hideaki / 吉藤英明
0 siblings, 1 reply; 4+ messages in thread
From: Zheng, Jeff @ 2003-11-07 3:00 UTC (permalink / raw)
To: YOSHIFUJI Hideaki / ????; +Cc: linux-kernel
Hello Hideaki YOSHIFUJI,
Thanks for your reply.
Is sockaddr_storage part of IPv6? I mean, does sockaddr_storage exist in a system that does not have IPv6? In such system if I use sockaddr_in6, the compile will be failed because there is no sockaddr_in6 structure.
> Thanks
> Jeff Jeff.Zheng@intel.com
> BTW, I speak for myself, not for Intel Corp.
-----Original Message-----
From: Hideaki YOSHIFUJI [mailto:yoshfuji@cerberus.hongo.wide.ad.jp]On Behalf Of yoshfuji@linux-ipv6.org
Sent: Friday, November 07, 2003 10:24 AM
To: Zheng, Jeff
Cc: linux-kernel@vger.kernel.org
Subject: Re: Why size of sockaddr smaller than size of sockaddr_in6?
Hello.
In article <37FBBA5F3A361C41AB7CE44558C3448E07EC27@pdsmsx403.ccr.corp.intel.com> (at Fri, 7 Nov 2003 10:04:05 +0800), "Zheng, Jeff" <jeff.zheng@intel.com> says:
> I thought that sockaddr should hold sockaddr_in sockaddr_in6 and any other socket address (or at least sockaddr_in6).
No, we do not change sockaddr{}.
use sockaddr_storage{} for that purpose.
Please read RFC 3493.
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-11-07 3:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-11-07 2:04 Why size of sockaddr smaller than size of sockaddr_in6? Zheng, Jeff
2003-11-07 2:23 ` YOSHIFUJI Hideaki / 吉藤英明
2003-11-07 3:00 Zheng, Jeff
2003-11-07 3:52 ` YOSHIFUJI Hideaki / 吉藤英明
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).