- return (U32((AF_INET * 0x4eaac1b7ul) +
- (a->sin.sin_addr.s_addr * 0xa5dbc837) +
- (a->sin.sin_port * 0x3b049e83)));
+ return (U32(0x4eaac1b7ul*AF_INET +
+ 0xa5dbc837ul*a->sin.sin_addr.s_addr +
+ 0x3b049e83ul*a->sin.sin_port));
+ case AF_INET6:
+ for (i = 0, h = 0; i < 16; i++)
+ h = 0x6bd26a67ul*h + a->sin6.sin6_addr.s6_addr[i];
+ return (U32(0x4eaac1b7ul*AF_INET6 +
+ 0xa5dbc837ul*h +
+ 0x1d94eab4ul*a->sin6.sin6_scope_id +
+ 0x3b049e83ul*a->sin6.sin6_port));