udp: Do not pass MSS as parameter to GSO segmentation
There is no point in passing MSS as a parameter for for the GSO segmentation call as it is already available via the shared info for the skb itself. Reviewed-by: Eric Dumazet <edumazet@google.com> Acked-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
dfec0ee22c
Коммит
b21c034b3d
|
@ -176,7 +176,7 @@ int udp_gro_complete(struct sk_buff *skb, int nhoff, udp_lookup_t lookup);
|
|||
|
||||
struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb,
|
||||
netdev_features_t features,
|
||||
unsigned int mss, __sum16 check);
|
||||
__sum16 check);
|
||||
|
||||
static inline struct udphdr *udp_gro_udphdr(struct sk_buff *skb)
|
||||
{
|
||||
|
|
|
@ -189,14 +189,16 @@ EXPORT_SYMBOL(skb_udp_tunnel_segment);
|
|||
|
||||
struct sk_buff *__udp_gso_segment(struct sk_buff *gso_skb,
|
||||
netdev_features_t features,
|
||||
unsigned int mss, __sum16 check)
|
||||
__sum16 check)
|
||||
{
|
||||
struct sock *sk = gso_skb->sk;
|
||||
unsigned int sum_truesize = 0;
|
||||
struct sk_buff *segs, *seg;
|
||||
unsigned int hdrlen;
|
||||
struct udphdr *uh;
|
||||
unsigned int mss;
|
||||
|
||||
mss = skb_shinfo(gso_skb)->gso_size;
|
||||
if (gso_skb->len <= sizeof(*uh) + mss)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
|
@ -244,7 +246,7 @@ static struct sk_buff *__udp4_gso_segment(struct sk_buff *gso_skb,
|
|||
if (!can_checksum_protocol(features, htons(ETH_P_IP)))
|
||||
return ERR_PTR(-EIO);
|
||||
|
||||
return __udp_gso_segment(gso_skb, features, mss,
|
||||
return __udp_gso_segment(gso_skb, features,
|
||||
udp_v4_check(sizeof(struct udphdr) + mss,
|
||||
iph->saddr, iph->daddr, 0));
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ static struct sk_buff *__udp6_gso_segment(struct sk_buff *gso_skb,
|
|||
if (!can_checksum_protocol(features, htons(ETH_P_IPV6)))
|
||||
return ERR_PTR(-EIO);
|
||||
|
||||
return __udp_gso_segment(gso_skb, features, mss,
|
||||
return __udp_gso_segment(gso_skb, features,
|
||||
udp_v6_check(sizeof(struct udphdr) + mss,
|
||||
&ip6h->saddr, &ip6h->daddr, 0));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче