The MPTCP RFC requires that the MPTCP-level receive window's right edge never moves backward. Currently the MPTCP code enforces such constraint while tracking the right edge, but it does not reflects it on the wire, as MPTCP lacks a suitable hook to update accordingly the TCP header. This change modifies the existing mptcp_write_options() hook, providing the current packet's TCP header to the MPTCP protocol, so that the next patch could implement the above mentioned constraint. No functional changes intended.
Showing the changes to include (1 of 3 files). Show all
Unified · Split
| @@ -125,7 +125,7 @@ bool mptcp_established_options(struct sock *sk, struct sk_buff *skb, · 124 unmodified lines | |||
| 125 | struct mptcp_out_options *opts); | 125 | struct mptcp_out_options *opts); |
| 126 | bool mptcp_incoming_options(struct sock *sk, struct sk_buff *skb); | 126 | bool mptcp_incoming_options(struct sock *sk, struct sk_buff *skb); |
| 127 | 127 | ||
| 128 | void mptcp_write_options(__be32 *ptr, const struct tcp_sock *tp, | 128 | void mptcp_write_options(struct tcphdr *th, __be32 *ptr, struct tcp_sock *tp, |
| 129 | struct mptcp_out_options *opts); | 129 | struct mptcp_out_options *opts); |
| 130 | 130 | ||
| 131 | void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info); | 131 | void mptcp_diag_fill_info(struct mptcp_sock *msk, struct mptcp_info *info); |