4 #include <asm/byteorder.h>
5 #include <linux/netfilter.h>
8 /* Prefixlen maps, by Jan Engelhardt */
9 extern const union nf_inet_addr ip_set_netmask_map
[];
10 extern const union nf_inet_addr ip_set_hostmask_map
[];
13 ip_set_netmask(u8 pfxlen
)
15 return ip_set_netmask_map
[pfxlen
].ip
;
18 static inline const __be32
*
19 ip_set_netmask6(u8 pfxlen
)
21 return &ip_set_netmask_map
[pfxlen
].ip6
[0];
25 ip_set_hostmask(u8 pfxlen
)
27 return (__force u32
) ip_set_hostmask_map
[pfxlen
].ip
;
30 static inline const __be32
*
31 ip_set_hostmask6(u8 pfxlen
)
33 return &ip_set_hostmask_map
[pfxlen
].ip6
[0];
36 extern u32
ip_set_range_to_cidr(u32 from
, u32 to
, u8
*cidr
);
38 #define ip_set_mask_from_to(from, to, cidr) \
40 from &= ip_set_hostmask(cidr); \
41 to = from | ~ip_set_hostmask(cidr); \