--- zzzz-none-000/linux-4.9.279/net/ipv6/output_core.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-atom-6591-750/linux-4.9.279/net/ipv6/output_core.c 2023-02-08 11:43:43.000000000 +0000 @@ -9,6 +9,7 @@ #include #include #include +#include static u32 __ipv6_select_ident(struct net *net, const struct in6_addr *dst, @@ -145,6 +146,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);