Lines Matching refs:ptr
22 const unsigned char *ptr, int opsize, in mptcp_parse_option() argument
25 u8 subtype = *ptr >> 4; in mptcp_parse_option()
48 version = *ptr++ & MPTCP_VERSION_MASK; in mptcp_parse_option()
56 flags = *ptr++; in mptcp_parse_option()
79 mp_opt->sndr_key = get_unaligned_be64(ptr); in mptcp_parse_option()
80 ptr += 8; in mptcp_parse_option()
83 mp_opt->rcvr_key = get_unaligned_be64(ptr); in mptcp_parse_option()
84 ptr += 8; in mptcp_parse_option()
96 mp_opt->data_len = get_unaligned_be16(ptr); in mptcp_parse_option()
97 ptr += 2; in mptcp_parse_option()
107 mp_opt->backup = *ptr++ & MPTCPOPT_BACKUP; in mptcp_parse_option()
108 mp_opt->join_id = *ptr++; in mptcp_parse_option()
109 mp_opt->token = get_unaligned_be32(ptr); in mptcp_parse_option()
110 ptr += 4; in mptcp_parse_option()
111 mp_opt->nonce = get_unaligned_be32(ptr); in mptcp_parse_option()
112 ptr += 4; in mptcp_parse_option()
117 mp_opt->backup = *ptr++ & MPTCPOPT_BACKUP; in mptcp_parse_option()
118 mp_opt->join_id = *ptr++; in mptcp_parse_option()
119 mp_opt->thmac = get_unaligned_be64(ptr); in mptcp_parse_option()
120 ptr += 8; in mptcp_parse_option()
121 mp_opt->nonce = get_unaligned_be32(ptr); in mptcp_parse_option()
122 ptr += 4; in mptcp_parse_option()
127 ptr += 2; in mptcp_parse_option()
128 memcpy(mp_opt->hmac, ptr, MPTCPOPT_HMAC_LEN); in mptcp_parse_option()
137 ptr++; in mptcp_parse_option()
144 flags = (*ptr++) & MPTCP_DSS_FLAG_MASK; in mptcp_parse_option()
185 mp_opt->data_ack = get_unaligned_be64(ptr); in mptcp_parse_option()
186 ptr += 8; in mptcp_parse_option()
188 mp_opt->data_ack = get_unaligned_be32(ptr); in mptcp_parse_option()
189 ptr += 4; in mptcp_parse_option()
197 mp_opt->data_seq = get_unaligned_be64(ptr); in mptcp_parse_option()
198 ptr += 8; in mptcp_parse_option()
200 mp_opt->data_seq = get_unaligned_be32(ptr); in mptcp_parse_option()
201 ptr += 4; in mptcp_parse_option()
204 mp_opt->subflow_seq = get_unaligned_be32(ptr); in mptcp_parse_option()
205 ptr += 4; in mptcp_parse_option()
207 mp_opt->data_len = get_unaligned_be16(ptr); in mptcp_parse_option()
208 ptr += 2; in mptcp_parse_option()
218 mp_opt->echo = (*ptr++) & MPTCP_ADDR_ECHO; in mptcp_parse_option()
244 mp_opt->addr_id = *ptr++; in mptcp_parse_option()
247 memcpy((u8 *)&mp_opt->addr.s_addr, (u8 *)ptr, 4); in mptcp_parse_option()
248 ptr += 4; in mptcp_parse_option()
251 mp_opt->port = get_unaligned_be16(ptr); in mptcp_parse_option()
252 ptr += 2; in mptcp_parse_option()
257 memcpy(mp_opt->addr6.s6_addr, (u8 *)ptr, 16); in mptcp_parse_option()
258 ptr += 16; in mptcp_parse_option()
261 mp_opt->port = get_unaligned_be16(ptr); in mptcp_parse_option()
262 ptr += 2; in mptcp_parse_option()
267 mp_opt->ahmac = get_unaligned_be64(ptr); in mptcp_parse_option()
268 ptr += 8; in mptcp_parse_option()
276 ptr++; in mptcp_parse_option()
279 mp_opt->rm_id = *ptr++; in mptcp_parse_option()
292 const unsigned char *ptr; in mptcp_get_options() local
305 ptr = (const unsigned char *)(th + 1); in mptcp_get_options()
308 int opcode = *ptr++; in mptcp_get_options()
320 opsize = *ptr++; in mptcp_get_options()
326 mptcp_parse_option(skb, ptr, opsize, mp_opt); in mptcp_get_options()
327 ptr += opsize - 2; in mptcp_get_options()
981 void mptcp_write_options(__be32 *ptr, struct mptcp_out_options *opts) in mptcp_write_options() argument
996 *ptr++ = mptcp_option(MPTCPOPT_MP_CAPABLE, len, in mptcp_write_options()
1004 put_unaligned_be64(opts->sndr_key, ptr); in mptcp_write_options()
1005 ptr += 2; in mptcp_write_options()
1009 put_unaligned_be64(opts->rcvr_key, ptr); in mptcp_write_options()
1010 ptr += 2; in mptcp_write_options()
1015 TCPOPT_NOP << 8 | TCPOPT_NOP, ptr); in mptcp_write_options()
1016 ptr += 1; in mptcp_write_options()
1022 *ptr++ = mptcp_option(MPTCPOPT_ADD_ADDR, in mptcp_write_options()
1026 *ptr++ = mptcp_option(MPTCPOPT_ADD_ADDR, in mptcp_write_options()
1030 memcpy((u8 *)ptr, (u8 *)&opts->addr.s_addr, 4); in mptcp_write_options()
1031 ptr += 1; in mptcp_write_options()
1033 put_unaligned_be64(opts->ahmac, ptr); in mptcp_write_options()
1034 ptr += 2; in mptcp_write_options()
1041 *ptr++ = mptcp_option(MPTCPOPT_ADD_ADDR, in mptcp_write_options()
1045 *ptr++ = mptcp_option(MPTCPOPT_ADD_ADDR, in mptcp_write_options()
1049 memcpy((u8 *)ptr, opts->addr6.s6_addr, 16); in mptcp_write_options()
1050 ptr += 4; in mptcp_write_options()
1052 put_unaligned_be64(opts->ahmac, ptr); in mptcp_write_options()
1053 ptr += 2; in mptcp_write_options()
1059 *ptr++ = mptcp_option(MPTCPOPT_RM_ADDR, in mptcp_write_options()
1065 *ptr++ = mptcp_option(MPTCPOPT_MP_JOIN, in mptcp_write_options()
1068 put_unaligned_be32(opts->token, ptr); in mptcp_write_options()
1069 ptr += 1; in mptcp_write_options()
1070 put_unaligned_be32(opts->nonce, ptr); in mptcp_write_options()
1071 ptr += 1; in mptcp_write_options()
1075 *ptr++ = mptcp_option(MPTCPOPT_MP_JOIN, in mptcp_write_options()
1078 put_unaligned_be64(opts->thmac, ptr); in mptcp_write_options()
1079 ptr += 2; in mptcp_write_options()
1080 put_unaligned_be32(opts->nonce, ptr); in mptcp_write_options()
1081 ptr += 1; in mptcp_write_options()
1085 *ptr++ = mptcp_option(MPTCPOPT_MP_JOIN, in mptcp_write_options()
1087 memcpy(ptr, opts->hmac, MPTCPOPT_HMAC_LEN); in mptcp_write_options()
1088 ptr += 5; in mptcp_write_options()
1117 *ptr++ = mptcp_option(MPTCPOPT_DSS, len, 0, flags); in mptcp_write_options()
1121 put_unaligned_be64(mpext->data_ack, ptr); in mptcp_write_options()
1122 ptr += 2; in mptcp_write_options()
1124 put_unaligned_be32(mpext->data_ack32, ptr); in mptcp_write_options()
1125 ptr += 1; in mptcp_write_options()
1130 put_unaligned_be64(mpext->data_seq, ptr); in mptcp_write_options()
1131 ptr += 2; in mptcp_write_options()
1132 put_unaligned_be32(mpext->subflow_seq, ptr); in mptcp_write_options()
1133 ptr += 1; in mptcp_write_options()
1135 TCPOPT_NOP << 8 | TCPOPT_NOP, ptr); in mptcp_write_options()