mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
net: sched: use skb_ip_totlen and iph_totlen
There are 1 action and 1 qdisc that may process IPv4 TCP GSO packets and access iph->tot_len, replace them with skb_ip_totlen() and iph_totlen() accordingly. Note that we don't need to replace the one in tcf_csum_ipv4(), as it will return for TCP GSO packets in tcf_csum_ipv4_tcp(). Signed-off-by: Xin Long <lucien.xin@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ec84c955a0
commit
043e397e48
@ -707,7 +707,7 @@ static int tcf_ct_skb_network_trim(struct sk_buff *skb, int family)
|
||||
|
||||
switch (family) {
|
||||
case NFPROTO_IPV4:
|
||||
len = ntohs(ip_hdr(skb)->tot_len);
|
||||
len = skb_ip_totlen(skb);
|
||||
break;
|
||||
case NFPROTO_IPV6:
|
||||
len = sizeof(struct ipv6hdr)
|
||||
|
@ -1209,7 +1209,7 @@ static struct sk_buff *cake_ack_filter(struct cake_sched_data *q,
|
||||
iph_check->daddr != iph->daddr)
|
||||
continue;
|
||||
|
||||
seglen = ntohs(iph_check->tot_len) -
|
||||
seglen = iph_totlen(skb, iph_check) -
|
||||
(4 * iph_check->ihl);
|
||||
} else if (iph_check->version == 6) {
|
||||
ipv6h = (struct ipv6hdr *)iph;
|
||||
|
Loading…
Reference in New Issue
Block a user