In your previous mail you wrote:

   >=> I disagree, I'd like to be able to defined struct in6_addr as a pair
   >of 64 bit integers one day (:-)!
   
        I don't understand what you are saying, at all.

=> if in6_addr is defined as four 32 bit integers then the compiler
won't add padding. If it is defined as a pair of 64 bit integers the
compiler may add 32 bits for padding if the MTU field is before and
the architecture needs 64 bit alignment for 64 bit quantities.

        ip6mtu_dst will be aligned to the alignment whatever necessary for us,
        depending on how your compiler aligns it.  sockaddr_in6 includes
        struct in6_addr (sin6_addr), and if you declare in6_addr like:
                struct in6_addr {
                        union {
                                uint8_t foo8[16];
                                uint16_t foo16[8];
                                uint32_t foo32[4];
                                uint64_t foo32[2];

=> but we (you and me) have not the last definition, I don't know your
reasons but I tried and got too many problems.

                        } foo;
                };
        ip6mtu_dst.sin6_addr should be aligned to 64bit boundary.
   
Regards

[EMAIL PROTECTED]
--------------------------------------------------------------------
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 PROTECTED]
--------------------------------------------------------------------

Reply via email to