Lines Matching defs:in6

93 #define EUI64_TO_IFID(in6)	do {(in6)->s6_addr[8] ^= EUI64_UBIT; } while (0)
94 #define EUI64_GROUP(in6) ((in6)->s6_addr[8] & EUI64_GBIT)
95 #define EUI64_INDIVIDUAL(in6) (!EUI64_GROUP(in6))
96 #define EUI64_LOCAL(in6) ((in6)->s6_addr[8] & EUI64_UBIT)
97 #define EUI64_UNIVERSAL(in6) (!EUI64_LOCAL(in6))
99 #define IFID_LOCAL(in6) (!EUI64_LOCAL(in6))
100 #define IFID_UNIVERSAL(in6) (!EUI64_UNIVERSAL(in6))
109 * in6 - upper 64bits are preserved
112 get_rand_ifid(struct ifnet *ifp, struct in6_addr *in6)
138 bcopy(digest, &in6->s6_addr[8], 8);
141 in6->s6_addr[8] &= ~EUI64_GBIT; /* g bit to "individual" */
142 in6->s6_addr[8] |= EUI64_UBIT; /* u bit to "local" */
145 EUI64_TO_IFID(in6);
233 * in6 - upper 64bits are preserved
236 in6_get_hw_ifid(struct ifnet *ifp, struct in6_addr *in6)
306 bcopy(addr, &in6->s6_addr[8], 8);
308 in6->s6_addr[8] = addr[0];
309 in6->s6_addr[9] = addr[1];
310 in6->s6_addr[10] = addr[2];
311 in6->s6_addr[11] = 0xff;
312 in6->s6_addr[12] = 0xfe;
313 in6->s6_addr[13] = addr[3];
314 in6->s6_addr[14] = addr[4];
315 in6->s6_addr[15] = addr[5];
329 bzero(&in6->s6_addr[8], 8);
330 in6->s6_addr[15] = addr[0];
335 in6->s6_addr[8] &= ~EUI64_GBIT; /* g bit to "individual" */
336 in6->s6_addr[8] |= EUI64_UBIT; /* u bit to "local" */
358 if (EUI64_GROUP(in6)) {
364 EUI64_TO_IFID(in6);
370 if ((in6->s6_addr[8] & ~(EUI64_GBIT | EUI64_UBIT)) == 0x00 &&
371 bcmp(&in6->s6_addr[9], allzero, 7) == 0) {
389 struct in6_addr *in6)
394 if (in6_get_hw_ifid(ifp0, in6) == 0) {
401 if (altifp && in6_get_hw_ifid(altifp, in6) == 0) {
412 if (in6_get_hw_ifid(ifp, in6) != 0)
419 if (IFID_UNIVERSAL(in6)) {
430 if (get_rand_ifid(ifp, in6) == 0) {
442 if_name(ifp0), in6->s6_addr[8], in6->s6_addr[9], in6->s6_addr[10],
443 in6->s6_addr[11], in6->s6_addr[12], in6->s6_addr[13],
444 in6->s6_addr[14], in6->s6_addr[15]));
629 struct in6_addr *in6, int oldmcprefix)
681 bzero(in6, sizeof(*in6));
682 in6->s6_addr16[0] = IPV6_ADDR_INT16_MLL;
683 in6->s6_addr8[11] = 2;
685 in6->s6_addr8[12] = 0xff;
687 bcopy(digest, &in6->s6_addr8[13], 3);
690 bcopy(digest, &in6->s6_addr32[3], sizeof(in6->s6_addr32[3]));
692 if (in6_setscope(in6, ifp, NULL))
700 struct in6_addr *in6)
703 return (in6_nigroup0(ifp, name, namelen, in6, 0));
708 struct in6_addr *in6)
711 return (in6_nigroup0(ifp, name, namelen, in6, 1));
725 struct in6_addr in6;
763 in6 = in6addr_loopback;
764 ifa = (struct ifaddr *)in6ifa_ifpwithaddr(ifp, &in6);