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 | #define NF_NAT_RANGE_PERSISTENT (1 << 3) | 11 | #define NF_NAT_RANGE_PERSISTENT (1 << 3) |
| 12 | #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) | 12 | #define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4) |
| 13 | #define NF_NAT_RANGE_PROTO_OFFSET (1 << 5) | 13 | #define NF_NAT_RANGE_PROTO_OFFSET (1 << 5) |
| 14 | #define NF_NAT_RANGE_NETMAP (1 << 6) | ||
| 14 | 15 | ||
| 15 | #define NF_NAT_RANGE_PROTO_RANDOM_ALL \ | 16 | #define NF_NAT_RANGE_PROTO_RANDOM_ALL \ |
| 16 | (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) | 17 | (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY) |
| @@ -18,7 +19,8 @@ · 1 unmodified line | |||
| 18 | #define NF_NAT_RANGE_MASK \ | 19 | #define NF_NAT_RANGE_MASK \ |
| 19 | (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \ | 20 | (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \ |
| 20 | NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \ | 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 | struct nf_nat_ipv4_range { | 25 | struct nf_nat_ipv4_range { |
| 24 | unsigned int flags; | 26 | unsigned int flags; |