From 7e15d9dc8c6cda0e49720500bec74d2534c30d0d Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 16 Dec 2019 13:44:46 +0100 Subject: udata: support for TLV attribute nesting This patch adds nftnl_udata_nest_start() and nftnl_udata_nest_end() to build attribute nests. Signed-off-by: Pablo Neira Ayuso --- src/udata.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/udata.c') diff --git a/src/udata.c b/src/udata.c index 9f17395..0cc3520 100644 --- a/src/udata.c +++ b/src/udata.c @@ -150,3 +150,20 @@ int nftnl_udata_parse(const void *data, uint32_t data_len, nftnl_udata_cb_t cb, return ret; } + +EXPORT_SYMBOL(nftnl_udata_nest_start); +struct nftnl_udata *nftnl_udata_nest_start(struct nftnl_udata_buf *buf, + uint8_t type) +{ + struct nftnl_udata *ud = nftnl_udata_end(buf); + + nftnl_udata_put(buf, type, 0, NULL); + + return ud; +} + +EXPORT_SYMBOL(nftnl_udata_nest_end); +void nftnl_udata_nest_end(struct nftnl_udata_buf *buf, struct nftnl_udata *ud) +{ + ud->len = buf->end - (char *)ud->value; +} -- cgit v1.2.3