static ngx_uint_t get_ip_addr_crc(ngx_connection_t* c, int algorithm) { ngx_int_t ip_type = c->sockaddr->sa_family;// r->connection->sockaddr->sa_family; if (ip_type == AF_INET) { //struct sockaddr_in* ip = (struct sockaddr_in*)(r->connection->sockaddr); struct sockaddr_in* ip = (struct sockaddr_in*)(c->sockaddr); char* addr = inet_ntoa(ip->sin_addr); if (1 == algorithm) { return ngx_hash_key((u_char*)addr, ngx_strlen(addr)); } else if (2 == algorithm) { return ngx_murmur_hash2((u_char*)addr, ngx_strlen(addr)); } else if (3 == algorithm) { return ngx_crc32_short((u_char*)addr, ngx_strlen(addr)); } } return 0; }