diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-11-05 17:02:21 +0100 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-11-05 17:02:21 +0100 |
commit | 6e42ee58c2710f9cbe36655e3c3093af5b7c87c5 (patch) | |
tree | dfdade3649771d2469f7dfa2188c12d42cdf3be2 | |
parent | 48d8a10a545e4ef4092550b45f6cba38e0a8c94f (diff) | |
download | ipset-6e42ee58c2710f9cbe36655e3c3093af5b7c87c5.tar.gz |
The protocol extended with the command MODIFY.
The command is not used yet, but better to reserve it already.
-rw-r--r-- | include/libipset/linux_ip_set.h | 37 | ||||
-rw-r--r-- | kernel/include/linux/netfilter/ip_set.h | 37 | ||||
-rw-r--r-- | lib/PROTOCOL | 4 |
3 files changed, 41 insertions, 37 deletions
diff --git a/include/libipset/linux_ip_set.h b/include/libipset/linux_ip_set.h index c3296df..a122ee7 100644 --- a/include/libipset/linux_ip_set.h +++ b/include/libipset/linux_ip_set.h @@ -20,30 +20,31 @@ /* Message types and commands */ enum ipset_cmd { IPSET_CMD_NONE, - IPSET_CMD_CREATE, /* 1: Create a new (empty) set */ - IPSET_CMD_DESTROY, /* 2: Remove a (empty) set */ - IPSET_CMD_FLUSH, /* 3: Remove all elements from a set */ - IPSET_CMD_RENAME, /* 4: Rename a set */ - IPSET_CMD_SWAP, /* 5: Swap two sets */ - IPSET_CMD_LIST, /* 6: List sets */ - IPSET_CMD_SAVE, /* 7: Save sets */ - IPSET_CMD_ADD, /* 8: Add an element to a set */ - IPSET_CMD_DEL, /* 9: Delete an element from a set */ - IPSET_CMD_TEST, /* 10: Test an element in a set */ - IPSET_CMD_HEADER, /* 11: Get set header data only */ - IPSET_CMD_TYPE, /* 12: Get set type */ - IPSET_CMD_PROTOCOL, /* 13: Return protocol version */ + IPSET_CMD_PROTOCOL, /* 1: Return protocol version */ + IPSET_CMD_CREATE, /* 2: Create a new (empty) set */ + IPSET_CMD_MODIFY, /* 3: Modify an existing set */ + IPSET_CMD_DESTROY, /* 4: Destroy a (empty) set */ + IPSET_CMD_FLUSH, /* 5: Remove all elements from a set */ + IPSET_CMD_RENAME, /* 6: Rename a set */ + IPSET_CMD_SWAP, /* 7: Swap two sets */ + IPSET_CMD_LIST, /* 8: List sets */ + IPSET_CMD_SAVE, /* 9: Save sets */ + IPSET_CMD_ADD, /* 10: Add an element to a set */ + IPSET_CMD_DEL, /* 11: Delete an element from a set */ + IPSET_CMD_TEST, /* 12: Test an element in a set */ + IPSET_CMD_HEADER, /* 13: Get set header data only */ + IPSET_CMD_TYPE, /* 14: Get set type */ IPSET_MSG_MAX, /* Netlink message commands */ /* Commands in userspace: */ - IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 14: Enter restore mode */ - IPSET_CMD_HELP, /* 15: Get help */ - IPSET_CMD_VERSION, /* 16: Get program version */ - IPSET_CMD_QUIT, /* 17: Quit from interactive mode */ + IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 15: Enter restore mode */ + IPSET_CMD_HELP, /* 16: Get help */ + IPSET_CMD_VERSION, /* 17: Get program version */ + IPSET_CMD_QUIT, /* 18: Quit from interactive mode */ IPSET_CMD_MAX, - IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 18: Commit buffered commands */ + IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 19: Commit buffered commands */ }; /* Attributes at command level */ diff --git a/kernel/include/linux/netfilter/ip_set.h b/kernel/include/linux/netfilter/ip_set.h index 8abf8f8..5377cdc 100644 --- a/kernel/include/linux/netfilter/ip_set.h +++ b/kernel/include/linux/netfilter/ip_set.h @@ -20,30 +20,31 @@ /* Message types and commands */ enum ipset_cmd { IPSET_CMD_NONE, - IPSET_CMD_CREATE, /* 1: Create a new (empty) set */ - IPSET_CMD_DESTROY, /* 2: Remove a (empty) set */ - IPSET_CMD_FLUSH, /* 3: Remove all elements from a set */ - IPSET_CMD_RENAME, /* 4: Rename a set */ - IPSET_CMD_SWAP, /* 5: Swap two sets */ - IPSET_CMD_LIST, /* 6: List sets */ - IPSET_CMD_SAVE, /* 7: Save sets */ - IPSET_CMD_ADD, /* 8: Add an element to a set */ - IPSET_CMD_DEL, /* 9: Delete an element from a set */ - IPSET_CMD_TEST, /* 10: Test an element in a set */ - IPSET_CMD_HEADER, /* 11: Get set header data only */ - IPSET_CMD_TYPE, /* 12: Get set type */ - IPSET_CMD_PROTOCOL, /* 13: Return protocol version */ + IPSET_CMD_PROTOCOL, /* 1: Return protocol version */ + IPSET_CMD_CREATE, /* 2: Create a new (empty) set */ + IPSET_CMD_MODIFY, /* 3: Modify an existing set */ + IPSET_CMD_DESTROY, /* 4: Destroy a (empty) set */ + IPSET_CMD_FLUSH, /* 5: Remove all elements from a set */ + IPSET_CMD_RENAME, /* 6: Rename a set */ + IPSET_CMD_SWAP, /* 7: Swap two sets */ + IPSET_CMD_LIST, /* 8: List sets */ + IPSET_CMD_SAVE, /* 9: Save sets */ + IPSET_CMD_ADD, /* 10: Add an element to a set */ + IPSET_CMD_DEL, /* 11: Delete an element from a set */ + IPSET_CMD_TEST, /* 12: Test an element in a set */ + IPSET_CMD_HEADER, /* 13: Get set header data only */ + IPSET_CMD_TYPE, /* 14: Get set type */ IPSET_MSG_MAX, /* Netlink message commands */ /* Commands in userspace: */ - IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 14: Enter restore mode */ - IPSET_CMD_HELP, /* 15: Get help */ - IPSET_CMD_VERSION, /* 16: Get program version */ - IPSET_CMD_QUIT, /* 17: Quit from interactive mode */ + IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 15: Enter restore mode */ + IPSET_CMD_HELP, /* 16: Get help */ + IPSET_CMD_VERSION, /* 17: Get program version */ + IPSET_CMD_QUIT, /* 18: Quit from interactive mode */ IPSET_CMD_MAX, - IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 18: Commit buffered commands */ + IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 19: Commit buffered commands */ }; /* Attributes at command level */ diff --git a/lib/PROTOCOL b/lib/PROTOCOL index 6f07445..f48e87d 100644 --- a/lib/PROTOCOL +++ b/lib/PROTOCOL @@ -4,7 +4,7 @@ req: msg: IPSET_CMD_PROTOCOL resp: attr: IPSET_ATTR_PROTOCOL (protocol max) IPSET_ATTR_PROTOCOL_MIN (protocol min, optional) -req: msg: IPSET_CMD_CREATE +req: msg: IPSET_CMD_CREATE|MODIFY attr: IPSET_ATTR_PROTOCOL IPSET_ATTR_SETNAME IPSET_ATTR_TYPENAME @@ -59,6 +59,8 @@ req: msg: IPSET_CMD_ADD|DEL adt-specific-data ... +resp: success/error + req: msg: IPSET_CMD_TEST attr: IPSET_ATTR_PROTOCOL IPSET_ATTR_SETNAME |