gro_complete
err = ptype->callbacks.gro_complete(skb, nhoff + gh_len);
tunnel_cfg.gro_complete = geneve_gro_complete;
return INDIRECT_CALL_INET(ptype->callbacks.gro_complete,
.gro_complete = pppoe_gro_complete,
tunnel_cfg.gro_complete = vxlan_gpe_gro_complete;
tunnel_cfg.gro_complete = vxlan_gro_complete;
err = ptype->callbacks.gro_complete(skb, nhoff + sizeof(struct vxlanhdr));
int (*gro_complete)(struct sk_buff *skb, int nhoff);
int (*gro_complete)(struct sock *sk,
udp_tunnel_gro_complete_t gro_complete;
err = INDIRECT_CALL_INET(ptype->callbacks.gro_complete,
.gro_complete = vlan_gro_complete,
.gro_complete = vlan_gro_complete,
if (ptype->type != type || !ptype->callbacks.gro_complete)
err = INDIRECT_CALL_INET(ptype->callbacks.gro_complete,
gro_complete(gro, skb);
gro_complete(gro, oldest);
gro_complete(gro, pp);
if (ptype->type != type || !ptype->callbacks.gro_complete)
err = INDIRECT_CALL_INET(ptype->callbacks.gro_complete,
.gro_complete = eth_gro_complete,
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
err = INDIRECT_CALL_2(ops->callbacks.gro_complete,
.gro_complete = ipip_gro_complete,
.gro_complete = inet_gro_complete,
if (WARN_ON(!ops || !ops->callbacks.gro_complete)) {
err = ops->callbacks.gro_complete(skb, nhoff);
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
err = ops->callbacks.gro_complete(skb, nhoff + guehlen);
tunnel_cfg.gro_complete = fou_gro_complete;
tunnel_cfg.gro_complete = gue_gro_complete;
err = ptype->callbacks.gro_complete(skb, nhoff + grehlen);
.gro_complete = gre_gro_complete,
.gro_complete = tcp4_gro_complete,
if (sk && udp_sk(sk)->gro_complete) {
err = udp_sk(sk)->gro_complete(sk, skb,
.gro_complete = udp4_gro_complete,
udp_sk(sk)->gro_complete = cfg->gro_complete;
if (WARN_ON(!ops || !ops->callbacks.gro_complete))
err = ops->callbacks.gro_complete(skb, nhoff);
.gro_complete = sit_gro_complete,
.gro_complete = ip4ip6_gro_complete,
.gro_complete = ip6ip6_gro_complete,
.gro_complete = ipv6_gro_complete,
.gro_complete = tcp6_gro_complete,
.gro_complete = udp6_gro_complete,