diff options
Diffstat (limited to 'src/payload.c')
-rw-r--r-- | src/payload.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/payload.c b/src/payload.c index ac441d4e..a312e079 100644 --- a/src/payload.c +++ b/src/payload.c @@ -174,6 +174,12 @@ int payload_gen_dependency(struct eval_ctx *ctx, const struct expr *expr, } desc = ctx->pctx.protocol[expr->payload.base - 1].desc; + /* Special case for mixed IPv4/IPv6 tables: use meta L4 proto */ + if (desc == NULL && + ctx->pctx.family == NFPROTO_INET && + expr->payload.base == PROTO_BASE_TRANSPORT_HDR) + desc = &proto_inet_service; + if (desc == NULL) return expr_error(ctx, expr, "ambiguous payload specification: " |