Message ID | 20240506235251.3968262-7-pablo@netfilter.org (mailing list archive) |
---|---|
State | Accepted |
Commit | e4f88f7381fa551ff4ad059930a729a0ef2b405f |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v3,01/12] gtp: remove useless initialization | expand |
On Tue, May 07, 2024 at 01:52:45AM +0200, Pablo Neira Ayuso wrote: > According to TS 29.061, it is possible to see IPv6 link-local traffic in > the GTP tunnel, see 11.2.1.3.2 IPv6 Stateless Address Autoconfiguration > (IPv6 SLAAC). > > Pass up these packets to the userspace daemon to handle them as control > GTP traffic. > > Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Reviewed-by: Simon Horman <horms@kernel.org>
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index 8e861778c4e9..939699d6cf6f 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -251,6 +251,10 @@ static bool gtp_check_ms_ipv6(struct sk_buff *skb, struct pdp_ctx *pctx, ip6h = (struct ipv6hdr *)(skb->data + hdrlen); + if ((ipv6_addr_type(&ip6h->saddr) & IPV6_ADDR_LINKLOCAL) || + (ipv6_addr_type(&ip6h->daddr) & IPV6_ADDR_LINKLOCAL)) + return false; + if (role == GTP_ROLE_SGSN) { ret = ipv6_pdp_addr_equal(&ip6h->daddr, &pctx->ms.addr6); } else {
According to TS 29.061, it is possible to see IPv6 link-local traffic in the GTP tunnel, see 11.2.1.3.2 IPv6 Stateless Address Autoconfiguration (IPv6 SLAAC). Pass up these packets to the userspace daemon to handle them as control GTP traffic. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> --- drivers/net/gtp.c | 4 ++++ 1 file changed, 4 insertions(+)