mptcp: reuse __mptcp_make_csum in validate_data_csum
[ Upstream commit 8401e87f5a
]
This patch reused __mptcp_make_csum() in validate_data_csum() instead of
open-coding.
Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
6e66d31618
Коммит
f67eeb03fe
|
@ -845,9 +845,8 @@ static enum mapping_status validate_data_csum(struct sock *ssk, struct sk_buff *
|
|||
bool csum_reqd)
|
||||
{
|
||||
struct mptcp_subflow_context *subflow = mptcp_subflow_ctx(ssk);
|
||||
struct csum_pseudo_header header;
|
||||
u32 offset, seq, delta;
|
||||
__wsum csum;
|
||||
u16 csum;
|
||||
int len;
|
||||
|
||||
if (!csum_reqd)
|
||||
|
@ -908,13 +907,11 @@ static enum mapping_status validate_data_csum(struct sock *ssk, struct sk_buff *
|
|||
* while the pseudo header requires the original DSS data len,
|
||||
* including that
|
||||
*/
|
||||
header.data_seq = cpu_to_be64(subflow->map_seq);
|
||||
header.subflow_seq = htonl(subflow->map_subflow_seq);
|
||||
header.data_len = htons(subflow->map_data_len + subflow->map_data_fin);
|
||||
header.csum = 0;
|
||||
|
||||
csum = csum_partial(&header, sizeof(header), subflow->map_data_csum);
|
||||
if (unlikely(csum_fold(csum))) {
|
||||
csum = __mptcp_make_csum(subflow->map_seq,
|
||||
subflow->map_subflow_seq,
|
||||
subflow->map_data_len + subflow->map_data_fin,
|
||||
subflow->map_data_csum);
|
||||
if (unlikely(csum)) {
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_DATACSUMERR);
|
||||
subflow->send_mp_fail = 1;
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPFAILTX);
|
||||
|
|
Загрузка…
Ссылка в новой задаче