Lines Matching refs:len

26 u64 dccp_decode_value_var(const u8 *bf, const u8 len)  in dccp_decode_value_var()  argument
30 if (len >= DCCP_OPTVAL_MAXLEN) in dccp_decode_value_var()
32 if (len > 4) in dccp_decode_value_var()
34 if (len > 3) in dccp_decode_value_var()
36 if (len > 2) in dccp_decode_value_var()
38 if (len > 1) in dccp_decode_value_var()
40 if (len > 0) in dccp_decode_value_var()
62 unsigned char opt, len; in dccp_parse_options() local
71 opt = len = 0; in dccp_parse_options()
74 len = 0; in dccp_parse_options()
82 len = *opt_ptr++; in dccp_parse_options()
83 if (len < 2) in dccp_parse_options()
89 len -= 2; in dccp_parse_options()
91 opt_ptr += len; in dccp_parse_options()
116 if (len > 6) in dccp_parse_options()
119 opt_recv->dccpor_ndp = dccp_decode_value_var(value, len); in dccp_parse_options()
126 if (len == 0) in dccp_parse_options()
129 *value, value + 1, len - 1); in dccp_parse_options()
134 if (len != 4) in dccp_parse_options()
163 if (len != 4 && len != 6 && len != 8) in dccp_parse_options()
172 len + 2, in dccp_parse_options()
178 if (len == 4) { /* no elapsed time included */ in dccp_parse_options()
183 if (len == 6) { /* 2-byte elapsed time */ in dccp_parse_options()
201 if (len == 2) { in dccp_parse_options()
204 } else if (len == 4) { in dccp_parse_options()
219 pkt_type, opt, value, len)) in dccp_parse_options()
234 pkt_type, opt, value, len)) in dccp_parse_options()
239 "implemented, ignoring", sk, opt, len); in dccp_parse_options()
259 DCCP_WARN("DCCP(%p): Option %d (len=%d) error=%u\n", sk, opt, len, rc); in dccp_parse_options()
262 DCCP_SKB_CB(skb)->dccpd_reset_data[1] = len > 0 ? value[0] : 0; in dccp_parse_options()
263 DCCP_SKB_CB(skb)->dccpd_reset_data[2] = len > 1 ? value[1] : 0; in dccp_parse_options()
269 void dccp_encode_value_var(const u64 value, u8 *to, const u8 len) in dccp_encode_value_var() argument
271 if (len >= DCCP_OPTVAL_MAXLEN) in dccp_encode_value_var()
273 if (len > 4) in dccp_encode_value_var()
275 if (len > 3) in dccp_encode_value_var()
277 if (len > 2) in dccp_encode_value_var()
279 if (len > 1) in dccp_encode_value_var()
281 if (len > 0) in dccp_encode_value_var()
293 const void *value, const unsigned char len) in dccp_insert_option() argument
297 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len + 2 > DCCP_MAX_OPT_LEN) in dccp_insert_option()
300 DCCP_SKB_CB(skb)->dccpd_opt_len += len + 2; in dccp_insert_option()
302 to = skb_push(skb, len + 2); in dccp_insert_option()
304 *to++ = len + 2; in dccp_insert_option()
306 memcpy(to, value, len); in dccp_insert_option()
325 const int len = ndp_len + 2; in dccp_insert_option_ndp() local
327 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) in dccp_insert_option_ndp()
330 DCCP_SKB_CB(skb)->dccpd_opt_len += len; in dccp_insert_option_ndp()
332 ptr = skb_push(skb, len); in dccp_insert_option_ndp()
334 *ptr++ = len; in dccp_insert_option_ndp()
361 u32 elapsed_time, elapsed_time_len, len; in dccp_insert_option_timestamp_echo() local
374 len = 6 + elapsed_time_len; in dccp_insert_option_timestamp_echo()
376 if (DCCP_SKB_CB(skb)->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) in dccp_insert_option_timestamp_echo()
379 DCCP_SKB_CB(skb)->dccpd_opt_len += len; in dccp_insert_option_timestamp_echo()
381 to = skb_push(skb, len); in dccp_insert_option_timestamp_echo()
383 *to++ = len; in dccp_insert_option_timestamp_echo()
407 u16 len = buflen + 2 * nr_opts; in dccp_insert_option_ackvec() local
412 if (dcb->dccpd_opt_len + len > DCCP_MAX_OPT_LEN) { in dccp_insert_option_ackvec()
413 DCCP_WARN("Lacking space for %u bytes on %s packet\n", len, in dccp_insert_option_ackvec()
422 if (len > DCCPAV_MIN_OPTLEN && in dccp_insert_option_ackvec()
423 len + dcb->dccpd_opt_len + skb->len > dp->dccps_mss_cache) { in dccp_insert_option_ackvec()
425 "MPS=%u ==> reduce payload size?\n", len, skb->len, in dccp_insert_option_ackvec()
430 dcb->dccpd_opt_len += len; in dccp_insert_option_ackvec()
432 to = skb_push(skb, len); in dccp_insert_option_ackvec()
433 len = buflen; in dccp_insert_option_ackvec()
438 int copylen = len; in dccp_insert_option_ackvec()
440 if (len > DCCP_SINGLE_OPT_MAXLEN) in dccp_insert_option_ackvec()
458 len -= tailsize; in dccp_insert_option_ackvec()
466 len -= copylen; in dccp_insert_option_ackvec()
505 u8 *val, u8 len, bool repeat_first) in dccp_insert_fn_opt() argument
510 if (len > (DCCP_SINGLE_OPT_MAXLEN - 2)) { in dccp_insert_fn_opt()
511 DCCP_WARN("length %u for feature %u too large\n", len, feat); in dccp_insert_fn_opt()
515 if (unlikely(val == NULL || len == 0)) in dccp_insert_fn_opt()
516 len = repeat_first = false; in dccp_insert_fn_opt()
517 tot_len = 3 + repeat_first + len; in dccp_insert_fn_opt()
532 if (len) in dccp_insert_fn_opt()
533 memcpy(to, val, len); in dccp_insert_fn_opt()