netfilter: nf_tables: Add support for IPv6 NAT
This patch generalizes the NAT expression to support both IPv4 and IPv6 using the existing IPv4/IPv6 NAT infrastructure. This also adds the NAT chain type for IPv6. This patch collapses the following patches that were posted to the netfilter-devel mailing list, from Tomasz: * nf_tables: Change NFTA_NAT_ attributes to better semantic significance * nf_tables: Split IPv4 NAT into NAT expression and IPv4 NAT chain * nf_tables: Add support for IPv6 NAT expression * nf_tables: Add support for IPv6 NAT chain * nf_tables: Fix up build issue on IPv6 NAT support And, from Pablo Neira Ayuso: * fix missing dependencies in nft_chain_nat Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
9ddf632357
commit
eb31628e37
@@ -695,18 +695,20 @@ enum nft_nat_types {
|
||||
* enum nft_nat_attributes - nf_tables nat expression netlink attributes
|
||||
*
|
||||
* @NFTA_NAT_TYPE: NAT type (NLA_U32: nft_nat_types)
|
||||
* @NFTA_NAT_ADDR_MIN: source register of address range start (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_ADDR_MAX: source register of address range end (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_FAMILY: NAT family (NLA_U32)
|
||||
* @NFTA_NAT_REG_ADDR_MIN: source register of address range start (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_REG_ADDR_MAX: source register of address range end (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
|
||||
* @NFTA_NAT_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
|
||||
*/
|
||||
enum nft_nat_attributes {
|
||||
NFTA_NAT_UNSPEC,
|
||||
NFTA_NAT_TYPE,
|
||||
NFTA_NAT_ADDR_MIN,
|
||||
NFTA_NAT_ADDR_MAX,
|
||||
NFTA_NAT_PROTO_MIN,
|
||||
NFTA_NAT_PROTO_MAX,
|
||||
NFTA_NAT_FAMILY,
|
||||
NFTA_NAT_REG_ADDR_MIN,
|
||||
NFTA_NAT_REG_ADDR_MAX,
|
||||
NFTA_NAT_REG_PROTO_MIN,
|
||||
NFTA_NAT_REG_PROTO_MAX,
|
||||
__NFTA_NAT_MAX
|
||||
};
|
||||
#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1)
|
||||
|
Reference in New Issue
Block a user