From 4a684c2ee4cdff2c5c6bfa06d93b58cb4e868bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Neira=20Ayuso?= Date: Thu, 27 Jun 2013 21:56:18 +0200 Subject: src: support JSON format in chain, rule and expressions While at it, order possible switch cases of _snprintf. Signed-off-by: Alvaro Neira Ayuso Signed-off-by: Pablo Neira Ayuso --- src/expr/exthdr.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/expr/exthdr.c') diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c index a31f079..b4b9c13 100644 --- a/src/expr/exthdr.c +++ b/src/expr/exthdr.c @@ -325,6 +325,10 @@ nft_rule_expr_exthdr_snprintf(char *buf, size_t len, uint32_t type, struct nft_expr_exthdr *exthdr = (struct nft_expr_exthdr *)e->data; switch(type) { + case NFT_RULE_O_DEFAULT: + return snprintf(buf, len, "dreg=%u type=%u offset=%u len=%u ", + exthdr->dreg, exthdr->type, + exthdr->offset, exthdr->len); case NFT_RULE_O_XML: return snprintf(buf, len, "%u" "%s" @@ -333,11 +337,13 @@ nft_rule_expr_exthdr_snprintf(char *buf, size_t len, uint32_t type, exthdr->dreg, exthdr_type2str(exthdr->type), exthdr->offset, exthdr->len); - - case NFT_RULE_O_DEFAULT: - return snprintf(buf, len, "dreg=%u type=%u offset=%u len=%u ", - exthdr->dreg, exthdr->type, - exthdr->offset, exthdr->len); + case NFT_RULE_O_JSON: + return snprintf(buf, len, "\"dreg\" : %u, " + "\"exthdr_type\" : \"%s\", \"offset\" : %u, " + "\"len\" : %u", + exthdr->dreg, + exthdr_type2str(exthdr->type), + exthdr->offset, exthdr->len); default: break; } -- cgit v1.2.3