• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/dccp/

Lines Matching refs:feat_num

133 	u8			feat_num;		/* DCCPF_xxx */
174 static int dccp_feat_index(u8 feat_num)
177 if (feat_num > DCCPF_RESERVED && feat_num <= DCCPF_DATA_CHECKSUM)
178 return feat_num - 1;
184 switch (feat_num) {
191 static u8 dccp_feat_type(u8 feat_num)
193 int idx = dccp_feat_index(feat_num);
200 static int dccp_feat_default_value(u8 feat_num)
202 int idx = dccp_feat_index(feat_num);
256 static void dccp_feat_printval(u8 feat_num, dccp_feat_val const *val)
258 u8 i, type = dccp_feat_type(feat_num);
271 static void dccp_feat_printvals(u8 feat_num, u8 *list, u8 len)
273 u8 type = dccp_feat_type(feat_num);
278 dccp_feat_printval(feat_num, &fval);
284 dccp_feat_fname(entry->feat_num));
285 dccp_feat_printval(entry->feat_num, &entry->val);
340 dccp_feat_fname(dccp_feat_table[idx].feat_num),
347 static inline int dccp_feat_must_be_understood(u8 feat_num)
349 return feat_num == DCCPF_CCID || feat_num == DCCPF_SHORT_SEQNOS ||
350 feat_num == DCCPF_SEQUENCE_WINDOW;
367 static void dccp_feat_val_destructor(u8 feat_num, dccp_feat_val *val)
371 if (dccp_feat_type(feat_num) == FEAT_SP)
380 u8 type = dccp_feat_type(original->feat_num);
401 dccp_feat_val_destructor(entry->feat_num, &entry->val);
410 * - each feat_num in the list is known, i.e. we know its type and default value
411 * - each feat_num/is_local combination is unique (old entries are overwritten)
416 u8 feat_num, bool is_local)
421 if (entry->feat_num == feat_num && entry->is_local == is_local)
423 else if (entry->feat_num > feat_num)
442 if (entry->feat_num == feat && entry->is_local == local) {
443 dccp_feat_val_destructor(entry->feat_num, &entry->val);
445 } else if (entry->feat_num > feat) {
452 entry->feat_num = feat;
463 * @local: whether local (1) or remote (0) @feat_num is meant
475 new->feat_num = feat;
490 * @local: whether local (1) or remote (0) @feat_num is being confirmed
502 new->feat_num = feat;
560 static u8 dccp_feat_valid_nn_length(u8 feat_num)
562 if (feat_num == DCCPF_ACK_RATIO) /* RFC 4340, 11.3 and 6.6.8 */
564 if (feat_num == DCCPF_SEQUENCE_WINDOW) /* RFC 4340, 7.5.2 and 6.5 */
569 static u8 dccp_feat_is_valid_nn_val(u8 feat_num, u64 val)
571 switch (feat_num) {
581 static u8 dccp_feat_is_valid_sp_val(u8 feat_num, u8 val)
583 switch (feat_num) {
600 static u8 dccp_feat_sp_list_ok(u8 feat_num, u8 const *sp_list, u8 sp_len)
605 if (!dccp_feat_is_valid_sp_val(feat_num, *sp_list++))
627 type = dccp_feat_type(pos->feat_num);
639 len = dccp_feat_valid_nn_length(pos->feat_num);
643 DCCP_BUG("unknown feature %u", pos->feat_num);
647 dccp_feat_print_opt(opt, pos->feat_num, ptr, len, 0);
649 if (dccp_insert_fn_opt(skb, opt, pos->feat_num, ptr, len, rpt))
896 if (entry->feat_num == DCCPF_CCID && entry->val.sp.len == 1)
1320 idx = dccp_feat_index(cur->feat_num);
1322 DCCP_BUG("Unknown feature %u", cur->feat_num);
1328 dccp_feat_fname(cur->feat_num),