--- zzzz-none-000/linux-4.4.271/net/ipv6/output_core.c 2021-06-03 06:22:09.000000000 +0000 +++ hawkeye-5590-750/linux-4.4.271/net/ipv6/output_core.c 2023-04-19 10:22:30.000000000 +0000 @@ -9,6 +9,7 @@ #include #include #include +#include static u32 __ipv6_select_ident(struct net *net, const struct in6_addr *dst, @@ -156,6 +157,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);