netfilter: nft_payload: access ipip payload for inner offset
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 17 Oct 2022 11:03:30 +0000 (13:03 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 25 Oct 2022 11:48:42 +0000 (13:48 +0200)
ipip is an special case, transport and inner header offset are set to
the same offset to use the upcoming inner expression for matching on
inner tunnel headers.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nft_payload.c

index 03a1f27..84b490d 100644 (file)
@@ -132,6 +132,9 @@ static int __nft_payload_inner_offset(struct nft_pktinfo *pkt)
                pkt->inneroff = thoff + offset;
                }
                break;
+       case IPPROTO_IPIP:
+               pkt->inneroff = thoff;
+               break;
        default:
                return -1;
        }