gtp: pass up link local traffic to userspace socket
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>
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user