Pablo Neira Ayuso says: ==================== Netfilter updates for net-next The following patchset contains Netfilter updates for nf-next: 1) Add IPS_HW_OFFLOAD status bit, from Bodong Wang. 2) Remove 128-bit limit on the set element data area, rise it to 64 bytes. 3) Report EOPNOTSUPP for unsupported NAT types and flags. 4) Set up nft_nat flags from the control plane path. 5) Add helper functions to set up the nf_nat_range2 structure. 6) Add netmap support for nft_nat. ====================
Showing the changes to include/uapi/linux (2 of 7 files). Show all
Unified · Split
| @@ -114,15 +114,19 @@ enum ip_conntrack_status { · 113 unmodified lines | |||
| 114 | IPS_OFFLOAD_BIT = 14, | 114 | IPS_OFFLOAD_BIT = 14, |
| 115 | IPS_OFFLOAD = (1 << IPS_OFFLOAD_BIT), | 115 | IPS_OFFLOAD = (1 << IPS_OFFLOAD_BIT), |
| 116 | 116 | ||
| 117 | /* Conntrack has been offloaded to hardware. */ | ||
| 118 | IPS_HW_OFFLOAD_BIT = 15, | ||
| 119 | IPS_HW_OFFLOAD = (1 << IPS_HW_OFFLOAD_BIT), | ||
| 120 | |||
| 117 | /* Be careful here, modifying these bits can make things messy, | 121 | /* Be careful here, modifying these bits can make things messy, |
| 118 | * so don't let users modify them directly. | 122 | * so don't let users modify them directly. |
| 119 | */ | 123 | */ |
| 120 | IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | | 124 | IPS_UNCHANGEABLE_MASK = (IPS_NAT_DONE_MASK | IPS_NAT_MASK | |
| 121 | IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | | 125 | IPS_EXPECTED | IPS_CONFIRMED | IPS_DYING | |
| 122 | IPS_SEQ_ADJUST | IPS_TEMPLATE | IPS_UNTRACKED | | 126 | IPS_SEQ_ADJUST | IPS_TEMPLATE | IPS_UNTRACKED | |
| 123 | IPS_OFFLOAD), | 127 | IPS_OFFLOAD | IPS_HW_OFFLOAD), |
| 124 | 128 | ||
| 125 | __IPS_MAX_BIT = 15, | 129 | __IPS_MAX_BIT = 16, |
| 126 | }; | 130 | }; |
| 127 | 131 | ||
| 128 | /* Connection tracking event types */ | 132 | /* Connection tracking event types */ |
| @@ -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; |