mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
Merge 3b5332d416 ("mptcp: consolidate suboption status") into android14-6.1-lts
Steps on the way to 6.1.129 Change-Id: I26ab839e8edf228edbec0cddd53d59fca6075594 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -103,7 +103,6 @@ static void mptcp_parse_option(const struct sk_buff *skb,
|
||||
mp_opt->suboptions |= OPTION_MPTCP_DSS;
|
||||
mp_opt->use_map = 1;
|
||||
mp_opt->mpc_map = 1;
|
||||
mp_opt->use_ack = 0;
|
||||
mp_opt->data_len = get_unaligned_be16(ptr);
|
||||
ptr += 2;
|
||||
}
|
||||
@@ -152,11 +151,6 @@ static void mptcp_parse_option(const struct sk_buff *skb,
|
||||
pr_debug("DSS\n");
|
||||
ptr++;
|
||||
|
||||
/* we must clear 'mpc_map' be able to detect MP_CAPABLE
|
||||
* map vs DSS map in mptcp_incoming_options(), and reconstruct
|
||||
* map info accordingly
|
||||
*/
|
||||
mp_opt->mpc_map = 0;
|
||||
flags = (*ptr++) & MPTCP_DSS_FLAG_MASK;
|
||||
mp_opt->data_fin = (flags & MPTCP_DSS_DATA_FIN) != 0;
|
||||
mp_opt->dsn64 = (flags & MPTCP_DSS_DSN64) != 0;
|
||||
@@ -364,8 +358,11 @@ void mptcp_get_options(const struct sk_buff *skb,
|
||||
const unsigned char *ptr;
|
||||
int length;
|
||||
|
||||
/* initialize option status */
|
||||
mp_opt->suboptions = 0;
|
||||
/* Ensure that casting the whole status to u32 is efficient and safe */
|
||||
BUILD_BUG_ON(sizeof_field(struct mptcp_options_received, status) != sizeof(u32));
|
||||
BUILD_BUG_ON(!IS_ALIGNED(offsetof(struct mptcp_options_received, status),
|
||||
sizeof(u32)));
|
||||
*(u32 *)&mp_opt->status = 0;
|
||||
|
||||
length = (th->doff * 4) - sizeof(struct tcphdr);
|
||||
ptr = (const unsigned char *)(th + 1);
|
||||
|
||||
@@ -141,22 +141,24 @@ struct mptcp_options_received {
|
||||
u32 subflow_seq;
|
||||
u16 data_len;
|
||||
__sum16 csum;
|
||||
u16 suboptions;
|
||||
struct_group(status,
|
||||
u16 suboptions;
|
||||
u16 use_map:1,
|
||||
dsn64:1,
|
||||
data_fin:1,
|
||||
use_ack:1,
|
||||
ack64:1,
|
||||
mpc_map:1,
|
||||
reset_reason:4,
|
||||
reset_transient:1,
|
||||
echo:1,
|
||||
backup:1,
|
||||
deny_join_id0:1,
|
||||
__unused:2;
|
||||
);
|
||||
u8 join_id;
|
||||
u32 token;
|
||||
u32 nonce;
|
||||
u16 use_map:1,
|
||||
dsn64:1,
|
||||
data_fin:1,
|
||||
use_ack:1,
|
||||
ack64:1,
|
||||
mpc_map:1,
|
||||
reset_reason:4,
|
||||
reset_transient:1,
|
||||
echo:1,
|
||||
backup:1,
|
||||
deny_join_id0:1,
|
||||
__unused:2;
|
||||
u8 join_id;
|
||||
u64 thmac;
|
||||
u8 hmac[MPTCPOPT_HMAC_LEN];
|
||||
struct mptcp_addr_info addr;
|
||||
|
||||
Reference in New Issue
Block a user