mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
tcp: remove dead code after CHECKSUM_PARTIAL adoption
Since all skbs in write/rtx queues have CHECKSUM_PARTIAL, we can remove dead code. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4a64fd6ccf
commit
98be9b1209
@ -561,16 +561,9 @@ void __tcp_v4_send_check(struct sk_buff *skb, __be32 saddr, __be32 daddr)
|
||||
{
|
||||
struct tcphdr *th = tcp_hdr(skb);
|
||||
|
||||
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
||||
th->check = ~tcp_v4_check(skb->len, saddr, daddr, 0);
|
||||
skb->csum_start = skb_transport_header(skb) - skb->head;
|
||||
skb->csum_offset = offsetof(struct tcphdr, check);
|
||||
} else {
|
||||
th->check = tcp_v4_check(skb->len, saddr, daddr,
|
||||
csum_partial(th,
|
||||
th->doff << 2,
|
||||
skb->csum));
|
||||
}
|
||||
th->check = ~tcp_v4_check(skb->len, saddr, daddr, 0);
|
||||
skb->csum_start = skb_transport_header(skb) - skb->head;
|
||||
skb->csum_offset = offsetof(struct tcphdr, check);
|
||||
}
|
||||
|
||||
/* This routine computes an IPv4 TCP checksum. */
|
||||
|
@ -1335,21 +1335,9 @@ int tcp_fragment(struct sock *sk, enum tcp_queue tcp_queue,
|
||||
TCP_SKB_CB(buff)->sacked = TCP_SKB_CB(skb)->sacked;
|
||||
tcp_skb_fragment_eor(skb, buff);
|
||||
|
||||
if (!skb_shinfo(skb)->nr_frags && skb->ip_summed != CHECKSUM_PARTIAL) {
|
||||
/* Copy and checksum data tail into the new buffer. */
|
||||
buff->csum = csum_partial_copy_nocheck(skb->data + len,
|
||||
skb_put(buff, nsize),
|
||||
nsize, 0);
|
||||
skb_split(skb, buff, len);
|
||||
|
||||
skb_trim(skb, len);
|
||||
|
||||
skb->csum = csum_block_sub(skb->csum, buff->csum, len);
|
||||
} else {
|
||||
skb->ip_summed = CHECKSUM_PARTIAL;
|
||||
skb_split(skb, buff, len);
|
||||
}
|
||||
|
||||
buff->ip_summed = skb->ip_summed;
|
||||
buff->ip_summed = CHECKSUM_PARTIAL;
|
||||
|
||||
buff->tstamp = skb->tstamp;
|
||||
tcp_fragment_tstamp(skb, buff);
|
||||
@ -1901,7 +1889,7 @@ static int tso_fragment(struct sock *sk, enum tcp_queue tcp_queue,
|
||||
|
||||
tcp_skb_fragment_eor(skb, buff);
|
||||
|
||||
buff->ip_summed = skb->ip_summed = CHECKSUM_PARTIAL;
|
||||
buff->ip_summed = CHECKSUM_PARTIAL;
|
||||
skb_split(skb, buff, len);
|
||||
tcp_fragment_tstamp(skb, buff);
|
||||
|
||||
@ -2134,7 +2122,7 @@ static int tcp_mtu_probe(struct sock *sk)
|
||||
TCP_SKB_CB(nskb)->tcp_flags = TCPHDR_ACK;
|
||||
TCP_SKB_CB(nskb)->sacked = 0;
|
||||
nskb->csum = 0;
|
||||
nskb->ip_summed = skb->ip_summed;
|
||||
nskb->ip_summed = CHECKSUM_PARTIAL;
|
||||
|
||||
tcp_insert_write_queue_before(nskb, skb, sk);
|
||||
tcp_highest_sack_replace(sk, skb, nskb);
|
||||
@ -2142,14 +2130,7 @@ static int tcp_mtu_probe(struct sock *sk)
|
||||
len = 0;
|
||||
tcp_for_write_queue_from_safe(skb, next, sk) {
|
||||
copy = min_t(int, skb->len, probe_size - len);
|
||||
if (nskb->ip_summed) {
|
||||
skb_copy_bits(skb, 0, skb_put(nskb, copy), copy);
|
||||
} else {
|
||||
__wsum csum = skb_copy_and_csum_bits(skb, 0,
|
||||
skb_put(nskb, copy),
|
||||
copy, 0);
|
||||
nskb->csum = csum_block_add(nskb->csum, csum, len);
|
||||
}
|
||||
skb_copy_bits(skb, 0, skb_put(nskb, copy), copy);
|
||||
|
||||
if (skb->len <= copy) {
|
||||
/* We've eaten all the data from this skb.
|
||||
@ -2166,9 +2147,6 @@ static int tcp_mtu_probe(struct sock *sk)
|
||||
~(TCPHDR_FIN|TCPHDR_PSH);
|
||||
if (!skb_shinfo(skb)->nr_frags) {
|
||||
skb_pull(skb, copy);
|
||||
if (skb->ip_summed != CHECKSUM_PARTIAL)
|
||||
skb->csum = csum_partial(skb->data,
|
||||
skb->len, 0);
|
||||
} else {
|
||||
__pskb_trim_head(skb, copy);
|
||||
tcp_set_skb_tso_segs(skb, mss_now);
|
||||
@ -2746,12 +2724,6 @@ static bool tcp_collapse_retrans(struct sock *sk, struct sk_buff *skb)
|
||||
}
|
||||
tcp_highest_sack_replace(sk, next_skb, skb);
|
||||
|
||||
if (next_skb->ip_summed == CHECKSUM_PARTIAL)
|
||||
skb->ip_summed = CHECKSUM_PARTIAL;
|
||||
|
||||
if (skb->ip_summed != CHECKSUM_PARTIAL)
|
||||
skb->csum = csum_block_add(skb->csum, next_skb->csum, skb_size);
|
||||
|
||||
/* Update sequence range on original skb. */
|
||||
TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(next_skb)->end_seq;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user