Example #1
0
int addr_host_is_all0s(const struct xaddr* a, int masklen) {
    struct xaddr tmp_addr, tmp_mask, tmp_result;

    rte_memcpy(&tmp_addr, a, sizeof(tmp_addr));
    if (addr_hostmask(a->af, masklen, &tmp_mask) == -1)
        return (-1);
    if (addr_and(&tmp_result, &tmp_addr, &tmp_mask) == -1)
        return (-1);
    return (addr_is_all0s(&tmp_result));
}
int
addr_host_is_all1s(const struct xaddr *a, u_int masklen)
{
	struct xaddr tmp_addr, tmp_mask, tmp_result;

	memcpy(&tmp_addr, a, sizeof(tmp_addr));
	if (addr_netmask(a->af, masklen, &tmp_mask) == -1)
		return (-1);
	if (addr_or(&tmp_result, &tmp_addr, &tmp_mask) == -1)
		return (-1);
	if (addr_invert(&tmp_result) == -1)
		return (-1);
	return (addr_is_all0s(&tmp_result));
}