path: root/include/netlink.h
diff options
authorShyam Saini <>2017-12-05 19:37:34 +0530
committerPablo Neira Ayuso <>2018-01-17 13:46:30 +0100
commit2fa54d8a49352bda44d3e25d1d7ba3531faf3303 (patch)
tree55182570ad839f401ed4e4e3c39a28884652cd80 /include/netlink.h
parent9afd72a883e391e366a1d75bb4e1705357e078e9 (diff)
src: Add import command for low level json
This new operation allows to import low level virtual machine ruleset in json to make incremental changes using the parse functions of libnftnl. A basic way to test this new functionality is: $ cat file.json | nft import vm json where the file.json is a ruleset exported in low level json format. To export json rules in low level virtual machine format we need to specify "vm" token before json. See below $ nft export vm json and $ nft export/import json will do no operations. Same goes with "$nft monitor" Highly based on work from Alvaro Neira <> and Arturo Borrero <> Acked-by: Arturo Borrero Gonzalez <> Signed-off-by: Shyam Saini <> Signed-off-by: Pablo Neira Ayuso <>
Diffstat (limited to 'include/netlink.h')
1 files changed, 9 insertions, 0 deletions
diff --git a/include/netlink.h b/include/netlink.h
index 4ec215da..0d71a6b9 100644
--- a/include/netlink.h
+++ b/include/netlink.h
@@ -227,4 +227,13 @@ bool netlink_batch_supported(struct mnl_socket *nf_sock, uint32_t *seqnum);
int netlink_echo_callback(const struct nlmsghdr *nlh, void *data);
+struct ruleset_parse {
+ struct netlink_ctx *nl_ctx;
+ struct cmd *cmd;
+struct nftnl_parse_ctx;
+int netlink_markup_parse_cb(const struct nftnl_parse_ctx *ctx);