Lines Matching refs:feat_num
129 u8 feat_num; /* DCCPF_xxx */ member
170 static int dccp_feat_index(u8 feat_num) in dccp_feat_index() argument
173 if (feat_num > DCCPF_RESERVED && feat_num <= DCCPF_DATA_CHECKSUM) in dccp_feat_index()
174 return feat_num - 1; in dccp_feat_index()
180 switch (feat_num) { in dccp_feat_index()
187 static u8 dccp_feat_type(u8 feat_num) in dccp_feat_type() argument
189 int idx = dccp_feat_index(feat_num); in dccp_feat_type()
196 static int dccp_feat_default_value(u8 feat_num) in dccp_feat_default_value() argument
198 int idx = dccp_feat_index(feat_num); in dccp_feat_default_value()
252 static void dccp_feat_printval(u8 feat_num, dccp_feat_val const *val) in dccp_feat_printval() argument
254 u8 i, type = dccp_feat_type(feat_num); in dccp_feat_printval()
267 static void dccp_feat_printvals(u8 feat_num, u8 *list, u8 len) in dccp_feat_printvals() argument
269 u8 type = dccp_feat_type(feat_num); in dccp_feat_printvals()
274 dccp_feat_printval(feat_num, &fval); in dccp_feat_printvals()
280 dccp_feat_fname(entry->feat_num)); in dccp_feat_print_entry()
281 dccp_feat_printval(entry->feat_num, &entry->val); in dccp_feat_print_entry()
336 dccp_feat_fname(dccp_feat_table[idx].feat_num), in __dccp_feat_activate()
351 static int dccp_feat_activate(struct sock *sk, u8 feat_num, bool local, in dccp_feat_activate() argument
354 return __dccp_feat_activate(sk, dccp_feat_index(feat_num), local, fval); in dccp_feat_activate()
358 static inline int dccp_feat_must_be_understood(u8 feat_num) in dccp_feat_must_be_understood() argument
360 return feat_num == DCCPF_CCID || feat_num == DCCPF_SHORT_SEQNOS || in dccp_feat_must_be_understood()
361 feat_num == DCCPF_SEQUENCE_WINDOW; in dccp_feat_must_be_understood()
378 static void dccp_feat_val_destructor(u8 feat_num, dccp_feat_val *val) in dccp_feat_val_destructor() argument
382 if (dccp_feat_type(feat_num) == FEAT_SP) in dccp_feat_val_destructor()
391 u8 type = dccp_feat_type(original->feat_num); in dccp_feat_clone_entry()
412 dccp_feat_val_destructor(entry->feat_num, &entry->val); in dccp_feat_entry_destructor()
427 u8 feat_num, bool is_local) in dccp_feat_list_lookup() argument
432 if (entry->feat_num == feat_num && entry->is_local == is_local) in dccp_feat_list_lookup()
434 else if (entry->feat_num > feat_num) in dccp_feat_list_lookup()
454 if (entry->feat_num == feat && entry->is_local == local) { in dccp_feat_entry_new()
455 dccp_feat_val_destructor(entry->feat_num, &entry->val); in dccp_feat_entry_new()
457 } else if (entry->feat_num > feat) { in dccp_feat_entry_new()
464 entry->feat_num = feat; in dccp_feat_entry_new()
487 new->feat_num = feat; in dccp_feat_push_change()
515 new->feat_num = feat; in dccp_feat_push_confirm()
573 static u8 dccp_feat_valid_nn_length(u8 feat_num) in dccp_feat_valid_nn_length() argument
575 if (feat_num == DCCPF_ACK_RATIO) /* RFC 4340, 11.3 and 6.6.8 */ in dccp_feat_valid_nn_length()
577 if (feat_num == DCCPF_SEQUENCE_WINDOW) /* RFC 4340, 7.5.2 and 6.5 */ in dccp_feat_valid_nn_length()
582 static u8 dccp_feat_is_valid_nn_val(u8 feat_num, u64 val) in dccp_feat_is_valid_nn_val() argument
584 switch (feat_num) { in dccp_feat_is_valid_nn_val()
594 static u8 dccp_feat_is_valid_sp_val(u8 feat_num, u8 val) in dccp_feat_is_valid_sp_val() argument
596 switch (feat_num) { in dccp_feat_is_valid_sp_val()
613 static u8 dccp_feat_sp_list_ok(u8 feat_num, u8 const *sp_list, u8 sp_len) in dccp_feat_sp_list_ok() argument
618 if (!dccp_feat_is_valid_sp_val(feat_num, *sp_list++)) in dccp_feat_sp_list_ok()
640 type = dccp_feat_type(pos->feat_num); in dccp_feat_insert_opts()
652 len = dccp_feat_valid_nn_length(pos->feat_num); in dccp_feat_insert_opts()
656 DCCP_BUG("unknown feature %u", pos->feat_num); in dccp_feat_insert_opts()
660 dccp_feat_print_opt(opt, pos->feat_num, ptr, len, 0); in dccp_feat_insert_opts()
662 if (dccp_insert_fn_opt(skb, opt, pos->feat_num, ptr, len, rpt)) in dccp_feat_insert_opts()
984 if (entry->feat_num == DCCPF_CCID && entry->val.sp.len == 1) in dccp_feat_finalise_settings()
1515 idx = dccp_feat_index(cur->feat_num); in dccp_feat_activate_values()
1517 DCCP_BUG("Unknown feature %u", cur->feat_num); in dccp_feat_activate_values()
1523 dccp_feat_fname(cur->feat_num), in dccp_feat_activate_values()