History

netfilter: nf_tables: allocate handle and delete objects via handle

This patch allows deletion of objects via unique handle which can be listed via '-a' option.

Harsha Sharma committed 8 years ago

Commit 3ecbfd61 parent cc2d5863 files · +153 −14Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/netfilter/nf_tables.h+10−0
@@ -174,6 +174,8 @@ enum nft_table_attributes { · 173 unmodified lines
174 NFTA_TABLE_NAME,174 NFTA_TABLE_NAME,
175 NFTA_TABLE_FLAGS,175 NFTA_TABLE_FLAGS,
176 NFTA_TABLE_USE,176 NFTA_TABLE_USE,
177 NFTA_TABLE_HANDLE,
178 NFTA_TABLE_PAD,
177 __NFTA_TABLE_MAX179 __NFTA_TABLE_MAX
178};180};
179#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)181#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)
@@ -317,6 +319,7 @@ enum nft_set_desc_attributes { · 137 unmodified lines
317 * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)319 * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)
318 * @NFTA_SET_USERDATA: user data (NLA_BINARY)320 * @NFTA_SET_USERDATA: user data (NLA_BINARY)
319 * @NFTA_SET_OBJ_TYPE: stateful object type (NLA_U32: NFT_OBJECT_*)321 * @NFTA_SET_OBJ_TYPE: stateful object type (NLA_U32: NFT_OBJECT_*)
322 * @NFTA_SET_HANDLE: set handle (NLA_U64)
320 */323 */
321enum nft_set_attributes {324enum nft_set_attributes {
322 NFTA_SET_UNSPEC,325 NFTA_SET_UNSPEC,
@@ -335,6 +338,7 @@ enum nft_set_attributes { · 12 unmodified lines
335 NFTA_SET_USERDATA,338 NFTA_SET_USERDATA,
336 NFTA_SET_PAD,339 NFTA_SET_PAD,
337 NFTA_SET_OBJ_TYPE,340 NFTA_SET_OBJ_TYPE,
341 NFTA_SET_HANDLE,
338 __NFTA_SET_MAX342 __NFTA_SET_MAX
339};343};
340#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)344#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -1314,6 +1318,7 @@ enum nft_ct_helper_attributes { · 973 unmodified lines
1314 * @NFTA_OBJ_TYPE: stateful object type (NLA_U32)1318 * @NFTA_OBJ_TYPE: stateful object type (NLA_U32)
1315 * @NFTA_OBJ_DATA: stateful object data (NLA_NESTED)1319 * @NFTA_OBJ_DATA: stateful object data (NLA_NESTED)
1316 * @NFTA_OBJ_USE: number of references to this expression (NLA_U32)1320 * @NFTA_OBJ_USE: number of references to this expression (NLA_U32)
1321 * @NFTA_OBJ_HANDLE: object handle (NLA_U64)
1317 */1322 */
1318enum nft_object_attributes {1323enum nft_object_attributes {
1319 NFTA_OBJ_UNSPEC,1324 NFTA_OBJ_UNSPEC,
@@ -1322,6 +1327,8 @@ enum nft_object_attributes { · 2 unmodified lines
1322 NFTA_OBJ_TYPE,1327 NFTA_OBJ_TYPE,
1323 NFTA_OBJ_DATA,1328 NFTA_OBJ_DATA,
1324 NFTA_OBJ_USE,1329 NFTA_OBJ_USE,
1330 NFTA_OBJ_HANDLE,
1331 NFTA_OBJ_PAD,
1325 __NFTA_OBJ_MAX1332 __NFTA_OBJ_MAX
1326};1333};
1327#define NFTA_OBJ_MAX (__NFTA_OBJ_MAX - 1)1334#define NFTA_OBJ_MAX (__NFTA_OBJ_MAX - 1)
@@ -1333,6 +1340,7 @@ enum nft_object_attributes { · 5 unmodified lines
1333 * @NFTA_FLOWTABLE_NAME: name of this flow table (NLA_STRING)1340 * @NFTA_FLOWTABLE_NAME: name of this flow table (NLA_STRING)
1334 * @NFTA_FLOWTABLE_HOOK: netfilter hook configuration(NLA_U32)1341 * @NFTA_FLOWTABLE_HOOK: netfilter hook configuration(NLA_U32)
1335 * @NFTA_FLOWTABLE_USE: number of references to this flow table (NLA_U32)1342 * @NFTA_FLOWTABLE_USE: number of references to this flow table (NLA_U32)
1343 * @NFTA_FLOWTABLE_HANDLE: object handle (NLA_U64)
1336 */1344 */
1337enum nft_flowtable_attributes {1345enum nft_flowtable_attributes {
1338 NFTA_FLOWTABLE_UNSPEC,1346 NFTA_FLOWTABLE_UNSPEC,
@@ -1340,6 +1348,8 @@ enum nft_flowtable_attributes { · 1 unmodified line
1340 NFTA_FLOWTABLE_NAME,1348 NFTA_FLOWTABLE_NAME,
1341 NFTA_FLOWTABLE_HOOK,1349 NFTA_FLOWTABLE_HOOK,
1342 NFTA_FLOWTABLE_USE,1350 NFTA_FLOWTABLE_USE,
1351 NFTA_FLOWTABLE_HANDLE,
1352 NFTA_FLOWTABLE_PAD,
1343 __NFTA_FLOWTABLE_MAX1353 __NFTA_FLOWTABLE_MAX
1344};1354};
1345#define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1)1355#define NFTA_FLOWTABLE_MAX (__NFTA_FLOWTABLE_MAX - 1)