#include <linux/indirect_call_wrapper.h>
#include <linux/skbuff.h>
#include <net/inet6_hashtables.h>
#include <net/gro.h>
#include <net/protocol.h>
#include <net/tcp.h>
#include <net/ip6_checksum.h>
#include "ip6_offload.h"
static void tcp6_check_fraglist_gro(struct list_head *head, struct sk_buff *skb,
struct tcphdr *th)
{ … }
INDIRECT_CALLABLE_SCOPE
struct sk_buff *tcp6_gro_receive(struct list_head *head, struct sk_buff *skb)
{ … }
INDIRECT_CALLABLE_SCOPE int tcp6_gro_complete(struct sk_buff *skb, int thoff)
{ … }
static void __tcpv6_gso_segment_csum(struct sk_buff *seg,
__be16 *oldport, __be16 newport)
{ … }
static struct sk_buff *__tcpv6_gso_segment_list_csum(struct sk_buff *segs)
{ … }
static struct sk_buff *__tcp6_gso_segment_list(struct sk_buff *skb,
netdev_features_t features)
{ … }
static struct sk_buff *tcp6_gso_segment(struct sk_buff *skb,
netdev_features_t features)
{ … }
int __init tcpv6_offload_init(void)
{ … }