Lines Matching refs:len
22 u64 dccp_decode_value_var(const u8 *bf, const u8 len) in dccp_decode_value_var() argument
26 if (len >= DCCP_OPTVAL_MAXLEN) in dccp_decode_value_var()
28 if (len > 4) in dccp_decode_value_var()
30 if (len > 3) in dccp_decode_value_var()
32 if (len > 2) in dccp_decode_value_var()
34 if (len > 1) in dccp_decode_value_var()
36 if (len > 0) in dccp_decode_value_var()
58 unsigned char opt, len; in dccp_parse_options() local
67 opt = len = 0; in dccp_parse_options()
70 len = 0; in dccp_parse_options()
78 len = *opt_ptr++; in dccp_parse_options()
79 if (len < 2) in dccp_parse_options()
85 len -= 2; in dccp_parse_options()
87 opt_ptr += len; in dccp_parse_options()
112 if (len > 6) in dccp_parse_options()
115 opt_recv->dccpor_ndp = dccp_decode_value_var(value, len); in dccp_parse_options()
122 if (len == 0) in dccp_parse_options()
125 *value, value + 1, len - 1); in dccp_parse_options()
130 if (len != 4) in dccp_parse_options()
159 if (len != 4 && len != 6 && len != 8) in dccp_parse_options()
168 len + 2, in dccp_parse_options()
174 if (len == 4) { /* no elapsed time included */ in dccp_parse_options()
179 if (len == 6) { /* 2-byte elapsed time */ in dccp_parse_options()
197 if (len == 2) { in dccp_parse_options()
200 } else if (len == 4) { in dccp_parse_options()
215 pkt_type, opt, value, len)) in dccp_parse_options()
230 pkt_type, opt, value, len)) in dccp_parse_options()
235 "implemented, ignoring", sk, opt, len); in dccp_parse_options()
255 DCCP_WARN("DCCP(%p): Option %d (len=%d) error=%u\n", sk, opt, len, rc); in dccp_parse_options()
258 DCCP_SKB_CB(skb)->dccpd_reset_data[1] = len > 0 ? value[0] : 0; in dccp_parse_options()
259 DCCP_SKB_CB(skb)->dccpd_reset_data[2] = len > 1 ? value[1] : 0; in dccp_parse_options()
265 void dccp_encode_value_var(const u64 value, u8 *to, const u8 len) in dccp_encode_value_var() argument
267 if (len >= DCCP_OPTVAL_MAXLEN) in dccp_encode_value_var()
269 if (len > 4) in dccp_encode_value_var()
271 if (len > 3) in dccp_encode_value_var()
273 if (len > 2) in dccp_encode_value_var()
275 if (len > 1) in dccp_encode_value_var()
277 if (len > 0) in dccp_encode_value_var()
289 const void *value, const unsigned char len) in dccp_insert_option() argument
293 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len + 2 > DCCP_MAX_OPT_LEN) in dccp_insert_option()
296 DCCP_SKB_CB(skb)->dccpd_opt_len += len + 2; in dccp_insert_option()
298 to = skb_push(skb, len + 2); in dccp_insert_option()
300 *to++ = len + 2; in dccp_insert_option()
302 memcpy(to, value, len); in dccp_insert_option()
321 const int len = ndp_len + 2; in dccp_insert_option_ndp() local
323 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) in dccp_insert_option_ndp()
326 DCCP_SKB_CB(skb)->dccpd_opt_len += len; in dccp_insert_option_ndp()
328 ptr = skb_push(skb, len); in dccp_insert_option_ndp()
330 *ptr++ = len; in dccp_insert_option_ndp()
357 u32 elapsed_time, elapsed_time_len, len; in dccp_insert_option_timestamp_echo() local
370 len = 6 + elapsed_time_len; in dccp_insert_option_timestamp_echo()
372 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) in dccp_insert_option_timestamp_echo()
375 DCCP_SKB_CB(skb)->dccpd_opt_len += len; in dccp_insert_option_timestamp_echo()
377 to = skb_push(skb, len); in dccp_insert_option_timestamp_echo()
379 *to++ = len; in dccp_insert_option_timestamp_echo()
403 u16 len = buflen + 2 * nr_opts; in dccp_insert_option_ackvec() local
408 if (dcb->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) { in dccp_insert_option_ackvec()
409 DCCP_WARN("Lacking space for %u bytes on %s packet\n", len, in dccp_insert_option_ackvec()
418 if (len > DCCPAV_MIN_OPTLEN && in dccp_insert_option_ackvec()
419 len + dcb->dccpd_opt_len + skb->len > dp->dccps_mss_cache) { in dccp_insert_option_ackvec()
421 "MPS=%u ==> reduce payload size?\n", len, skb->len, in dccp_insert_option_ackvec()
426 dcb->dccpd_opt_len += len; in dccp_insert_option_ackvec()
428 to = skb_push(skb, len); in dccp_insert_option_ackvec()
429 len = buflen; in dccp_insert_option_ackvec()
434 int copylen = len; in dccp_insert_option_ackvec()
436 if (len > DCCP_SINGLE_OPT_MAXLEN) in dccp_insert_option_ackvec()
454 len -= tailsize; in dccp_insert_option_ackvec()
462 len -= copylen; in dccp_insert_option_ackvec()
501 u8 *val, u8 len, bool repeat_first) in dccp_insert_fn_opt() argument
506 if (len > (DCCP_SINGLE_OPT_MAXLEN - 2)) { in dccp_insert_fn_opt()
507 DCCP_WARN("length %u for feature %u too large\n", len, feat); in dccp_insert_fn_opt()
511 if (unlikely(val == NULL || len == 0)) in dccp_insert_fn_opt()
512 len = repeat_first = false; in dccp_insert_fn_opt()
513 tot_len = 3 + repeat_first + len; in dccp_insert_fn_opt()
528 if (len) in dccp_insert_fn_opt()
529 memcpy(to, val, len); in dccp_insert_fn_opt()