Lines Matching defs:isns

35 #include "isns.h"
49 uint32_t isns_id = 0; /* isns ID counter */
102 get_isns_target_info(isns_t * isns, uint8_t * TargetName)
122 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name);
205 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name);
299 isns->entry.sid.id)) == NULL) {
325 deregister_isns_server(isns_t * isns)
342 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name);
344 isns_add_string(t, isnst_EID, (char *)isns->reg_entity_id);
345 isns_add_tlv(t, isnst_PortalIPAddr, (uint32_t)sizeof(isns->reg_ip_addr),
346 isns->reg_ip_addr);
347 isns_add_tlv(t, isnst_PortalPort, (uint32_t)sizeof(isns->reg_ip_port),
348 &isns->reg_ip_port);
349 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name);
368 register_isns_server(isns_t * isns)
382 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name); /*tag=32 */
384 isns_add_string(t, isnst_EID, (char *)isns->reg_entity_id);
387 isns_add_tlv(t, isnst_PortalIPAddr, (uint32_t)sizeof(isns->reg_ip_addr),
388 isns->reg_ip_addr);
389 isns_add_tlv(t, isnst_PortalPort, (uint32_t)sizeof(isns->reg_ip_port),
390 &isns->reg_ip_port);
391 isns_add_string(t, isnst_iSCSIName, (char *)isns->reg_iscsi_name); /*tag=32 */
417 get_registration_info(isns_t * isns)
422 strlcpy((char *)isns->reg_iscsi_name, (char *)node_name.InitiatorName,
423 sizeof(isns->reg_iscsi_name));
424 strlcpy((char *)isns->reg_entity_id, (char *)node_name.InitiatorAlias,
425 sizeof(isns->reg_entity_id));
429 if (getsockname(isns->sock, (struct sockaddr *)(void *)&sa, &n)) {
438 uint32_t *u32 = (uint32_t *)(void *)isns->reg_ip_addr;
443 isns->reg_ip_port = htons(si->sin_port);
452 memcpy(isns->reg_ip_addr, &si->sin6_addr,
453 sizeof(isns->reg_ip_addr));
454 isns->reg_ip_port = htons(si->sin6_port);
476 iscsi_isns_serverconn(isns_t * isns)
502 snprintf(port, sizeof(port), "%d", (isns->port) ? isns->port : ISCSI_DEFAULT_ISNS_PORT);
508 retval = getaddrinfo((char *)isns->address, port, &hints, &ai);
547 isns->sock = sock;
549 if ((retval = get_registration_info(isns)) != 0) {
553 deregister_isns_server(isns);
555 return register_isns_server(isns);
571 update_isns_server_info(isns_t * isns)
584 DEB(9, ("update_isns_server_info for iSNS %s", isns->address));
586 if (isns->sock < 0) {
587 if ((status = iscsi_isns_serverconn(isns)) != 0) {
660 get_isns_target_info(isns, TargetName);
673 * Create an isns structure and initialize it.
678 * Returns: Pointer to isns structure, NULL if allocation failed.
684 isns_t *isns;
688 if ((isns = calloc(1, sizeof(*isns))) == NULL)
694 isns->entry.sid.id = isns_id;
695 strlcpy((char *)isns->entry.sid.name, (char *)req->name, sizeof(isns->entry.sid.name));
696 strlcpy((char *)isns->address, (char *)req->address, sizeof(isns->address));
697 isns->port = req->port;
698 isns->sock = -1;
700 return isns;
728 isns_t *isns;
745 * First, allocate the isns server structure to put on the list
748 isns = create_isns(req);
749 if (isns == NULL) {
755 TAILQ_INSERT_TAIL(&list[ISNS_LIST].list, &isns->entry, link);
757 res->server_id = isns->entry.sid.id;
760 isns->entry.sid.id, isns->address));
766 update_isns_server_info(isns);
787 isns_t *isns;
790 isns = find_isns(preq);
791 if (isns == NULL) {
804 strlcpy((char *)res->address, (char *)isns->address,
806 res->port = isns->port;
807 res->server_id = isns->entry.sid;
834 isns_t *isns;
838 isns = find_isns_id(id);
839 if (isns == NULL)
848 rc = update_isns_server_info(isns);
883 isns_t *isns;
886 isns = find_isns(preq);
887 if (isns == NULL)
892 if (isns->sock >= 0) {
893 deregister_isns_server(isns);
894 close(isns->sock);
897 TAILQ_REMOVE(&list[ISNS_LIST].list, &isns->entry, link);
900 id = isns->entry.sid.id;
901 free(isns);
914 Deregister all isns servers on daemon termination