json_object_set_new(tcp, "toclient", tc_array);
json_object_set_new(js, name, tcp);
+ } else if (p == IPPROTO_ICMP || p == IPPROTO_ICMPV6) {
+ const char *name = (p == IPPROTO_ICMP) ? "icmpv4" : "icmpv6";
+ json_t *o = json_object();
+ json_t *ts = json_object();
+ json_t *tc = json_object();
+
+ if (de_ctx->flow_gh[1].sgh[p]) {
+ json_t *group_ts = RulesGroupPrintSghStats(
+ de_ctx, de_ctx->flow_gh[1].sgh[p], add_rules, add_mpm_stats);
+ json_object_set_new(ts, "rulegroup", group_ts);
+ json_object_set_new(o, "toserver", ts);
+ }
+ if (de_ctx->flow_gh[0].sgh[p]) {
+ json_t *group_tc = RulesGroupPrintSghStats(
+ de_ctx, de_ctx->flow_gh[0].sgh[p], add_rules, add_mpm_stats);
+ json_object_set_new(tc, "rulegroup", group_tc);
+ json_object_set_new(o, "toclient", tc);
+ }
+ json_object_set_new(js, name, o);
}
-
}
const char *filename = "rule_group.json";