Lines Matching full:param
74 struct iscsi_param *param = NULL; in iscsi_set_default_param() local
76 param = kzalloc(sizeof(struct iscsi_param), GFP_KERNEL); in iscsi_set_default_param()
77 if (!param) { in iscsi_set_default_param()
81 INIT_LIST_HEAD(¶m->p_list); in iscsi_set_default_param()
83 param->name = kstrdup(name, GFP_KERNEL); in iscsi_set_default_param()
84 if (!param->name) { in iscsi_set_default_param()
89 param->value = kstrdup(value, GFP_KERNEL); in iscsi_set_default_param()
90 if (!param->value) { in iscsi_set_default_param()
95 param->phase = phase; in iscsi_set_default_param()
96 param->scope = scope; in iscsi_set_default_param()
97 param->sender = sender; in iscsi_set_default_param()
98 param->use = use; in iscsi_set_default_param()
99 param->type_range = type_range; in iscsi_set_default_param()
101 switch (param->type_range) { in iscsi_set_default_param()
103 param->type = TYPE_BOOL_AND; in iscsi_set_default_param()
106 param->type = TYPE_BOOL_OR; in iscsi_set_default_param()
115 param->type = TYPE_NUMBER; in iscsi_set_default_param()
119 param->type = TYPE_VALUE_LIST | TYPE_STRING; in iscsi_set_default_param()
125 param->type = TYPE_STRING; in iscsi_set_default_param()
129 param->type_range); in iscsi_set_default_param()
132 list_add_tail(¶m->p_list, ¶m_list->param_list); in iscsi_set_default_param()
134 return param; in iscsi_set_default_param()
136 if (param) { in iscsi_set_default_param()
137 kfree(param->value); in iscsi_set_default_param()
138 kfree(param->name); in iscsi_set_default_param()
139 kfree(param); in iscsi_set_default_param()
148 struct iscsi_param *param = NULL; in iscsi_create_default_params() local
171 param = iscsi_set_default_param(pl, AUTHMETHOD, INITIAL_AUTHMETHOD, in iscsi_create_default_params()
174 if (!param) in iscsi_create_default_params()
177 param = iscsi_set_default_param(pl, HEADERDIGEST, INITIAL_HEADERDIGEST, in iscsi_create_default_params()
180 if (!param) in iscsi_create_default_params()
183 param = iscsi_set_default_param(pl, DATADIGEST, INITIAL_DATADIGEST, in iscsi_create_default_params()
186 if (!param) in iscsi_create_default_params()
189 param = iscsi_set_default_param(pl, MAXCONNECTIONS, in iscsi_create_default_params()
193 if (!param) in iscsi_create_default_params()
196 param = iscsi_set_default_param(pl, SENDTARGETS, INITIAL_SENDTARGETS, in iscsi_create_default_params()
199 if (!param) in iscsi_create_default_params()
202 param = iscsi_set_default_param(pl, TARGETNAME, INITIAL_TARGETNAME, in iscsi_create_default_params()
205 if (!param) in iscsi_create_default_params()
208 param = iscsi_set_default_param(pl, INITIATORNAME, in iscsi_create_default_params()
212 if (!param) in iscsi_create_default_params()
215 param = iscsi_set_default_param(pl, TARGETALIAS, INITIAL_TARGETALIAS, in iscsi_create_default_params()
218 if (!param) in iscsi_create_default_params()
221 param = iscsi_set_default_param(pl, INITIATORALIAS, in iscsi_create_default_params()
225 if (!param) in iscsi_create_default_params()
228 param = iscsi_set_default_param(pl, TARGETADDRESS, in iscsi_create_default_params()
232 if (!param) in iscsi_create_default_params()
235 param = iscsi_set_default_param(pl, TARGETPORTALGROUPTAG, in iscsi_create_default_params()
239 if (!param) in iscsi_create_default_params()
242 param = iscsi_set_default_param(pl, INITIALR2T, INITIAL_INITIALR2T, in iscsi_create_default_params()
245 if (!param) in iscsi_create_default_params()
248 param = iscsi_set_default_param(pl, IMMEDIATEDATA, in iscsi_create_default_params()
252 if (!param) in iscsi_create_default_params()
255 param = iscsi_set_default_param(pl, MAXXMITDATASEGMENTLENGTH, in iscsi_create_default_params()
259 if (!param) in iscsi_create_default_params()
262 param = iscsi_set_default_param(pl, MAXRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
266 if (!param) in iscsi_create_default_params()
269 param = iscsi_set_default_param(pl, MAXBURSTLENGTH, in iscsi_create_default_params()
273 if (!param) in iscsi_create_default_params()
276 param = iscsi_set_default_param(pl, FIRSTBURSTLENGTH, in iscsi_create_default_params()
280 if (!param) in iscsi_create_default_params()
283 param = iscsi_set_default_param(pl, DEFAULTTIME2WAIT, in iscsi_create_default_params()
287 if (!param) in iscsi_create_default_params()
290 param = iscsi_set_default_param(pl, DEFAULTTIME2RETAIN, in iscsi_create_default_params()
294 if (!param) in iscsi_create_default_params()
297 param = iscsi_set_default_param(pl, MAXOUTSTANDINGR2T, in iscsi_create_default_params()
301 if (!param) in iscsi_create_default_params()
304 param = iscsi_set_default_param(pl, DATAPDUINORDER, in iscsi_create_default_params()
308 if (!param) in iscsi_create_default_params()
311 param = iscsi_set_default_param(pl, DATASEQUENCEINORDER, in iscsi_create_default_params()
315 if (!param) in iscsi_create_default_params()
318 param = iscsi_set_default_param(pl, ERRORRECOVERYLEVEL, in iscsi_create_default_params()
322 if (!param) in iscsi_create_default_params()
325 param = iscsi_set_default_param(pl, SESSIONTYPE, INITIAL_SESSIONTYPE, in iscsi_create_default_params()
328 if (!param) in iscsi_create_default_params()
331 param = iscsi_set_default_param(pl, IFMARKER, INITIAL_IFMARKER, in iscsi_create_default_params()
334 if (!param) in iscsi_create_default_params()
337 param = iscsi_set_default_param(pl, OFMARKER, INITIAL_OFMARKER, in iscsi_create_default_params()
340 if (!param) in iscsi_create_default_params()
343 param = iscsi_set_default_param(pl, IFMARKINT, INITIAL_IFMARKINT, in iscsi_create_default_params()
346 if (!param) in iscsi_create_default_params()
349 param = iscsi_set_default_param(pl, OFMARKINT, INITIAL_OFMARKINT, in iscsi_create_default_params()
352 if (!param) in iscsi_create_default_params()
358 param = iscsi_set_default_param(pl, RDMAEXTENSIONS, INITIAL_RDMAEXTENSIONS, in iscsi_create_default_params()
361 if (!param) in iscsi_create_default_params()
364 param = iscsi_set_default_param(pl, INITIATORRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
368 if (!param) in iscsi_create_default_params()
371 param = iscsi_set_default_param(pl, TARGETRECVDATASEGMENTLENGTH, in iscsi_create_default_params()
375 if (!param) in iscsi_create_default_params()
389 struct iscsi_param *param; in iscsi_set_keys_to_negotiate() local
393 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_keys_to_negotiate()
394 param->state = 0; in iscsi_set_keys_to_negotiate()
395 if (!strcmp(param->name, AUTHMETHOD)) { in iscsi_set_keys_to_negotiate()
396 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
397 } else if (!strcmp(param->name, HEADERDIGEST)) { in iscsi_set_keys_to_negotiate()
399 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
400 } else if (!strcmp(param->name, DATADIGEST)) { in iscsi_set_keys_to_negotiate()
402 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
403 } else if (!strcmp(param->name, MAXCONNECTIONS)) { in iscsi_set_keys_to_negotiate()
404 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
405 } else if (!strcmp(param->name, TARGETNAME)) { in iscsi_set_keys_to_negotiate()
407 } else if (!strcmp(param->name, INITIATORNAME)) { in iscsi_set_keys_to_negotiate()
409 } else if (!strcmp(param->name, TARGETALIAS)) { in iscsi_set_keys_to_negotiate()
410 if (param->value) in iscsi_set_keys_to_negotiate()
411 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
412 } else if (!strcmp(param->name, INITIATORALIAS)) { in iscsi_set_keys_to_negotiate()
414 } else if (!strcmp(param->name, TARGETPORTALGROUPTAG)) { in iscsi_set_keys_to_negotiate()
415 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
416 } else if (!strcmp(param->name, INITIALR2T)) { in iscsi_set_keys_to_negotiate()
417 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
418 } else if (!strcmp(param->name, IMMEDIATEDATA)) { in iscsi_set_keys_to_negotiate()
419 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
420 } else if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
422 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
423 } else if (!strcmp(param->name, MAXXMITDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
425 } else if (!strcmp(param->name, MAXBURSTLENGTH)) { in iscsi_set_keys_to_negotiate()
426 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
427 } else if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_set_keys_to_negotiate()
428 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
429 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_set_keys_to_negotiate()
430 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
431 } else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) { in iscsi_set_keys_to_negotiate()
432 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
433 } else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) { in iscsi_set_keys_to_negotiate()
434 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
435 } else if (!strcmp(param->name, DATAPDUINORDER)) { in iscsi_set_keys_to_negotiate()
436 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
437 } else if (!strcmp(param->name, DATASEQUENCEINORDER)) { in iscsi_set_keys_to_negotiate()
438 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
439 } else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_set_keys_to_negotiate()
440 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
441 } else if (!strcmp(param->name, SESSIONTYPE)) { in iscsi_set_keys_to_negotiate()
442 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
443 } else if (!strcmp(param->name, IFMARKER)) { in iscsi_set_keys_to_negotiate()
444 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
445 } else if (!strcmp(param->name, OFMARKER)) { in iscsi_set_keys_to_negotiate()
446 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
447 } else if (!strcmp(param->name, IFMARKINT)) { in iscsi_set_keys_to_negotiate()
448 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
449 } else if (!strcmp(param->name, OFMARKINT)) { in iscsi_set_keys_to_negotiate()
450 SET_PSTATE_REJECT(param); in iscsi_set_keys_to_negotiate()
451 } else if (!strcmp(param->name, RDMAEXTENSIONS)) { in iscsi_set_keys_to_negotiate()
453 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
454 } else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
456 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
457 } else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) { in iscsi_set_keys_to_negotiate()
459 SET_PSTATE_NEGOTIATE(param); in iscsi_set_keys_to_negotiate()
469 struct iscsi_param *param; in iscsi_set_keys_irrelevant_for_discovery() local
471 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_keys_irrelevant_for_discovery()
472 if (!strcmp(param->name, MAXCONNECTIONS)) in iscsi_set_keys_irrelevant_for_discovery()
473 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
474 else if (!strcmp(param->name, INITIALR2T)) in iscsi_set_keys_irrelevant_for_discovery()
475 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
476 else if (!strcmp(param->name, IMMEDIATEDATA)) in iscsi_set_keys_irrelevant_for_discovery()
477 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
478 else if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
479 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
480 else if (!strcmp(param->name, FIRSTBURSTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
481 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
482 else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) in iscsi_set_keys_irrelevant_for_discovery()
483 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
484 else if (!strcmp(param->name, DATAPDUINORDER)) in iscsi_set_keys_irrelevant_for_discovery()
485 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
486 else if (!strcmp(param->name, DATASEQUENCEINORDER)) in iscsi_set_keys_irrelevant_for_discovery()
487 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
488 else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) in iscsi_set_keys_irrelevant_for_discovery()
489 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
490 else if (!strcmp(param->name, DEFAULTTIME2WAIT)) in iscsi_set_keys_irrelevant_for_discovery()
491 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
492 else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) in iscsi_set_keys_irrelevant_for_discovery()
493 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
494 else if (!strcmp(param->name, IFMARKER)) in iscsi_set_keys_irrelevant_for_discovery()
495 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
496 else if (!strcmp(param->name, OFMARKER)) in iscsi_set_keys_irrelevant_for_discovery()
497 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
498 else if (!strcmp(param->name, IFMARKINT)) in iscsi_set_keys_irrelevant_for_discovery()
499 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
500 else if (!strcmp(param->name, OFMARKINT)) in iscsi_set_keys_irrelevant_for_discovery()
501 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
502 else if (!strcmp(param->name, RDMAEXTENSIONS)) in iscsi_set_keys_irrelevant_for_discovery()
503 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
504 else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
505 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
506 else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) in iscsi_set_keys_irrelevant_for_discovery()
507 param->state &= ~PSTATE_NEGOTIATE; in iscsi_set_keys_irrelevant_for_discovery()
518 struct iscsi_param *param = NULL; in iscsi_copy_param_list() local
530 list_for_each_entry(param, &src_param_list->param_list, p_list) { in iscsi_copy_param_list()
531 if (!leading && (param->scope & SCOPE_SESSION_WIDE)) { in iscsi_copy_param_list()
532 if ((strcmp(param->name, "TargetName") != 0) && in iscsi_copy_param_list()
533 (strcmp(param->name, "InitiatorName") != 0) && in iscsi_copy_param_list()
534 (strcmp(param->name, "TargetPortalGroupTag") != 0)) in iscsi_copy_param_list()
544 new_param->name = kstrdup(param->name, GFP_KERNEL); in iscsi_copy_param_list()
545 new_param->value = kstrdup(param->value, GFP_KERNEL); in iscsi_copy_param_list()
554 new_param->set_param = param->set_param; in iscsi_copy_param_list()
555 new_param->phase = param->phase; in iscsi_copy_param_list()
556 new_param->scope = param->scope; in iscsi_copy_param_list()
557 new_param->sender = param->sender; in iscsi_copy_param_list()
558 new_param->type = param->type; in iscsi_copy_param_list()
559 new_param->use = param->use; in iscsi_copy_param_list()
560 new_param->type_range = param->type_range; in iscsi_copy_param_list()
592 struct iscsi_param *param, *param_tmp; in iscsi_release_param_list() local
594 list_for_each_entry_safe(param, param_tmp, ¶m_list->param_list, in iscsi_release_param_list()
596 list_del(¶m->p_list); in iscsi_release_param_list()
598 kfree(param->name); in iscsi_release_param_list()
599 kfree(param->value); in iscsi_release_param_list()
600 kfree(param); in iscsi_release_param_list()
612 struct iscsi_param *param; in iscsi_find_param_from_key() local
619 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_find_param_from_key()
620 if (!strcmp(key, param->name)) in iscsi_find_param_from_key()
621 return param; in iscsi_find_param_from_key()
645 int iscsi_update_param_value(struct iscsi_param *param, char *value) in iscsi_update_param_value() argument
647 kfree(param->value); in iscsi_update_param_value()
649 param->value = kstrdup(value, GFP_KERNEL); in iscsi_update_param_value()
650 if (!param->value) { in iscsi_update_param_value()
656 param->name, param->value); in iscsi_update_param_value()
712 static void iscsi_check_proposer_for_optional_reply(struct iscsi_param *param, in iscsi_check_proposer_for_optional_reply() argument
715 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_proposer_for_optional_reply()
716 if (!strcmp(param->value, NO)) in iscsi_check_proposer_for_optional_reply()
717 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
718 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_proposer_for_optional_reply()
719 if (!strcmp(param->value, YES)) in iscsi_check_proposer_for_optional_reply()
720 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
726 if (!strcmp(param->name, IMMEDIATEDATA)) in iscsi_check_proposer_for_optional_reply()
727 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
729 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_proposer_for_optional_reply()
730 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) in iscsi_check_proposer_for_optional_reply()
731 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
737 if (!strcmp(param->name, FIRSTBURSTLENGTH)) in iscsi_check_proposer_for_optional_reply()
738 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
743 if (!strcmp(param->name, MAXCONNECTIONS)) in iscsi_check_proposer_for_optional_reply()
744 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
746 } else if (IS_PHASE_DECLARATIVE(param)) in iscsi_check_proposer_for_optional_reply()
747 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_proposer_for_optional_reply()
750 static int iscsi_check_boolean_value(struct iscsi_param *param, char *value) in iscsi_check_boolean_value() argument
754 " \"%s\" or \"%s\".\n", param->name, YES, NO); in iscsi_check_boolean_value()
761 static int iscsi_check_numerical_value(struct iscsi_param *param, char *value_ptr) in iscsi_check_numerical_value() argument
768 if (IS_TYPERANGE_0_TO_2(param)) { in iscsi_check_numerical_value()
771 " between 0 and 2.\n", param->name); in iscsi_check_numerical_value()
776 if (IS_TYPERANGE_0_TO_3600(param)) { in iscsi_check_numerical_value()
779 " between 0 and 3600.\n", param->name); in iscsi_check_numerical_value()
784 if (IS_TYPERANGE_0_TO_32767(param)) { in iscsi_check_numerical_value()
787 " between 0 and 32767.\n", param->name); in iscsi_check_numerical_value()
792 if (IS_TYPERANGE_0_TO_65535(param)) { in iscsi_check_numerical_value()
795 " between 0 and 65535.\n", param->name); in iscsi_check_numerical_value()
800 if (IS_TYPERANGE_1_TO_65535(param)) { in iscsi_check_numerical_value()
803 " between 1 and 65535.\n", param->name); in iscsi_check_numerical_value()
808 if (IS_TYPERANGE_2_TO_3600(param)) { in iscsi_check_numerical_value()
811 " between 2 and 3600.\n", param->name); in iscsi_check_numerical_value()
816 if (IS_TYPERANGE_512_TO_16777215(param)) { in iscsi_check_numerical_value()
819 " between 512 and 16777215.\n", param->name); in iscsi_check_numerical_value()
828 static int iscsi_check_string_or_list_value(struct iscsi_param *param, char *value) in iscsi_check_string_or_list_value() argument
830 if (IS_PSTATE_PROPOSER(param)) in iscsi_check_string_or_list_value()
833 if (IS_TYPERANGE_AUTH_PARAM(param)) { in iscsi_check_string_or_list_value()
839 " or \"%s\".\n", param->name, KRB5, in iscsi_check_string_or_list_value()
844 if (IS_TYPERANGE_DIGEST_PARAM(param)) { in iscsi_check_string_or_list_value()
847 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
852 if (IS_TYPERANGE_SESSIONTYPE(param)) { in iscsi_check_string_or_list_value()
855 " \"%s\" or \"%s\".\n", param->name, in iscsi_check_string_or_list_value()
865 struct iscsi_param *param, in iscsi_check_valuelist_for_support() argument
871 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
880 acceptor_values = param->value; in iscsi_check_valuelist_for_support()
909 static int iscsi_check_acceptor_state(struct iscsi_param *param, char *value, in iscsi_check_acceptor_state() argument
915 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_acceptor_state()
917 param->name); in iscsi_check_acceptor_state()
921 if (IS_PSTATE_REJECT(param)) in iscsi_check_acceptor_state()
924 if (IS_TYPE_BOOL_AND(param)) { in iscsi_check_acceptor_state()
927 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
932 if (iscsi_update_param_value(param, NO) < 0) in iscsi_check_acceptor_state()
935 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
937 } else if (IS_TYPE_BOOL_OR(param)) { in iscsi_check_acceptor_state()
940 if (!strcmp(param->value, YES)) in iscsi_check_acceptor_state()
943 if (iscsi_update_param_value(param, YES) < 0) in iscsi_check_acceptor_state()
946 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
948 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_acceptor_state()
950 u32 acceptor_value = simple_strtoul(param->value, &tmpptr, 0); in iscsi_check_acceptor_state()
955 if (!strcmp(param->name, MAXCONNECTIONS) || in iscsi_check_acceptor_state()
956 !strcmp(param->name, MAXBURSTLENGTH) || in iscsi_check_acceptor_state()
957 !strcmp(param->name, FIRSTBURSTLENGTH) || in iscsi_check_acceptor_state()
958 !strcmp(param->name, MAXOUTSTANDINGR2T) || in iscsi_check_acceptor_state()
959 !strcmp(param->name, DEFAULTTIME2RETAIN) || in iscsi_check_acceptor_state()
960 !strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_check_acceptor_state()
963 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
967 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
970 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_check_acceptor_state()
973 if (iscsi_update_param_value(param, in iscsi_check_acceptor_state()
977 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
981 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
985 if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_check_acceptor_state()
990 rc = kstrtoull(param->value, 0, &tmp); in iscsi_check_acceptor_state()
1005 rc = iscsi_update_param_value(param, in iscsi_check_acceptor_state()
1011 param->name, param->value); in iscsi_check_acceptor_state()
1013 } else if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_acceptor_state()
1015 param, value); in iscsi_check_acceptor_state()
1019 " \"%s\".\n", value, param->value); in iscsi_check_acceptor_state()
1022 if (iscsi_update_param_value(param, negotiated_value) < 0) in iscsi_check_acceptor_state()
1024 } else if (IS_PHASE_DECLARATIVE(param)) { in iscsi_check_acceptor_state()
1025 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_acceptor_state()
1027 SET_PSTATE_REPLY_OPTIONAL(param); in iscsi_check_acceptor_state()
1033 static int iscsi_check_proposer_state(struct iscsi_param *param, char *value) in iscsi_check_proposer_state() argument
1035 if (IS_PSTATE_RESPONSE_GOT(param)) { in iscsi_check_proposer_state()
1037 param->name); in iscsi_check_proposer_state()
1041 if (IS_TYPE_VALUE_LIST(param)) { in iscsi_check_proposer_state()
1047 param->name); in iscsi_check_proposer_state()
1051 tmp_ptr = iscsi_check_valuelist_for_support(param, value); in iscsi_check_proposer_state()
1056 if (iscsi_update_param_value(param, value) < 0) in iscsi_check_proposer_state()
1062 static int iscsi_check_value(struct iscsi_param *param, char *value) in iscsi_check_value() argument
1067 if (!strcmp(param->name, IFMARKINT) || in iscsi_check_value()
1068 !strcmp(param->name, OFMARKINT)) { in iscsi_check_value()
1073 SET_PSTATE_REJECT(param); in iscsi_check_value()
1076 pr_err("Received %s=%s\n", param->name, value); in iscsi_check_value()
1080 pr_debug("Received %s=%s\n", param->name, value); in iscsi_check_value()
1081 SET_PSTATE_IRRELEVANT(param); in iscsi_check_value()
1085 if (!IS_PSTATE_PROPOSER(param)) { in iscsi_check_value()
1087 param->name, value); in iscsi_check_value()
1093 " with \"%s\", protocol error.\n", param->name, value); in iscsi_check_value()
1101 if (comma_ptr && !IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1104 " protocol error.\n", param->name); in iscsi_check_value()
1112 " protocol error.\n", param->name, in iscsi_check_value()
1117 if (IS_TYPE_BOOL_AND(param) || IS_TYPE_BOOL_OR(param)) { in iscsi_check_value()
1118 if (iscsi_check_boolean_value(param, value) < 0) in iscsi_check_value()
1120 } else if (IS_TYPE_NUMBER(param)) { in iscsi_check_value()
1121 if (iscsi_check_numerical_value(param, value) < 0) in iscsi_check_value()
1123 } else if (IS_TYPE_STRING(param) || IS_TYPE_VALUE_LIST(param)) { in iscsi_check_value()
1124 if (iscsi_check_string_or_list_value(param, value) < 0) in iscsi_check_value()
1127 pr_err("Huh? 0x%02x\n", param->type); in iscsi_check_value()
1145 struct iscsi_param *param; in __iscsi_check_key() local
1153 param = iscsi_find_param_from_key(key, param_list); in __iscsi_check_key()
1154 if (!param) in __iscsi_check_key()
1157 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in __iscsi_check_key()
1159 " protocol error.\n", param->name, in __iscsi_check_key()
1164 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in __iscsi_check_key()
1166 " protocol error.\n", param->name, in __iscsi_check_key()
1171 return param; in __iscsi_check_key()
1180 struct iscsi_param *param; in iscsi_check_key() local
1190 param = iscsi_find_param_from_key(key, param_list); in iscsi_check_key()
1191 if (!param) in iscsi_check_key()
1194 if ((sender & SENDER_INITIATOR) && !IS_SENDER_INITIATOR(param)) { in iscsi_check_key()
1196 " protocol error.\n", param->name, in iscsi_check_key()
1200 if ((sender & SENDER_TARGET) && !IS_SENDER_TARGET(param)) { in iscsi_check_key()
1202 " protocol error.\n", param->name, in iscsi_check_key()
1207 if (IS_PSTATE_ACCEPTOR(param)) { in iscsi_check_key()
1214 return param; in iscsi_check_key()
1216 if (!(param->phase & phase)) { in iscsi_check_key()
1230 param->name, phase_name); in iscsi_check_key()
1234 return param; in iscsi_check_key()
1245 struct iscsi_param *param = NULL; in iscsi_enforce_integrity_rules() local
1247 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1248 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1250 if (!strcmp(param->name, SESSIONTYPE)) in iscsi_enforce_integrity_rules()
1251 if (!strcmp(param->value, NORMAL)) in iscsi_enforce_integrity_rules()
1253 if (!strcmp(param->name, ERRORRECOVERYLEVEL)) in iscsi_enforce_integrity_rules()
1254 ErrorRecoveryLevel = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1256 if (!strcmp(param->name, DATASEQUENCEINORDER)) in iscsi_enforce_integrity_rules()
1257 if (!strcmp(param->value, YES)) in iscsi_enforce_integrity_rules()
1259 if (!strcmp(param->name, MAXBURSTLENGTH)) in iscsi_enforce_integrity_rules()
1260 MaxBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1264 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_enforce_integrity_rules()
1265 if (!(param->phase & phase)) in iscsi_enforce_integrity_rules()
1267 if (!SessionType && !IS_PSTATE_ACCEPTOR(param)) in iscsi_enforce_integrity_rules()
1269 if (!strcmp(param->name, MAXOUTSTANDINGR2T) && in iscsi_enforce_integrity_rules()
1271 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1272 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1275 param->name, param->value); in iscsi_enforce_integrity_rules()
1278 if (!strcmp(param->name, MAXCONNECTIONS) && !SessionType) { in iscsi_enforce_integrity_rules()
1279 if (strcmp(param->value, "1")) { in iscsi_enforce_integrity_rules()
1280 if (iscsi_update_param_value(param, "1") < 0) in iscsi_enforce_integrity_rules()
1283 param->name, param->value); in iscsi_enforce_integrity_rules()
1286 if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_enforce_integrity_rules()
1287 FirstBurstLength = simple_strtoul(param->value, in iscsi_enforce_integrity_rules()
1293 if (iscsi_update_param_value(param, tmpbuf)) in iscsi_enforce_integrity_rules()
1296 param->name, param->value); in iscsi_enforce_integrity_rules()
1325 struct iscsi_param *param; in iscsi_decode_text_input() local
1339 param = iscsi_check_key(key, phase, sender, param_list); in iscsi_decode_text_input()
1340 if (!param) { in iscsi_decode_text_input()
1348 if (iscsi_check_value(param, value) < 0) in iscsi_decode_text_input()
1353 if (IS_PSTATE_PROPOSER(param)) { in iscsi_decode_text_input()
1354 if (iscsi_check_proposer_state(param, value) < 0) in iscsi_decode_text_input()
1357 SET_PSTATE_RESPONSE_GOT(param); in iscsi_decode_text_input()
1359 if (iscsi_check_acceptor_state(param, value, conn) < 0) in iscsi_decode_text_input()
1362 SET_PSTATE_ACCEPTOR(param); in iscsi_decode_text_input()
1384 struct iscsi_param *param; in iscsi_encode_text_output() local
1391 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_encode_text_output()
1392 if (!(param->sender & sender)) in iscsi_encode_text_output()
1394 if (IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1395 !IS_PSTATE_RESPONSE_SENT(param) && in iscsi_encode_text_output()
1396 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_encode_text_output()
1397 (param->phase & phase)) { in iscsi_encode_text_output()
1399 param->name, param->value); in iscsi_encode_text_output()
1402 SET_PSTATE_RESPONSE_SENT(param); in iscsi_encode_text_output()
1404 param->name, param->value); in iscsi_encode_text_output()
1407 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_encode_text_output()
1408 !IS_PSTATE_ACCEPTOR(param) && in iscsi_encode_text_output()
1409 !IS_PSTATE_PROPOSER(param) && in iscsi_encode_text_output()
1410 (param->phase & phase)) { in iscsi_encode_text_output()
1412 param->name, param->value); in iscsi_encode_text_output()
1415 SET_PSTATE_PROPOSER(param); in iscsi_encode_text_output()
1416 iscsi_check_proposer_for_optional_reply(param, in iscsi_encode_text_output()
1419 param->name, param->value); in iscsi_encode_text_output()
1437 struct iscsi_param *param; in iscsi_check_negotiated_keys() local
1439 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_check_negotiated_keys()
1440 if (IS_PSTATE_NEGOTIATE(param) && in iscsi_check_negotiated_keys()
1441 IS_PSTATE_PROPOSER(param) && in iscsi_check_negotiated_keys()
1442 !IS_PSTATE_RESPONSE_GOT(param) && in iscsi_check_negotiated_keys()
1443 !IS_PSTATE_REPLY_OPTIONAL(param) && in iscsi_check_negotiated_keys()
1444 !IS_PHASE_DECLARATIVE(param)) { in iscsi_check_negotiated_keys()
1446 param->name); in iscsi_check_negotiated_keys()
1460 struct iscsi_param *param; in iscsi_change_param_value() local
1467 param = __iscsi_check_key(keyvalue, sender, param_list); in iscsi_change_param_value()
1468 if (!param) in iscsi_change_param_value()
1471 param = iscsi_check_key(keyvalue, 0, sender, param_list); in iscsi_change_param_value()
1472 if (!param) in iscsi_change_param_value()
1475 param->set_param = 1; in iscsi_change_param_value()
1476 if (iscsi_check_value(param, value) < 0) { in iscsi_change_param_value()
1477 param->set_param = 0; in iscsi_change_param_value()
1480 param->set_param = 0; in iscsi_change_param_value()
1483 if (iscsi_update_param_value(param, value) < 0) in iscsi_change_param_value()
1494 struct iscsi_param *param; in iscsi_set_connection_parameters() local
1498 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_connection_parameters()
1504 if (!strcmp(param->name, MAXXMITDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1506 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1508 param->value); in iscsi_set_connection_parameters()
1511 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_connection_parameters()
1513 if (!strcmp(param->name, AUTHMETHOD)) { in iscsi_set_connection_parameters()
1515 param->value); in iscsi_set_connection_parameters()
1516 } else if (!strcmp(param->name, HEADERDIGEST)) { in iscsi_set_connection_parameters()
1517 ops->HeaderDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1519 param->value); in iscsi_set_connection_parameters()
1520 } else if (!strcmp(param->name, DATADIGEST)) { in iscsi_set_connection_parameters()
1521 ops->DataDigest = !strcmp(param->value, CRC32C); in iscsi_set_connection_parameters()
1523 param->value); in iscsi_set_connection_parameters()
1524 } else if (!strcmp(param->name, MAXRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1532 } else if (!strcmp(param->name, INITIATORRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1534 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1536 param->value); in iscsi_set_connection_parameters()
1540 } else if (!strcmp(param->name, TARGETRECVDATASEGMENTLENGTH)) { in iscsi_set_connection_parameters()
1542 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_connection_parameters()
1544 param->value); in iscsi_set_connection_parameters()
1560 struct iscsi_param *param; in iscsi_set_session_parameters() local
1564 list_for_each_entry(param, ¶m_list->param_list, p_list) { in iscsi_set_session_parameters()
1565 if (!IS_PSTATE_ACCEPTOR(param) && !IS_PSTATE_PROPOSER(param)) in iscsi_set_session_parameters()
1567 if (!strcmp(param->name, INITIATORNAME)) { in iscsi_set_session_parameters()
1568 if (!param->value) in iscsi_set_session_parameters()
1573 "%s", param->value); in iscsi_set_session_parameters()
1575 param->value); in iscsi_set_session_parameters()
1576 } else if (!strcmp(param->name, INITIATORALIAS)) { in iscsi_set_session_parameters()
1577 if (!param->value) in iscsi_set_session_parameters()
1581 "%s", param->value); in iscsi_set_session_parameters()
1583 param->value); in iscsi_set_session_parameters()
1584 } else if (!strcmp(param->name, TARGETNAME)) { in iscsi_set_session_parameters()
1585 if (!param->value) in iscsi_set_session_parameters()
1590 "%s", param->value); in iscsi_set_session_parameters()
1592 param->value); in iscsi_set_session_parameters()
1593 } else if (!strcmp(param->name, TARGETALIAS)) { in iscsi_set_session_parameters()
1594 if (!param->value) in iscsi_set_session_parameters()
1597 "%s", param->value); in iscsi_set_session_parameters()
1599 param->value); in iscsi_set_session_parameters()
1600 } else if (!strcmp(param->name, TARGETPORTALGROUPTAG)) { in iscsi_set_session_parameters()
1602 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1604 param->value); in iscsi_set_session_parameters()
1605 } else if (!strcmp(param->name, MAXCONNECTIONS)) { in iscsi_set_session_parameters()
1607 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1609 param->value); in iscsi_set_session_parameters()
1610 } else if (!strcmp(param->name, INITIALR2T)) { in iscsi_set_session_parameters()
1611 ops->InitialR2T = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1613 param->value); in iscsi_set_session_parameters()
1614 } else if (!strcmp(param->name, IMMEDIATEDATA)) { in iscsi_set_session_parameters()
1615 ops->ImmediateData = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1617 param->value); in iscsi_set_session_parameters()
1618 } else if (!strcmp(param->name, MAXBURSTLENGTH)) { in iscsi_set_session_parameters()
1620 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1622 param->value); in iscsi_set_session_parameters()
1623 } else if (!strcmp(param->name, FIRSTBURSTLENGTH)) { in iscsi_set_session_parameters()
1625 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1627 param->value); in iscsi_set_session_parameters()
1628 } else if (!strcmp(param->name, DEFAULTTIME2WAIT)) { in iscsi_set_session_parameters()
1630 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1632 param->value); in iscsi_set_session_parameters()
1633 } else if (!strcmp(param->name, DEFAULTTIME2RETAIN)) { in iscsi_set_session_parameters()
1635 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1637 param->value); in iscsi_set_session_parameters()
1638 } else if (!strcmp(param->name, MAXOUTSTANDINGR2T)) { in iscsi_set_session_parameters()
1640 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1642 param->value); in iscsi_set_session_parameters()
1643 } else if (!strcmp(param->name, DATAPDUINORDER)) { in iscsi_set_session_parameters()
1644 ops->DataPDUInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1646 param->value); in iscsi_set_session_parameters()
1647 } else if (!strcmp(param->name, DATASEQUENCEINORDER)) { in iscsi_set_session_parameters()
1648 ops->DataSequenceInOrder = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1650 param->value); in iscsi_set_session_parameters()
1651 } else if (!strcmp(param->name, ERRORRECOVERYLEVEL)) { in iscsi_set_session_parameters()
1653 simple_strtoul(param->value, &tmpptr, 0); in iscsi_set_session_parameters()
1655 param->value); in iscsi_set_session_parameters()
1656 } else if (!strcmp(param->name, SESSIONTYPE)) { in iscsi_set_session_parameters()
1657 ops->SessionType = !strcmp(param->value, DISCOVERY); in iscsi_set_session_parameters()
1659 param->value); in iscsi_set_session_parameters()
1660 } else if (!strcmp(param->name, RDMAEXTENSIONS)) { in iscsi_set_session_parameters()
1661 ops->RDMAExtensions = !strcmp(param->value, YES); in iscsi_set_session_parameters()
1663 param->value); in iscsi_set_session_parameters()