Lines Matching refs:param

120 	struct iscsi_param *param;  in iscsi_print_params()  local
122 list_for_each_entry(param, &param_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(&param->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(&param->p_list, &param_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, &param_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, &param_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, &param_list->param_list, in iscsi_release_param_list()
652 list_del(&param->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, &param_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()
701 int iscsi_update_param_value(struct iscsi_param *param, char *value) in iscsi_update_param_value() argument
703 kfree(param->value); in iscsi_update_param_value()
705 param->value = kstrdup(value, GFP_KERNEL); in iscsi_update_param_value()
706 if (!param->value) { in iscsi_update_param_value()
712 param->name, param->value); in iscsi_update_param_value()
768 static void iscsi_check_proposer_for_optional_reply(struct iscsi_param *param, in iscsi_check_proposer_for_optional_reply() argument
771 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_proposer_for_optional_reply()
772 if (!strcmp(param->value, NO)) in iscsi_check_proposer_for_optional_reply()
773 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
774 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_proposer_for_optional_reply()
775 if (!strcmp(param->value, YES)) in iscsi_check_proposer_for_optional_reply()
776 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
782 if (!strcmp(param->name, IMMEDIATEDATA)) in iscsi_check_proposer_for_optional_reply()
783 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
785 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_proposer_for_optional_reply()
786 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) in iscsi_check_proposer_for_optional_reply()
787 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()
799 if (!strcmp(param->name, MAXCONNECTIONS)) in iscsi_check_proposer_for_optional_reply()
800 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
802 } else if (IS_PHASE_DECLARATIVE(param)) in iscsi_check_proposer_for_optional_reply()
803 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
806 static int iscsi_check_boolean_value(struct iscsi_param *param, char *value) in iscsi_check_boolean_value() argument
810 " \"%s\" or \"%s\".\n", param->name, YES, NO); in iscsi_check_boolean_value()
817 static int iscsi_check_numerical_value(struct iscsi_param *param, char *value_ptr) in iscsi_check_numerical_value() argument
824 if (IS_TYPERANGE_0_TO_2(param)) { in iscsi_check_numerical_value()
827 " between 0 and 2.\n", param->name); in iscsi_check_numerical_value()
832 if (IS_TYPERANGE_0_TO_3600(param)) { in iscsi_check_numerical_value()
835 " between 0 and 3600.\n", param->name); in iscsi_check_numerical_value()
840 if (IS_TYPERANGE_0_TO_32767(param)) { in iscsi_check_numerical_value()
843 " between 0 and 32767.\n", param->name); in iscsi_check_numerical_value()
848 if (IS_TYPERANGE_0_TO_65535(param)) { in iscsi_check_numerical_value()
851 " between 0 and 65535.\n", param->name); in iscsi_check_numerical_value()
856 if (IS_TYPERANGE_1_TO_65535(param)) { in iscsi_check_numerical_value()
859 " between 1 and 65535.\n", param->name); in iscsi_check_numerical_value()
864 if (IS_TYPERANGE_2_TO_3600(param)) { in iscsi_check_numerical_value()
867 " between 2 and 3600.\n", param->name); in iscsi_check_numerical_value()
872 if (IS_TYPERANGE_512_TO_16777215(param)) { in iscsi_check_numerical_value()
875 " between 512 and 16777215.\n", param->name); in iscsi_check_numerical_value()
884 static int iscsi_check_string_or_list_value(struct iscsi_param *param, char *value) in iscsi_check_string_or_list_value() argument
886 if (IS_PSTATE_PROPOSER(param)) in iscsi_check_string_or_list_value()
889 if (IS_TYPERANGE_AUTH_PARAM(param)) { in iscsi_check_string_or_list_value()
895 " or \"%s\".\n", param->name, KRB5, in iscsi_check_string_or_list_value()
900 if (IS_TYPERANGE_DIGEST_PARAM(param)) { in iscsi_check_string_or_list_value()
903 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
908 if (IS_TYPERANGE_SESSIONTYPE(param)) { in iscsi_check_string_or_list_value()
911 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
921 struct iscsi_param *param, in iscsi_check_valuelist_for_support() argument
927 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
936 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
965 static int iscsi_check_acceptor_state(struct iscsi_param *param, char *value, in iscsi_check_acceptor_state() argument
971 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_acceptor_state()
973 param->name); in iscsi_check_acceptor_state()
977 if (IS_PSTATE_REJECT(param)) in iscsi_check_acceptor_state()
980 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_acceptor_state()
983 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
988 if (iscsi_update_param_value(param, NO) < 0) in iscsi_check_acceptor_state()
991 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
993 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_acceptor_state()
996 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
999 if (iscsi_update_param_value(param, YES) < 0) in iscsi_check_acceptor_state()
1002 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
1004 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_acceptor_state()
1006 u32 acceptor_value = simple_strtoul(param->value, &tmpptr, 0); in iscsi_check_acceptor_state()
1011 if (!strcmp(param->name, MAXCONNECTIONS) || in iscsi_check_acceptor_state()
1012 !strcmp(param->name, MAXBURSTLENGTH) || in iscsi_check_acceptor_state()
1013 !strcmp(param->name, FIRSTBURSTLENGTH) || in iscsi_check_acceptor_state()
1014 !strcmp(param->name, MAXOUTSTANDINGR2T) || in iscsi_check_acceptor_state()
1015 !strcmp(param->name, DEFAULTTIME2RETAIN) || in iscsi_check_acceptor_state()
1016 !strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_check_acceptor_state()
1019 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1023 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1026 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_check_acceptor_state()
1029 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1033 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1037 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1041 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_check_acceptor_state()
1046 rc = kstrtoull(param->value, 0, &tmp); in iscsi_check_acceptor_state()
1061 rc = iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1067 param->name, param->value); in iscsi_check_acceptor_state()
1069 } else if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_acceptor_state()
1071 param, value); in iscsi_check_acceptor_state()
1075 " \"%s\".\n", value, param->value); in iscsi_check_acceptor_state()
1078 if (iscsi_update_param_value(param, negotiated_value) < 0) in iscsi_check_acceptor_state()
1080 } else if (IS_PHASE_DECLARATIVE(param)) { in iscsi_check_acceptor_state()
1081 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1083 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
1089 static int iscsi_check_proposer_state(struct iscsi_param *param, char *value) in iscsi_check_proposer_state() argument
1091 if (IS_PSTATE_RESPONSE_GOT(param)) { in iscsi_check_proposer_state()
1093 param->name); in iscsi_check_proposer_state()
1097 if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_proposer_state()
1103 param->name); in iscsi_check_proposer_state()
1107 tmp_ptr = iscsi_check_valuelist_for_support(param, value); in iscsi_check_proposer_state()
1112 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_proposer_state()
1118 static int iscsi_check_value(struct iscsi_param *param, char *value) in iscsi_check_value() argument
1123 if (!strcmp(param->name, IFMARKINT) || in iscsi_check_value()
1124 !strcmp(param->name, OFMARKINT)) { in iscsi_check_value()
1129 SET_PSTATE_REJECT(param); in iscsi_check_value()
1132 pr_err("Received %s=%s\n", param->name, value); in iscsi_check_value()
1136 pr_debug("Received %s=%s\n", param->name, value); in iscsi_check_value()
1137 SET_PSTATE_IRRELEVANT(param); in iscsi_check_value()
1141 if (!IS_PSTATE_PROPOSER(param)) { in iscsi_check_value()
1143 param->name, value); in iscsi_check_value()
1149 " with \"%s\", protocol error.\n", param->name, value); in iscsi_check_value()
1157 if (comma_ptr && !IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1160 " protocol error.\n", param->name); in iscsi_check_value()
1168 " protocol error.\n", param->name, in iscsi_check_value()
1173 if (IS_TYPE_BOOL_AND(param) || IS_TYPE_BOOL_OR(param)) { in iscsi_check_value()
1174 if (iscsi_check_boolean_value(param, value) < 0) in iscsi_check_value()
1176 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_value()
1177 if (iscsi_check_numerical_value(param, value) < 0) in iscsi_check_value()
1179 } else if (IS_TYPE_STRING(param) || IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1180 if (iscsi_check_string_or_list_value(param, value) < 0) in iscsi_check_value()
1183 pr_err("Huh? 0x%02x\n", param->type); in iscsi_check_value()
1201 struct iscsi_param *param; in __iscsi_check_key() local
1209 param = iscsi_find_param_from_key(key, param_list); in __iscsi_check_key()
1210 if (!param) in __iscsi_check_key()
1213 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in __iscsi_check_key()
1215 " protocol error.\n", param->name, in __iscsi_check_key()
1220 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in __iscsi_check_key()
1222 " protocol error.\n", param->name, in __iscsi_check_key()
1227 return param; in __iscsi_check_key()
1236 struct iscsi_param *param; in iscsi_check_key() local
1246 param = iscsi_find_param_from_key(key, param_list); in iscsi_check_key()
1247 if (!param) in iscsi_check_key()
1250 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in iscsi_check_key()
1252 " protocol error.\n", param->name, in iscsi_check_key()
1256 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in iscsi_check_key()
1258 " protocol error.\n", param->name, in iscsi_check_key()
1263 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_key()
1270 return param; in iscsi_check_key()
1272 if (!(param->phase & phase)) { in iscsi_check_key()
1274 param->name); in iscsi_check_key()
1288 return param; in iscsi_check_key()
1299 struct iscsi_param *param = NULL; in iscsi_enforce_integrity_rules() local
1301 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1302 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1304 if (!strcmp(param->name, SESSIONTYPE)) in iscsi_enforce_integrity_rules()
1305 if (!strcmp(param->value, NORMAL)) in iscsi_enforce_integrity_rules()
1307 if (!strcmp(param->name, ERRORRECOVERYLEVEL)) in iscsi_enforce_integrity_rules()
1308 ErrorRecoveryLevel = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1310 if (!strcmp(param->name, DATASEQUENCEINORDER)) in iscsi_enforce_integrity_rules()
1311 if (!strcmp(param->value, YES)) in iscsi_enforce_integrity_rules()
1313 if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_enforce_integrity_rules()
1314 MaxBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1318 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1319 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1321 if (!SessionType && !IS_PSTATE_ACCEPTOR(param)) in iscsi_enforce_integrity_rules()
1323 if (!strcmp(param->name, MAXOUTSTANDINGR2T) && in iscsi_enforce_integrity_rules()
1325 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1326 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1329 param->name, param->value); in iscsi_enforce_integrity_rules()
1332 if (!strcmp(param->name, MAXCONNECTIONS) && !SessionType) { in iscsi_enforce_integrity_rules()
1333 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1334 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1337 param->name, param->value); in iscsi_enforce_integrity_rules()
1340 if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_enforce_integrity_rules()
1341 FirstBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1347 if (iscsi_update_param_value(param, tmpbuf)) in iscsi_enforce_integrity_rules()
1350 param->name, param->value); in iscsi_enforce_integrity_rules()
1381 struct iscsi_param *param; in iscsi_decode_text_input() local
1395 param = iscsi_check_key(key, phase, sender, param_list); in iscsi_decode_text_input()
1396 if (!param) { in iscsi_decode_text_input()
1404 if (iscsi_check_value(param, value) < 0) in iscsi_decode_text_input()
1409 if (IS_PSTATE_PROPOSER(param)) { in iscsi_decode_text_input()
1410 if (iscsi_check_proposer_state(param, value) < 0) in iscsi_decode_text_input()
1413 SET_PSTATE_RESPONSE_GOT(param); in iscsi_decode_text_input()
1415 if (iscsi_check_acceptor_state(param, value, conn) < 0) in iscsi_decode_text_input()
1418 SET_PSTATE_ACCEPTOR(param); in iscsi_decode_text_input()
1440 struct iscsi_param *param; in iscsi_encode_text_output() local
1447 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_encode_text_output()
1448 if (!(param->sender & sender)) in iscsi_encode_text_output()
1450 if (IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1451 !IS_PSTATE_RESPONSE_SENT(param) && in iscsi_encode_text_output()
1452 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_encode_text_output()
1453 (param->phase & phase)) { in iscsi_encode_text_output()
1455 param->name, param->value); in iscsi_encode_text_output()
1458 SET_PSTATE_RESPONSE_SENT(param); in iscsi_encode_text_output()
1460 param->name, param->value); in iscsi_encode_text_output()
1463 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_encode_text_output()
1464 !IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1465 !IS_PSTATE_PROPOSER(param) && in iscsi_encode_text_output()
1466 (param->phase & phase)) { in iscsi_encode_text_output()
1468 param->name, param->value); in iscsi_encode_text_output()
1471 SET_PSTATE_PROPOSER(param); in iscsi_encode_text_output()
1472 iscsi_check_proposer_for_optional_reply(param, in iscsi_encode_text_output()
1475 param->name, param->value); in iscsi_encode_text_output()
1493 struct iscsi_param *param; in iscsi_check_negotiated_keys() local
1495 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_check_negotiated_keys()
1496 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_check_negotiated_keys()
1497 IS_PSTATE_PROPOSER(param) && in iscsi_check_negotiated_keys()
1498 !IS_PSTATE_RESPONSE_GOT(param) && in iscsi_check_negotiated_keys()
1499 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_check_negotiated_keys()
1500 !IS_PHASE_DECLARATIVE(param)) { in iscsi_check_negotiated_keys()
1502 param->name); in iscsi_check_negotiated_keys()
1516 struct iscsi_param *param; in iscsi_change_param_value() local
1523 param = __iscsi_check_key(keyvalue, sender, param_list); in iscsi_change_param_value()
1524 if (!param) in iscsi_change_param_value()
1527 param = iscsi_check_key(keyvalue, 0, sender, param_list); in iscsi_change_param_value()
1528 if (!param) in iscsi_change_param_value()
1531 param->set_param = 1; in iscsi_change_param_value()
1532 if (iscsi_check_value(param, value) < 0) { in iscsi_change_param_value()
1533 param->set_param = 0; in iscsi_change_param_value()
1536 param->set_param = 0; in iscsi_change_param_value()
1539 if (iscsi_update_param_value(param, value) < 0) in iscsi_change_param_value()
1550 struct iscsi_param *param; in iscsi_set_connection_parameters() local
1554 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_set_connection_parameters()
1560 if (!strcmp(param->name, MAXXMITDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1562 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1564 param->value); in iscsi_set_connection_parameters()
1567 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_connection_parameters()
1569 if (!strcmp(param->name, AUTHMETHOD)) { in iscsi_set_connection_parameters()
1571 param->value); in iscsi_set_connection_parameters()
1572 } else if (!strcmp(param->name, HEADERDIGEST)) { in iscsi_set_connection_parameters()
1573 ops->HeaderDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1575 param->value); in iscsi_set_connection_parameters()
1576 } else if (!strcmp(param->name, DATADIGEST)) { in iscsi_set_connection_parameters()
1577 ops->DataDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1579 param->value); in iscsi_set_connection_parameters()
1580 } else if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1588 } else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1590 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1592 param->value); in iscsi_set_connection_parameters()
1596 } else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1598 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1600 param->value); in iscsi_set_connection_parameters()
1616 struct iscsi_param *param; in iscsi_set_session_parameters() local
1620 list_for_each_entry(param, &param_list->param_list, p_list) { in iscsi_set_session_parameters()
1621 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_session_parameters()
1623 if (!strcmp(param->name, INITIATORNAME)) { in iscsi_set_session_parameters()
1624 if (!param->value) in iscsi_set_session_parameters()
1629 "%s", param->value); in iscsi_set_session_parameters()
1631 param->value); in iscsi_set_session_parameters()
1632 } else if (!strcmp(param->name, INITIATORALIAS)) { in iscsi_set_session_parameters()
1633 if (!param->value) in iscsi_set_session_parameters()
1637 "%s", param->value); in iscsi_set_session_parameters()
1639 param->value); in iscsi_set_session_parameters()
1640 } else if (!strcmp(param->name, TARGETNAME)) { in iscsi_set_session_parameters()
1641 if (!param->value) in iscsi_set_session_parameters()
1646 "%s", param->value); in iscsi_set_session_parameters()
1648 param->value); in iscsi_set_session_parameters()
1649 } else if (!strcmp(param->name, TARGETALIAS)) { in iscsi_set_session_parameters()
1650 if (!param->value) in iscsi_set_session_parameters()
1653 "%s", param->value); in iscsi_set_session_parameters()
1655 param->value); in iscsi_set_session_parameters()
1656 } else if (!strcmp(param->name, TARGETPORTALGROUPTAG)) { in iscsi_set_session_parameters()
1658 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1660 param->value); in iscsi_set_session_parameters()
1661 } else if (!strcmp(param->name, MAXCONNECTIONS)) { in iscsi_set_session_parameters()
1663 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1665 param->value); in iscsi_set_session_parameters()
1666 } else if (!strcmp(param->name, INITIALR2T)) { in iscsi_set_session_parameters()
1667 ops->InitialR2T = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1669 param->value); in iscsi_set_session_parameters()
1670 } else if (!strcmp(param->name, IMMEDIATEDATA)) { in iscsi_set_session_parameters()
1671 ops->ImmediateData = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1673 param->value); in iscsi_set_session_parameters()
1674 } else if (!strcmp(param->name, MAXBURSTLENGTH)) { in iscsi_set_session_parameters()
1676 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1678 param->value); in iscsi_set_session_parameters()
1679 } else if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_set_session_parameters()
1681 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1683 param->value); in iscsi_set_session_parameters()
1684 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_set_session_parameters()
1686 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1688 param->value); in iscsi_set_session_parameters()
1689 } else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) { in iscsi_set_session_parameters()
1691 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1693 param->value); in iscsi_set_session_parameters()
1694 } else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) { in iscsi_set_session_parameters()
1696 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1698 param->value); in iscsi_set_session_parameters()
1699 } else if (!strcmp(param->name, DATAPDUINORDER)) { in iscsi_set_session_parameters()
1700 ops->DataPDUInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1702 param->value); in iscsi_set_session_parameters()
1703 } else if (!strcmp(param->name, DATASEQUENCEINORDER)) { in iscsi_set_session_parameters()
1704 ops->DataSequenceInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1706 param->value); in iscsi_set_session_parameters()
1707 } else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_set_session_parameters()
1709 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1711 param->value); in iscsi_set_session_parameters()
1712 } else if (!strcmp(param->name, SESSIONTYPE)) { in iscsi_set_session_parameters()
1713 ops->SessionType = !strcmp(param->value, DISCOVERY); in iscsi_set_session_parameters()
1715 param->value); in iscsi_set_session_parameters()
1716 } else if (!strcmp(param->name, RDMAEXTENSIONS)) { in iscsi_set_session_parameters()
1717 ops->RDMAExtensions = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1719 param->value); in iscsi_set_session_parameters()