Merge tag 'timers-urgent-2021-08-08' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / include / net / gro.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 #ifndef _NET_IPV6_GRO_H
4 #define _NET_IPV6_GRO_H
5
6 #include <linux/indirect_call_wrapper.h>
7
8 struct list_head;
9 struct sk_buff;
10
11 INDIRECT_CALLABLE_DECLARE(struct sk_buff *ipv6_gro_receive(struct list_head *,
12                                                            struct sk_buff *));
13 INDIRECT_CALLABLE_DECLARE(int ipv6_gro_complete(struct sk_buff *, int));
14 INDIRECT_CALLABLE_DECLARE(struct sk_buff *inet_gro_receive(struct list_head *,
15                                                            struct sk_buff *));
16 INDIRECT_CALLABLE_DECLARE(int inet_gro_complete(struct sk_buff *, int));
17
18 #define indirect_call_gro_receive_inet(cb, f2, f1, head, skb)   \
19 ({                                                              \
20         unlikely(gro_recursion_inc_test(skb)) ?                 \
21                 NAPI_GRO_CB(skb)->flush |= 1, NULL :            \
22                 INDIRECT_CALL_INET(cb, f2, f1, head, skb);      \
23 })
24
25 #endif /* _NET_IPV6_GRO_H */