ipv6 子网掩码计算
对于ipv4,我们可以如下计算地址范围:
uint32_t addr_mask = ~((1 << (32 - policy_info.dst_prefixlen)) - 1); //dst_prefixlen is network prefix.
uint32_t dst_addr_min = policy_info.dst_subnet & addr_mask;
uint32_t dst_addr_max = policy_info.dst_subnet | ~addr_mask;
我们知道子网的长度是dst_prefixlen,和子网的ip地址 dst_subnet
现在对于ipv6,我们也只是知道子网的长度dst_prefixlen_v6和子网的地址dst_subnet_v6,该如何计算得到子网掩码的ip地址和地址上下限的值。多谢大家指教了!!!
uint32_t addr_mask_v6[4];
uint32_t dst_addr_min_v6[4];
uint32_t dst_addr_max_v6[4];