mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Merge branch 'pr/22' into testdevelop
This commit is contained in:
commit
71eff29ea4
7 changed files with 460 additions and 29 deletions
|
|
@ -3288,14 +3288,14 @@ diff -aurN linux-5.4.64/net/ipv4/syncookies.c linux-5.4.64.mptcp/net/ipv4/syncoo
|
|||
* the ACK carries the same options again (see RFC1122 4.2.3.8)
|
||||
*/
|
||||
@@ -387,15 +421,15 @@
|
||||
/* Try to redo what tcp_v4_send_synack did. */
|
||||
req->rsk_window_clamp = tp->window_clamp ? :dst_metric(&rt->dst, RTAX_WINDOW);
|
||||
(req->rsk_window_clamp > full_space || req->rsk_window_clamp == 0))
|
||||
req->rsk_window_clamp = full_space;
|
||||
|
||||
- tcp_select_initial_window(sk, tcp_full_space(sk), req->mss,
|
||||
- tcp_select_initial_window(sk, full_space, req->mss,
|
||||
- &req->rsk_rcv_wnd, &req->rsk_window_clamp,
|
||||
- ireq->wscale_ok, &rcv_wscale,
|
||||
- dst_metric(&rt->dst, RTAX_INITRWND));
|
||||
+ tp->ops->select_initial_window(sk, tcp_full_space(sk), req->mss,
|
||||
+ tp->ops->select_initial_window(sk, full_space, req->mss,
|
||||
+ &req->rsk_rcv_wnd, &req->rsk_window_clamp,
|
||||
+ ireq->wscale_ok, &rcv_wscale,
|
||||
+ dst_metric(&rt->dst, RTAX_INITRWND));
|
||||
|
|
@ -4028,16 +4028,6 @@ diff -aurN linux-5.4.64/net/ipv4/tcp.c linux-5.4.64.mptcp/net/ipv4/tcp.c
|
|||
#ifdef CONFIG_MMU
|
||||
case TCP_ZEROCOPY_RECEIVE: {
|
||||
struct tcp_zerocopy_receive zc;
|
||||
@@ -3862,7 +4143,9 @@
|
||||
if (sk->sk_state == TCP_SYN_SENT || sk->sk_state == TCP_SYN_RECV)
|
||||
TCP_INC_STATS(sock_net(sk), TCP_MIB_ATTEMPTFAILS);
|
||||
|
||||
+ WARN_ON(sk->sk_state == TCP_CLOSE);
|
||||
tcp_set_state(sk, TCP_CLOSE);
|
||||
+
|
||||
tcp_clear_xmit_timers(sk);
|
||||
if (req)
|
||||
reqsk_fastopen_remove(sk, req, false);
|
||||
@@ -3878,6 +4161,8 @@
|
||||
|
||||
int tcp_abort(struct sock *sk, int err)
|
||||
|
|
@ -6715,14 +6705,14 @@ diff -aurN linux-5.4.64/net/ipv6/syncookies.c linux-5.4.64.mptcp/net/ipv6/syncoo
|
|||
goto out_free;
|
||||
|
||||
@@ -241,15 +259,15 @@
|
||||
}
|
||||
(req->rsk_window_clamp > full_space || req->rsk_window_clamp == 0))
|
||||
req->rsk_window_clamp = full_space;
|
||||
|
||||
req->rsk_window_clamp = tp->window_clamp ? :dst_metric(dst, RTAX_WINDOW);
|
||||
- tcp_select_initial_window(sk, tcp_full_space(sk), req->mss,
|
||||
- tcp_select_initial_window(sk, full_space, req->mss,
|
||||
- &req->rsk_rcv_wnd, &req->rsk_window_clamp,
|
||||
- ireq->wscale_ok, &rcv_wscale,
|
||||
- dst_metric(dst, RTAX_INITRWND));
|
||||
+ tp->ops->select_initial_window(sk, tcp_full_space(sk), req->mss,
|
||||
+ tp->ops->select_initial_window(sk, full_space, req->mss,
|
||||
+ &req->rsk_rcv_wnd, &req->rsk_window_clamp,
|
||||
+ ireq->wscale_ok, &rcv_wscale,
|
||||
+ dst_metric(dst, RTAX_INITRWND));
|
||||
|
|
|
|||
|
|
@ -3204,7 +3204,7 @@ index 88b987ca9ebb..c3538bd0d008 100644
|
|||
- (meta_tp->rcv_nxt - meta_tp->copied_seq < meta_sk->sk_rcvlowat ||
|
||||
- tp->ops->__select_window(sk) >= tp->rcv_wnd)) ||
|
||||
+ (meta_tp->rcv_nxt - meta_tp->copied_seq < meta_sk->sk_rcvlowat ||
|
||||
+ tp->ops->__tcp_select_window(sk) >= tp->rcv_wnd))) ||
|
||||
+ tp->ops->__select_window(sk) >= tp->rcv_wnd))) ||
|
||||
/* We ACK each frame or... */
|
||||
tcp_in_quickack_mode(sk) ||
|
||||
/* Protocol state mandates a one-time immediate ACK */
|
||||
|
|
@ -3237,10 +3237,10 @@ index be6d22b8190f..4943f96aade8 100644
|
|||
+
|
||||
+ /* Set buff tx.in_flight as if buff were sent by itself. */
|
||||
+ inflight_prev = TCP_SKB_CB(skb)->tx.in_flight - old_factor;
|
||||
+ if (WARN_ONCE(inflight_prev < 0,
|
||||
+ /* if (WARN_ONCE(inflight_prev < 0,
|
||||
+ "inconsistent: tx.in_flight: %u old_factor: %d",
|
||||
+ TCP_SKB_CB(skb)->tx.in_flight, old_factor))
|
||||
+ inflight_prev = 0;
|
||||
+ TCP_SKB_CB(skb)->tx.in_flight, old_factor)) */
|
||||
+ if (inflight_prev < 0) inflight_prev = 0;
|
||||
+ TCP_SKB_CB(buff)->tx.in_flight = inflight_prev +
|
||||
+ tcp_skb_pcount(buff);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue