Lines Matching refs:param
120 struct iscsi_param *param; in iscsi_print_params() local
122 list_for_each_entry(param, ¶m_list->param_list, p_list) in iscsi_print_params()
123 pr_debug("%s: %s\n", param->name, param->value); in iscsi_print_params()
130 struct iscsi_param *param = NULL; in iscsi_set_default_param() local
132 param = kzalloc(sizeof(struct iscsi_param), GFP_KERNEL); in iscsi_set_default_param()
133 if (!param) { in iscsi_set_default_param()
137 INIT_LIST_HEAD(¶m->p_list); in iscsi_set_default_param()
139 param->name = kstrdup(name, GFP_KERNEL); in iscsi_set_default_param()
140 if (!param->name) { in iscsi_set_default_param()
145 param->value = kstrdup(value, GFP_KERNEL); in iscsi_set_default_param()
146 if (!param->value) { in iscsi_set_default_param()
151 param->phase = phase; in iscsi_set_default_param()
152 param->scope = scope; in iscsi_set_default_param()
153 param->sender = sender; in iscsi_set_default_param()
154 param->use = use; in iscsi_set_default_param()
155 param->type_range = type_range; in iscsi_set_default_param()
157 switch (param->type_range) { in iscsi_set_default_param()
159 param->type = TYPE_BOOL_AND; in iscsi_set_default_param()
162 param->type = TYPE_BOOL_OR; in iscsi_set_default_param()
171 param->type = TYPE_NUMBER; in iscsi_set_default_param()
175 param->type = TYPE_VALUE_LIST | TYPE_STRING; in iscsi_set_default_param()
181 param->type = TYPE_STRING; in iscsi_set_default_param()
185 param->type_range); in iscsi_set_default_param()
188 list_add_tail(¶m->p_list, ¶m_list->param_list); in iscsi_set_default_param()
190 return param; in iscsi_set_default_param()
192 if (param) { in iscsi_set_default_param()
193 kfree(param->value); in iscsi_set_default_param()
194 kfree(param->name); in iscsi_set_default_param()
195 kfree(param); in iscsi_set_default_param()
204 struct iscsi_param *param = NULL; in iscsi_create_default_params() local
227 param = iscsi_set_default_param(pl, AUTHMETHOD, INITIAL_AUTHMETHOD, in iscsi_create_default_params()
230 if (!param) in iscsi_create_default_params()
233 param = iscsi_set_default_param(pl, HEADERDIGEST, INITIAL_HEADERDIGEST, in iscsi_create_default_params()
236 if (!param) in iscsi_create_default_params()
239 param = iscsi_set_default_param(pl, DATADIGEST, INITIAL_DATADIGEST, in iscsi_create_default_params()
242 if (!param) in iscsi_create_default_params()
245 param = iscsi_set_default_param(pl, MAXCONNECTIONS, in iscsi_create_default_params()
249 if (!param) in iscsi_create_default_params()
252 param = iscsi_set_default_param(pl, SENDTARGETS, INITIAL_SENDTARGETS, in iscsi_create_default_params()
255 if (!param) in iscsi_create_default_params()
258 param = iscsi_set_default_param(pl, TARGETNAME, INITIAL_TARGETNAME, in iscsi_create_default_params()
261 if (!param) in iscsi_create_default_params()
264 param = iscsi_set_default_param(pl, INITIATORNAME, in iscsi_create_default_params()
268 if (!param) in iscsi_create_default_params()
271 param = iscsi_set_default_param(pl, TARGETALIAS, INITIAL_TARGETALIAS, in iscsi_create_default_params()
274 if (!param) in iscsi_create_default_params()
277 param = iscsi_set_default_param(pl, INITIATORALIAS, in iscsi_create_default_params()
281 if (!param) in iscsi_create_default_params()
284 param = iscsi_set_default_param(pl, TARGETADDRESS, in iscsi_create_default_params()
288 if (!param) in iscsi_create_default_params()
291 param = iscsi_set_default_param(pl, TARGETPORTALGROUPTAG, in iscsi_create_default_params()
295 if (!param) in iscsi_create_default_params()
298 param = iscsi_set_default_param(pl, INITIALR2T, INITIAL_INITIALR2T, in iscsi_create_default_params()
301 if (!param) in iscsi_create_default_params()
304 param = iscsi_set_default_param(pl, IMMEDIATEDATA, in iscsi_create_default_params()
308 if (!param) in iscsi_create_default_params()
311 param = iscsi_set_default_param(pl, MAXXMITDATASEGMENTLENGTH, in iscsi_create_default_params()
315 if (!param) in iscsi_create_default_params()
318 param = iscsi_set_default_param(pl, MAXRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
322 if (!param) in iscsi_create_default_params()
325 param = iscsi_set_default_param(pl, MAXBURSTLENGTH, in iscsi_create_default_params()
329 if (!param) in iscsi_create_default_params()
332 param = iscsi_set_default_param(pl, FIRSTBURSTLENGTH, in iscsi_create_default_params()
336 if (!param) in iscsi_create_default_params()
339 param = iscsi_set_default_param(pl, DEFAULTTIME2WAIT, in iscsi_create_default_params()
343 if (!param) in iscsi_create_default_params()
346 param = iscsi_set_default_param(pl, DEFAULTTIME2RETAIN, in iscsi_create_default_params()
350 if (!param) in iscsi_create_default_params()
353 param = iscsi_set_default_param(pl, MAXOUTSTANDINGR2T, in iscsi_create_default_params()
357 if (!param) in iscsi_create_default_params()
360 param = iscsi_set_default_param(pl, DATAPDUINORDER, in iscsi_create_default_params()
364 if (!param) in iscsi_create_default_params()
367 param = iscsi_set_default_param(pl, DATASEQUENCEINORDER, in iscsi_create_default_params()
371 if (!param) in iscsi_create_default_params()
374 param = iscsi_set_default_param(pl, ERRORRECOVERYLEVEL, in iscsi_create_default_params()
378 if (!param) in iscsi_create_default_params()
381 param = iscsi_set_default_param(pl, SESSIONTYPE, INITIAL_SESSIONTYPE, in iscsi_create_default_params()
384 if (!param) in iscsi_create_default_params()
387 param = iscsi_set_default_param(pl, IFMARKER, INITIAL_IFMARKER, in iscsi_create_default_params()
390 if (!param) in iscsi_create_default_params()
393 param = iscsi_set_default_param(pl, OFMARKER, INITIAL_OFMARKER, in iscsi_create_default_params()
396 if (!param) in iscsi_create_default_params()
399 param = iscsi_set_default_param(pl, IFMARKINT, INITIAL_IFMARKINT, in iscsi_create_default_params()
402 if (!param) in iscsi_create_default_params()
405 param = iscsi_set_default_param(pl, OFMARKINT, INITIAL_OFMARKINT, in iscsi_create_default_params()
408 if (!param) in iscsi_create_default_params()
414 param = iscsi_set_default_param(pl, RDMAEXTENSIONS, INITIAL_RDMAEXTENSIONS, in iscsi_create_default_params()
417 if (!param) in iscsi_create_default_params()
420 param = iscsi_set_default_param(pl, INITIATORRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
424 if (!param) in iscsi_create_default_params()
427 param = iscsi_set_default_param(pl, TARGETRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
431 if (!param) in iscsi_create_default_params()
445 struct iscsi_param *param; in iscsi_set_keys_to_negotiate() local
449 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_keys_to_negotiate()
450 param->state = 0; in iscsi_set_keys_to_negotiate()
451 if (!strcmp(param->name, AUTHMETHOD)) { in iscsi_set_keys_to_negotiate()
452 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
453 } else if (!strcmp(param->name, HEADERDIGEST)) { in iscsi_set_keys_to_negotiate()
455 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
456 } else if (!strcmp(param->name, DATADIGEST)) { in iscsi_set_keys_to_negotiate()
458 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
459 } else if (!strcmp(param->name, MAXCONNECTIONS)) { in iscsi_set_keys_to_negotiate()
460 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
461 } else if (!strcmp(param->name, TARGETNAME)) { in iscsi_set_keys_to_negotiate()
463 } else if (!strcmp(param->name, INITIATORNAME)) { in iscsi_set_keys_to_negotiate()
465 } else if (!strcmp(param->name, TARGETALIAS)) { in iscsi_set_keys_to_negotiate()
466 if (param->value) in iscsi_set_keys_to_negotiate()
467 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
468 } else if (!strcmp(param->name, INITIATORALIAS)) { in iscsi_set_keys_to_negotiate()
470 } else if (!strcmp(param->name, TARGETPORTALGROUPTAG)) { in iscsi_set_keys_to_negotiate()
471 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
472 } else if (!strcmp(param->name, INITIALR2T)) { in iscsi_set_keys_to_negotiate()
473 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
474 } else if (!strcmp(param->name, IMMEDIATEDATA)) { in iscsi_set_keys_to_negotiate()
475 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
476 } else if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
478 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
479 } else if (!strcmp(param->name, MAXXMITDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
481 } else if (!strcmp(param->name, MAXBURSTLENGTH)) { in iscsi_set_keys_to_negotiate()
482 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
483 } else if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_set_keys_to_negotiate()
484 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
485 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_set_keys_to_negotiate()
486 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
487 } else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) { in iscsi_set_keys_to_negotiate()
488 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
489 } else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) { in iscsi_set_keys_to_negotiate()
490 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
491 } else if (!strcmp(param->name, DATAPDUINORDER)) { in iscsi_set_keys_to_negotiate()
492 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
493 } else if (!strcmp(param->name, DATASEQUENCEINORDER)) { in iscsi_set_keys_to_negotiate()
494 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
495 } else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_set_keys_to_negotiate()
496 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
497 } else if (!strcmp(param->name, SESSIONTYPE)) { in iscsi_set_keys_to_negotiate()
498 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
499 } else if (!strcmp(param->name, IFMARKER)) { in iscsi_set_keys_to_negotiate()
500 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
501 } else if (!strcmp(param->name, OFMARKER)) { in iscsi_set_keys_to_negotiate()
502 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
503 } else if (!strcmp(param->name, IFMARKINT)) { in iscsi_set_keys_to_negotiate()
504 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
505 } else if (!strcmp(param->name, OFMARKINT)) { in iscsi_set_keys_to_negotiate()
506 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
507 } else if (!strcmp(param->name, RDMAEXTENSIONS)) { in iscsi_set_keys_to_negotiate()
509 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
510 } else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
512 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
513 } else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
515 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
525 struct iscsi_param *param; in iscsi_set_keys_irrelevant_for_discovery() local
527 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_keys_irrelevant_for_discovery()
528 if (!strcmp(param->name, MAXCONNECTIONS)) in iscsi_set_keys_irrelevant_for_discovery()
529 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
530 else if (!strcmp(param->name, INITIALR2T)) in iscsi_set_keys_irrelevant_for_discovery()
531 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
532 else if (!strcmp(param->name, IMMEDIATEDATA)) in iscsi_set_keys_irrelevant_for_discovery()
533 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
534 else if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
535 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
536 else if (!strcmp(param->name, FIRSTBURSTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
537 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
538 else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) in iscsi_set_keys_irrelevant_for_discovery()
539 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
540 else if (!strcmp(param->name, DATAPDUINORDER)) in iscsi_set_keys_irrelevant_for_discovery()
541 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
542 else if (!strcmp(param->name, DATASEQUENCEINORDER)) in iscsi_set_keys_irrelevant_for_discovery()
543 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
544 else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) in iscsi_set_keys_irrelevant_for_discovery()
545 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
546 else if (!strcmp(param->name, DEFAULTTIME2WAIT)) in iscsi_set_keys_irrelevant_for_discovery()
547 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
548 else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) in iscsi_set_keys_irrelevant_for_discovery()
549 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
550 else if (!strcmp(param->name, IFMARKER)) in iscsi_set_keys_irrelevant_for_discovery()
551 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
552 else if (!strcmp(param->name, OFMARKER)) in iscsi_set_keys_irrelevant_for_discovery()
553 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
554 else if (!strcmp(param->name, IFMARKINT)) in iscsi_set_keys_irrelevant_for_discovery()
555 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
556 else if (!strcmp(param->name, OFMARKINT)) in iscsi_set_keys_irrelevant_for_discovery()
557 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
558 else if (!strcmp(param->name, RDMAEXTENSIONS)) in iscsi_set_keys_irrelevant_for_discovery()
559 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
560 else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
561 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
562 else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
563 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
574 struct iscsi_param *param = NULL; in iscsi_copy_param_list() local
586 list_for_each_entry(param, &src_param_list->param_list, p_list) { in iscsi_copy_param_list()
587 if (!leading && (param->scope & SCOPE_SESSION_WIDE)) { in iscsi_copy_param_list()
588 if ((strcmp(param->name, "TargetName") != 0) && in iscsi_copy_param_list()
589 (strcmp(param->name, "InitiatorName") != 0) && in iscsi_copy_param_list()
590 (strcmp(param->name, "TargetPortalGroupTag") != 0)) in iscsi_copy_param_list()
600 new_param->name = kstrdup(param->name, GFP_KERNEL); in iscsi_copy_param_list()
601 new_param->value = kstrdup(param->value, GFP_KERNEL); in iscsi_copy_param_list()
610 new_param->set_param = param->set_param; in iscsi_copy_param_list()
611 new_param->phase = param->phase; in iscsi_copy_param_list()
612 new_param->scope = param->scope; in iscsi_copy_param_list()
613 new_param->sender = param->sender; in iscsi_copy_param_list()
614 new_param->type = param->type; in iscsi_copy_param_list()
615 new_param->use = param->use; in iscsi_copy_param_list()
616 new_param->type_range = param->type_range; in iscsi_copy_param_list()
648 struct iscsi_param *param, *param_tmp; in iscsi_release_param_list() local
650 list_for_each_entry_safe(param, param_tmp, ¶m_list->param_list, in iscsi_release_param_list()
652 list_del(¶m->p_list); in iscsi_release_param_list()
654 kfree(param->name); in iscsi_release_param_list()
655 kfree(param->value); in iscsi_release_param_list()
656 kfree(param); in iscsi_release_param_list()
668 struct iscsi_param *param; in iscsi_find_param_from_key() local
675 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_find_param_from_key()
676 if (!strcmp(key, param->name)) in iscsi_find_param_from_key()
677 return param; in iscsi_find_param_from_key()
700 int iscsi_update_param_value(struct iscsi_param *param, char *value) in iscsi_update_param_value() argument
702 kfree(param->value); in iscsi_update_param_value()
704 param->value = kstrdup(value, GFP_KERNEL); in iscsi_update_param_value()
705 if (!param->value) { in iscsi_update_param_value()
711 param->name, param->value); in iscsi_update_param_value()
767 static void iscsi_check_proposer_for_optional_reply(struct iscsi_param *param) in iscsi_check_proposer_for_optional_reply() argument
769 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_proposer_for_optional_reply()
770 if (!strcmp(param->value, NO)) in iscsi_check_proposer_for_optional_reply()
771 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
772 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_proposer_for_optional_reply()
773 if (!strcmp(param->value, YES)) in iscsi_check_proposer_for_optional_reply()
774 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
778 if (!strcmp(param->name, IMMEDIATEDATA)) in iscsi_check_proposer_for_optional_reply()
779 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
780 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_proposer_for_optional_reply()
781 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) in iscsi_check_proposer_for_optional_reply()
782 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
791 if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_check_proposer_for_optional_reply()
792 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
793 if (!strcmp(param->name, FIRSTBURSTLENGTH)) in iscsi_check_proposer_for_optional_reply()
794 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
795 if (!strcmp(param->name, DEFAULTTIME2WAIT)) in iscsi_check_proposer_for_optional_reply()
796 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
797 if (!strcmp(param->name, DEFAULTTIME2RETAIN)) in iscsi_check_proposer_for_optional_reply()
798 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
802 if (!strcmp(param->name, MAXCONNECTIONS)) in iscsi_check_proposer_for_optional_reply()
803 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
804 } else if (IS_PHASE_DECLARATIVE(param)) in iscsi_check_proposer_for_optional_reply()
805 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
808 static int iscsi_check_boolean_value(struct iscsi_param *param, char *value) in iscsi_check_boolean_value() argument
812 " \"%s\" or \"%s\".\n", param->name, YES, NO); in iscsi_check_boolean_value()
819 static int iscsi_check_numerical_value(struct iscsi_param *param, char *value_ptr) in iscsi_check_numerical_value() argument
826 if (IS_TYPERANGE_0_TO_2(param)) { in iscsi_check_numerical_value()
829 " between 0 and 2.\n", param->name); in iscsi_check_numerical_value()
834 if (IS_TYPERANGE_0_TO_3600(param)) { in iscsi_check_numerical_value()
837 " between 0 and 3600.\n", param->name); in iscsi_check_numerical_value()
842 if (IS_TYPERANGE_0_TO_32767(param)) { in iscsi_check_numerical_value()
845 " between 0 and 32767.\n", param->name); in iscsi_check_numerical_value()
850 if (IS_TYPERANGE_0_TO_65535(param)) { in iscsi_check_numerical_value()
853 " between 0 and 65535.\n", param->name); in iscsi_check_numerical_value()
858 if (IS_TYPERANGE_1_TO_65535(param)) { in iscsi_check_numerical_value()
861 " between 1 and 65535.\n", param->name); in iscsi_check_numerical_value()
866 if (IS_TYPERANGE_2_TO_3600(param)) { in iscsi_check_numerical_value()
869 " between 2 and 3600.\n", param->name); in iscsi_check_numerical_value()
874 if (IS_TYPERANGE_512_TO_16777215(param)) { in iscsi_check_numerical_value()
877 " between 512 and 16777215.\n", param->name); in iscsi_check_numerical_value()
886 static int iscsi_check_string_or_list_value(struct iscsi_param *param, char *value) in iscsi_check_string_or_list_value() argument
888 if (IS_PSTATE_PROPOSER(param)) in iscsi_check_string_or_list_value()
891 if (IS_TYPERANGE_AUTH_PARAM(param)) { in iscsi_check_string_or_list_value()
897 " or \"%s\".\n", param->name, KRB5, in iscsi_check_string_or_list_value()
902 if (IS_TYPERANGE_DIGEST_PARAM(param)) { in iscsi_check_string_or_list_value()
905 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
910 if (IS_TYPERANGE_SESSIONTYPE(param)) { in iscsi_check_string_or_list_value()
913 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
923 struct iscsi_param *param, in iscsi_check_valuelist_for_support() argument
929 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
938 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
967 static int iscsi_check_acceptor_state(struct iscsi_param *param, char *value, in iscsi_check_acceptor_state() argument
973 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_acceptor_state()
975 param->name); in iscsi_check_acceptor_state()
979 if (IS_PSTATE_REJECT(param)) in iscsi_check_acceptor_state()
982 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_acceptor_state()
985 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
990 if (iscsi_update_param_value(param, NO) < 0) in iscsi_check_acceptor_state()
993 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
995 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_acceptor_state()
998 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
1001 if (iscsi_update_param_value(param, YES) < 0) in iscsi_check_acceptor_state()
1004 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
1006 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_acceptor_state()
1008 u32 acceptor_value = simple_strtoul(param->value, &tmpptr, 0); in iscsi_check_acceptor_state()
1013 if (!strcmp(param->name, MAXCONNECTIONS) || in iscsi_check_acceptor_state()
1014 !strcmp(param->name, MAXBURSTLENGTH) || in iscsi_check_acceptor_state()
1015 !strcmp(param->name, FIRSTBURSTLENGTH) || in iscsi_check_acceptor_state()
1016 !strcmp(param->name, MAXOUTSTANDINGR2T) || in iscsi_check_acceptor_state()
1017 !strcmp(param->name, DEFAULTTIME2RETAIN) || in iscsi_check_acceptor_state()
1018 !strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_check_acceptor_state()
1021 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1025 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1028 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_check_acceptor_state()
1031 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1035 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1039 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1043 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_check_acceptor_state()
1048 rc = kstrtoull(param->value, 0, &tmp); in iscsi_check_acceptor_state()
1063 rc = iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1069 param->name, param->value); in iscsi_check_acceptor_state()
1071 } else if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_acceptor_state()
1073 param, value); in iscsi_check_acceptor_state()
1077 " \"%s\".\n", value, param->value); in iscsi_check_acceptor_state()
1080 if (iscsi_update_param_value(param, negotiated_value) < 0) in iscsi_check_acceptor_state()
1082 } else if (IS_PHASE_DECLARATIVE(param)) { in iscsi_check_acceptor_state()
1083 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1085 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
1091 static int iscsi_check_proposer_state(struct iscsi_param *param, char *value) in iscsi_check_proposer_state() argument
1093 if (IS_PSTATE_RESPONSE_GOT(param)) { in iscsi_check_proposer_state()
1095 param->name); in iscsi_check_proposer_state()
1099 if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_proposer_state()
1105 param->name); in iscsi_check_proposer_state()
1109 tmp_ptr = iscsi_check_valuelist_for_support(param, value); in iscsi_check_proposer_state()
1114 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_proposer_state()
1120 static int iscsi_check_value(struct iscsi_param *param, char *value) in iscsi_check_value() argument
1125 if (!strcmp(param->name, IFMARKINT) || in iscsi_check_value()
1126 !strcmp(param->name, OFMARKINT)) { in iscsi_check_value()
1131 SET_PSTATE_REJECT(param); in iscsi_check_value()
1134 pr_err("Received %s=%s\n", param->name, value); in iscsi_check_value()
1138 pr_debug("Received %s=%s\n", param->name, value); in iscsi_check_value()
1139 SET_PSTATE_IRRELEVANT(param); in iscsi_check_value()
1143 if (!IS_PSTATE_PROPOSER(param)) { in iscsi_check_value()
1145 param->name, value); in iscsi_check_value()
1151 " with \"%s\", protocol error.\n", param->name, value); in iscsi_check_value()
1159 if (comma_ptr && !IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1162 " protocol error.\n", param->name); in iscsi_check_value()
1170 " protocol error.\n", param->name, in iscsi_check_value()
1175 if (IS_TYPE_BOOL_AND(param) || IS_TYPE_BOOL_OR(param)) { in iscsi_check_value()
1176 if (iscsi_check_boolean_value(param, value) < 0) in iscsi_check_value()
1178 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_value()
1179 if (iscsi_check_numerical_value(param, value) < 0) in iscsi_check_value()
1181 } else if (IS_TYPE_STRING(param) || IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1182 if (iscsi_check_string_or_list_value(param, value) < 0) in iscsi_check_value()
1185 pr_err("Huh? 0x%02x\n", param->type); in iscsi_check_value()
1203 struct iscsi_param *param; in __iscsi_check_key() local
1211 param = iscsi_find_param_from_key(key, param_list); in __iscsi_check_key()
1212 if (!param) in __iscsi_check_key()
1215 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in __iscsi_check_key()
1217 " protocol error.\n", param->name, in __iscsi_check_key()
1222 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in __iscsi_check_key()
1224 " protocol error.\n", param->name, in __iscsi_check_key()
1229 return param; in __iscsi_check_key()
1238 struct iscsi_param *param; in iscsi_check_key() local
1248 param = iscsi_find_param_from_key(key, param_list); in iscsi_check_key()
1249 if (!param) in iscsi_check_key()
1252 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in iscsi_check_key()
1254 " protocol error.\n", param->name, in iscsi_check_key()
1258 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in iscsi_check_key()
1260 " protocol error.\n", param->name, in iscsi_check_key()
1265 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_key()
1272 return param; in iscsi_check_key()
1274 if (!(param->phase & phase)) { in iscsi_check_key()
1276 param->name); in iscsi_check_key()
1290 return param; in iscsi_check_key()
1301 struct iscsi_param *param = NULL; in iscsi_enforce_integrity_rules() local
1303 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1304 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1306 if (!strcmp(param->name, SESSIONTYPE)) in iscsi_enforce_integrity_rules()
1307 if (!strcmp(param->value, NORMAL)) in iscsi_enforce_integrity_rules()
1309 if (!strcmp(param->name, ERRORRECOVERYLEVEL)) in iscsi_enforce_integrity_rules()
1310 ErrorRecoveryLevel = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1312 if (!strcmp(param->name, DATASEQUENCEINORDER)) in iscsi_enforce_integrity_rules()
1313 if (!strcmp(param->value, YES)) in iscsi_enforce_integrity_rules()
1315 if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_enforce_integrity_rules()
1316 MaxBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1320 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1321 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1323 if (!SessionType && !IS_PSTATE_ACCEPTOR(param)) in iscsi_enforce_integrity_rules()
1325 if (!strcmp(param->name, MAXOUTSTANDINGR2T) && in iscsi_enforce_integrity_rules()
1327 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1328 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1331 param->name, param->value); in iscsi_enforce_integrity_rules()
1334 if (!strcmp(param->name, MAXCONNECTIONS) && !SessionType) { in iscsi_enforce_integrity_rules()
1335 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1336 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1339 param->name, param->value); in iscsi_enforce_integrity_rules()
1342 if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_enforce_integrity_rules()
1343 FirstBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1349 if (iscsi_update_param_value(param, tmpbuf)) in iscsi_enforce_integrity_rules()
1352 param->name, param->value); in iscsi_enforce_integrity_rules()
1383 struct iscsi_param *param; in iscsi_decode_text_input() local
1399 param = iscsi_check_key(key, phase, sender, param_list); in iscsi_decode_text_input()
1400 if (!param) { in iscsi_decode_text_input()
1409 if (iscsi_check_value(param, value) < 0) { in iscsi_decode_text_input()
1416 if (IS_PSTATE_PROPOSER(param)) { in iscsi_decode_text_input()
1417 if (iscsi_check_proposer_state(param, value) < 0) { in iscsi_decode_text_input()
1421 SET_PSTATE_RESPONSE_GOT(param); in iscsi_decode_text_input()
1423 if (iscsi_check_acceptor_state(param, value, conn) < 0) { in iscsi_decode_text_input()
1427 SET_PSTATE_ACCEPTOR(param); in iscsi_decode_text_input()
1444 struct iscsi_param *param; in iscsi_encode_text_output() local
1451 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_encode_text_output()
1452 if (!(param->sender & sender)) in iscsi_encode_text_output()
1454 if (IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1455 !IS_PSTATE_RESPONSE_SENT(param) && in iscsi_encode_text_output()
1456 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_encode_text_output()
1457 (param->phase & phase)) { in iscsi_encode_text_output()
1459 param->name, param->value); in iscsi_encode_text_output()
1462 SET_PSTATE_RESPONSE_SENT(param); in iscsi_encode_text_output()
1464 param->name, param->value); in iscsi_encode_text_output()
1467 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_encode_text_output()
1468 !IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1469 !IS_PSTATE_PROPOSER(param) && in iscsi_encode_text_output()
1470 (param->phase & phase)) { in iscsi_encode_text_output()
1472 param->name, param->value); in iscsi_encode_text_output()
1475 SET_PSTATE_PROPOSER(param); in iscsi_encode_text_output()
1476 iscsi_check_proposer_for_optional_reply(param); in iscsi_encode_text_output()
1478 param->name, param->value); in iscsi_encode_text_output()
1496 struct iscsi_param *param; in iscsi_check_negotiated_keys() local
1498 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_check_negotiated_keys()
1499 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_check_negotiated_keys()
1500 IS_PSTATE_PROPOSER(param) && in iscsi_check_negotiated_keys()
1501 !IS_PSTATE_RESPONSE_GOT(param) && in iscsi_check_negotiated_keys()
1502 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_check_negotiated_keys()
1503 !IS_PHASE_DECLARATIVE(param)) { in iscsi_check_negotiated_keys()
1505 param->name); in iscsi_check_negotiated_keys()
1519 struct iscsi_param *param; in iscsi_change_param_value() local
1526 param = __iscsi_check_key(keyvalue, sender, param_list); in iscsi_change_param_value()
1527 if (!param) in iscsi_change_param_value()
1530 param = iscsi_check_key(keyvalue, 0, sender, param_list); in iscsi_change_param_value()
1531 if (!param) in iscsi_change_param_value()
1534 param->set_param = 1; in iscsi_change_param_value()
1535 if (iscsi_check_value(param, value) < 0) { in iscsi_change_param_value()
1536 param->set_param = 0; in iscsi_change_param_value()
1539 param->set_param = 0; in iscsi_change_param_value()
1542 if (iscsi_update_param_value(param, value) < 0) in iscsi_change_param_value()
1553 struct iscsi_param *param; in iscsi_set_connection_parameters() local
1557 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_connection_parameters()
1563 if (!strcmp(param->name, MAXXMITDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1565 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1567 param->value); in iscsi_set_connection_parameters()
1570 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_connection_parameters()
1572 if (!strcmp(param->name, AUTHMETHOD)) { in iscsi_set_connection_parameters()
1574 param->value); in iscsi_set_connection_parameters()
1575 } else if (!strcmp(param->name, HEADERDIGEST)) { in iscsi_set_connection_parameters()
1576 ops->HeaderDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1578 param->value); in iscsi_set_connection_parameters()
1579 } else if (!strcmp(param->name, DATADIGEST)) { in iscsi_set_connection_parameters()
1580 ops->DataDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1582 param->value); in iscsi_set_connection_parameters()
1583 } else if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1591 } else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1593 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1595 param->value); in iscsi_set_connection_parameters()
1599 } else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1601 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1603 param->value); in iscsi_set_connection_parameters()
1619 struct iscsi_param *param; in iscsi_set_session_parameters() local
1623 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_session_parameters()
1624 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_session_parameters()
1626 if (!strcmp(param->name, INITIATORNAME)) { in iscsi_set_session_parameters()
1627 if (!param->value) in iscsi_set_session_parameters()
1632 "%s", param->value); in iscsi_set_session_parameters()
1634 param->value); in iscsi_set_session_parameters()
1635 } else if (!strcmp(param->name, INITIATORALIAS)) { in iscsi_set_session_parameters()
1636 if (!param->value) in iscsi_set_session_parameters()
1640 "%s", param->value); in iscsi_set_session_parameters()
1642 param->value); in iscsi_set_session_parameters()
1643 } else if (!strcmp(param->name, TARGETNAME)) { in iscsi_set_session_parameters()
1644 if (!param->value) in iscsi_set_session_parameters()
1649 "%s", param->value); in iscsi_set_session_parameters()
1651 param->value); in iscsi_set_session_parameters()
1652 } else if (!strcmp(param->name, TARGETALIAS)) { in iscsi_set_session_parameters()
1653 if (!param->value) in iscsi_set_session_parameters()
1656 "%s", param->value); in iscsi_set_session_parameters()
1658 param->value); in iscsi_set_session_parameters()
1659 } else if (!strcmp(param->name, TARGETPORTALGROUPTAG)) { in iscsi_set_session_parameters()
1661 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1663 param->value); in iscsi_set_session_parameters()
1664 } else if (!strcmp(param->name, MAXCONNECTIONS)) { in iscsi_set_session_parameters()
1666 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1668 param->value); in iscsi_set_session_parameters()
1669 } else if (!strcmp(param->name, INITIALR2T)) { in iscsi_set_session_parameters()
1670 ops->InitialR2T = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1672 param->value); in iscsi_set_session_parameters()
1673 } else if (!strcmp(param->name, IMMEDIATEDATA)) { in iscsi_set_session_parameters()
1674 ops->ImmediateData = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1676 param->value); in iscsi_set_session_parameters()
1677 } else if (!strcmp(param->name, MAXBURSTLENGTH)) { in iscsi_set_session_parameters()
1679 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1681 param->value); in iscsi_set_session_parameters()
1682 } else if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_set_session_parameters()
1684 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1686 param->value); in iscsi_set_session_parameters()
1687 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_set_session_parameters()
1689 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1691 param->value); in iscsi_set_session_parameters()
1692 } else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) { in iscsi_set_session_parameters()
1694 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1696 param->value); in iscsi_set_session_parameters()
1697 } else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) { in iscsi_set_session_parameters()
1699 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1701 param->value); in iscsi_set_session_parameters()
1702 } else if (!strcmp(param->name, DATAPDUINORDER)) { in iscsi_set_session_parameters()
1703 ops->DataPDUInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1705 param->value); in iscsi_set_session_parameters()
1706 } else if (!strcmp(param->name, DATASEQUENCEINORDER)) { in iscsi_set_session_parameters()
1707 ops->DataSequenceInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1709 param->value); in iscsi_set_session_parameters()
1710 } else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_set_session_parameters()
1712 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1714 param->value); in iscsi_set_session_parameters()
1715 } else if (!strcmp(param->name, SESSIONTYPE)) { in iscsi_set_session_parameters()
1716 ops->SessionType = !strcmp(param->value, DISCOVERY); in iscsi_set_session_parameters()
1718 param->value); in iscsi_set_session_parameters()
1719 } else if (!strcmp(param->name, RDMAEXTENSIONS)) { in iscsi_set_session_parameters()
1720 ops->RDMAExtensions = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1722 param->value); in iscsi_set_session_parameters()