mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-13 11:51:32 +00:00
tcp: refactor tcp_ecn_check_ce to remove sk type cast
Refactor tcp_ecn_check_ce and __tcp_ecn_check_ce to accept struct sock* instead of tcp_sock* to clean up type casts. This is a pure refactor patch. Signed-off-by: Yousuk Seung <ysseung@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f7225172f2
commit
f4c9f85f3b
@ -254,8 +254,10 @@ static void tcp_ecn_withdraw_cwr(struct tcp_sock *tp)
|
||||
tp->ecn_flags &= ~TCP_ECN_DEMAND_CWR;
|
||||
}
|
||||
|
||||
static void __tcp_ecn_check_ce(struct tcp_sock *tp, const struct sk_buff *skb)
|
||||
static void __tcp_ecn_check_ce(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
|
||||
switch (TCP_SKB_CB(skb)->ip_dsfield & INET_ECN_MASK) {
|
||||
case INET_ECN_NOT_ECT:
|
||||
/* Funny extension: if ECT is not set on a segment,
|
||||
@ -263,31 +265,31 @@ static void __tcp_ecn_check_ce(struct tcp_sock *tp, const struct sk_buff *skb)
|
||||
* it is probably a retransmit.
|
||||
*/
|
||||
if (tp->ecn_flags & TCP_ECN_SEEN)
|
||||
tcp_enter_quickack_mode((struct sock *)tp, 1);
|
||||
tcp_enter_quickack_mode(sk, 1);
|
||||
break;
|
||||
case INET_ECN_CE:
|
||||
if (tcp_ca_needs_ecn((struct sock *)tp))
|
||||
tcp_ca_event((struct sock *)tp, CA_EVENT_ECN_IS_CE);
|
||||
if (tcp_ca_needs_ecn(sk))
|
||||
tcp_ca_event(sk, CA_EVENT_ECN_IS_CE);
|
||||
|
||||
if (!(tp->ecn_flags & TCP_ECN_DEMAND_CWR)) {
|
||||
/* Better not delay acks, sender can have a very low cwnd */
|
||||
tcp_enter_quickack_mode((struct sock *)tp, 1);
|
||||
tcp_enter_quickack_mode(sk, 1);
|
||||
tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
|
||||
}
|
||||
tp->ecn_flags |= TCP_ECN_SEEN;
|
||||
break;
|
||||
default:
|
||||
if (tcp_ca_needs_ecn((struct sock *)tp))
|
||||
tcp_ca_event((struct sock *)tp, CA_EVENT_ECN_NO_CE);
|
||||
if (tcp_ca_needs_ecn(sk))
|
||||
tcp_ca_event(sk, CA_EVENT_ECN_NO_CE);
|
||||
tp->ecn_flags |= TCP_ECN_SEEN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void tcp_ecn_check_ce(struct tcp_sock *tp, const struct sk_buff *skb)
|
||||
static void tcp_ecn_check_ce(struct sock *sk, const struct sk_buff *skb)
|
||||
{
|
||||
if (tp->ecn_flags & TCP_ECN_OK)
|
||||
__tcp_ecn_check_ce(tp, skb);
|
||||
if (tcp_sk(sk)->ecn_flags & TCP_ECN_OK)
|
||||
__tcp_ecn_check_ce(sk, skb);
|
||||
}
|
||||
|
||||
static void tcp_ecn_rcv_synack(struct tcp_sock *tp, const struct tcphdr *th)
|
||||
@ -710,7 +712,7 @@ static void tcp_event_data_recv(struct sock *sk, struct sk_buff *skb)
|
||||
}
|
||||
icsk->icsk_ack.lrcvtime = now;
|
||||
|
||||
tcp_ecn_check_ce(tp, skb);
|
||||
tcp_ecn_check_ce(sk, skb);
|
||||
|
||||
if (skb->len >= 128)
|
||||
tcp_grow_window(sk, skb);
|
||||
@ -4434,7 +4436,7 @@ static void tcp_data_queue_ofo(struct sock *sk, struct sk_buff *skb)
|
||||
u32 seq, end_seq;
|
||||
bool fragstolen;
|
||||
|
||||
tcp_ecn_check_ce(tp, skb);
|
||||
tcp_ecn_check_ce(sk, skb);
|
||||
|
||||
if (unlikely(tcp_try_rmem_schedule(sk, skb, skb->truesize))) {
|
||||
NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPOFODROP);
|
||||
|
Loading…
Reference in New Issue
Block a user