--- zzzz-none-000/linux-5.15.111/net/ipv6/output_core.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/net/ipv6/output_core.c 2024-02-07 10:23:30.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);