Loading...
Note: File does not exist in v3.1.
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
8struct list_head;
9struct sk_buff;
10
11INDIRECT_CALLABLE_DECLARE(struct sk_buff *ipv6_gro_receive(struct list_head *,
12 struct sk_buff *));
13INDIRECT_CALLABLE_DECLARE(int ipv6_gro_complete(struct sk_buff *, int));
14INDIRECT_CALLABLE_DECLARE(struct sk_buff *inet_gro_receive(struct list_head *,
15 struct sk_buff *));
16INDIRECT_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 */