This patch allows you to NAT the network address prefix onto another network address prefix, a.k.a. netmapping. Userspace must specify the NF_NAT_RANGE_NETMAP flag and the prefix address through the NFTA_NAT_REG_ADDR_MIN and NFTA_NAT_REG_ADDR_MAX netlink attributes.
Showing the changes to include/uapi/linux (1 of 2 files). Show all
Unified · Split
| @@ -11,6 +11,7 @@ · 10 unmodified lines | ||
| 11 | 11 | #define NF_NAT_RANGE_PERSISTENT (1 << 3) |
| 12 | 12 | #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) |
| 13 | 13 | #define NF_NAT_RANGE_PROTO_OFFSET (1 << 5) |
| 14 | +#define NF_NAT_RANGE_NETMAP (1 << 6) | |
| 14 | 15 | |
| 15 | 16 | #define NF_NAT_RANGE_PROTO_RANDOM_ALL \ |
| 16 | 17 | (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) |
| @@ -18,7 +19,8 @@ · 1 unmodified line | ||
| 18 | 19 | #define NF_NAT_RANGE_MASK \ |
| 19 | 20 | (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \ |
| 20 | 21 | NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \ |
| 21 | − NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET) | |
| 22 | + NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \ | |
| 23 | + NF_NAT_RANGE_NETMAP) | |
| 22 | 24 | |
| 23 | 25 | struct nf_nat_ipv4_range { |
| 24 | 26 | unsigned int flags; |