Christopher Kings-Lynne wrote:
> Can you give me a hint where to look? I've looked at the code and throught
> he man pages and can't find the actual structure documented. It's version
> 4.4 of FreeBSD, and it has ipv6 compiled in (ifconfig -a proves that).
>
> I'm searching /usr/src right now...
I see:
netinet6/in6.h:132:#define s6_addr8 __u6_addr.__u6_addr8
I have in that file:
struct in6_addr {
union {
u_int8_t __u6_addr8[16];
u_int16_t __u6_addr16[8];
u_int32_t __u6_addr32[4];
} __u6_addr; /* 128-bit IP6 address */
};
#define s6_addr __u6_addr.__u6_addr8
#define s6_addr8 __u6_addr.__u6_addr8
#define s6_addr16 __u6_addr.__u6_addr16
#define s6_addr32 __u6_addr.__u6_addr32
and struct in6_addr is part of struct sockaddr_in6:
struct sockaddr_in6 {
u_int8_t sin6_len; /* length of this struct(sa_family_t)*/
u_int8_t sin6_family; /* AF_INET6 (sa_family_t) */
u_int16_t sin6_port; /* Transport layer port # (in_port_t)*/
u_int32_t sin6_flowinfo; /* IP6 flow information */
struct in6_addr sin6_addr; /* IP6 address */
^^^^^^^^^^^^^^^^^^^^^^^^^
u_int32_t sin6_scope_id; /* intface scope id */
};
Now, do we support IP6 anyway in the backend? If we don't, do we need
this code? I see a test for AF_INET6, but I don't see that anywhere
else in the backend code. Perhaps that 'case' needs to be removed and
we can do IP6 all at once in the future.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026