--- zzzz-none-000/linux-5.4.213/net/ipv6/output_core.c 2022-09-15 10:04:56.000000000 +0000 +++ miami-7690-761/linux-5.4.213/net/ipv6/output_core.c 2024-05-29 11:20:02.000000000 +0000 @@ -10,6 +10,7 @@ #include #include #include +#include static u32 __ipv6_select_ident(struct net *net, const struct in6_addr *dst, @@ -146,6 +147,10 @@ skb->protocol = htons(ETH_P_IPV6); + /* not called for TCP, SCTP and DCCP, see ip6_xmit() */ + if (avm_pa_dev_local_out(AVM_PA_NET_IP6_DEVINFO(net), skb) == AVM_PA_RX_STOLEN) + return 0; + return nf_hook(NFPROTO_IPV6, NF_INET_LOCAL_OUT, net, sk, skb, NULL, skb_dst(skb)->dev, dst_output);