Lines Matching refs:ilp

181 	ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata;  in ipmi_lan_send_packet()  local
183 return (send(ilp->il_sd, data, dlen, 0)); in ipmi_lan_send_packet()
192 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_lan_recv_packet() local
196 FD_SET(ilp->il_sd, &read_set); in ipmi_lan_recv_packet()
199 FD_SET(ilp->il_sd, &err_set); in ipmi_lan_recv_packet()
201 tmout.tv_sec = ilp->il_timeout; in ipmi_lan_recv_packet()
204 ret = select(ilp->il_sd + 1, &read_set, NULL, &err_set, &tmout); in ipmi_lan_recv_packet()
205 if (ret < 0 || FD_ISSET(ilp->il_sd, &err_set) || in ipmi_lan_recv_packet()
206 !FD_ISSET(ilp->il_sd, &read_set)) in ipmi_lan_recv_packet()
220 ret = recv(ilp->il_sd, &rsp.ir_data, IPMI_BUF_SIZE, 0); in ipmi_lan_recv_packet()
224 FD_SET(ilp->il_sd, &read_set); in ipmi_lan_recv_packet()
227 FD_SET(ilp->il_sd, &err_set); in ipmi_lan_recv_packet()
229 tmout.tv_sec = ilp->il_timeout; in ipmi_lan_recv_packet()
232 ret = select(ilp->il_sd + 1, &read_set, NULL, &err_set, &tmout); in ipmi_lan_recv_packet()
234 if (FD_ISSET(ilp->il_sd, &err_set) || in ipmi_lan_recv_packet()
235 !FD_ISSET(ilp->il_sd, &read_set)) in ipmi_lan_recv_packet()
238 ret = recv(ilp->il_sd, &rsp.ir_data, IPMI_BUF_SIZE, 0); in ipmi_lan_recv_packet()
337 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_lan_poll_recv() local
363 if (ilp->il_send_authcode && (rsp_authtype || ilp->il_authtype)) in ipmi_lan_poll_recv()
420 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_lan_build_cmd() local
436 if (ilp->il_send_authcode && ilp->il_authtype) in ipmi_lan_build_cmd()
453 if (! ilp->il_send_authcode) in ipmi_lan_build_cmd()
459 (void) memcpy(&session_hdr.sh_seq, &ilp->il_in_seq, sizeof (uint32_t)); in ipmi_lan_build_cmd()
460 (void) memcpy(&session_hdr.sh_id, &ilp->il_session_id, in ipmi_lan_build_cmd()
467 if (ilp->il_send_authcode && ilp->il_authtype) { in ipmi_lan_build_cmd()
468 (void) memcpy(msg + off, ilp->il_authcode, 16); in ipmi_lan_build_cmd()
501 if (ilp->il_in_seq) { in ipmi_lan_build_cmd()
502 ilp->il_in_seq++; in ipmi_lan_build_cmd()
503 if (ilp->il_in_seq == 0) in ipmi_lan_build_cmd()
504 ilp->il_in_seq++; in ipmi_lan_build_cmd()
517 ipmi_lan_t *ilp = (ipmi_lan_t *)data; in ipmi_lan_send() local
523 if ((entry = ipmi_lan_build_cmd(ilp->il_ihp, cmd)) == NULL) in ipmi_lan_send()
526 if (ipmi_lan_send_packet(ilp->il_ihp, entry->ire_msg_data, in ipmi_lan_send()
528 if (++try >= ilp->il_num_retries) in ipmi_lan_send()
536 if ((rsp = ipmi_lan_poll_recv(ilp->il_ihp)) != NULL) in ipmi_lan_send()
540 ipmi_req_remove_entry(ilp->il_ihp, entry->ire_rq_seq, in ipmi_lan_send()
543 if (++try >= ilp->il_num_retries) in ipmi_lan_send()
574 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_get_session_challenge_cmd() local
580 switch (ilp->il_authtype) { in ipmi_get_session_challenge_cmd()
597 (void) memcpy(msg_data + 1, ilp->il_user, 16); in ipmi_get_session_challenge_cmd()
605 if (ipmi_lan_send(ilp, &cmd, &resp, &ccode) != 0 || ccode) in ipmi_get_session_challenge_cmd()
623 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_activate_session_cmd() local
631 switch (ilp->il_authtype) { in ipmi_activate_session_cmd()
648 msg_data[1] = ilp->il_privlvl; in ipmi_activate_session_cmd()
650 (void) memcpy(msg_data + 2, ilp->il_challenge, 16); in ipmi_activate_session_cmd()
658 ilp->il_send_authcode = B_TRUE; in ipmi_activate_session_cmd()
660 if (ipmi_lan_send(ilp, &cmd, &resp, &ccode) != 0 || ccode) { in ipmi_activate_session_cmd()
661 ilp->il_send_authcode = B_FALSE; in ipmi_activate_session_cmd()
666 (void) memcpy(&ilp->il_session_id, resp_data + 1, 4); in ipmi_activate_session_cmd()
667 ilp->il_in_seq = resp_data[8] << 24 | resp_data[7] << 16 | in ipmi_activate_session_cmd()
669 if (ilp->il_in_seq == 0) in ipmi_activate_session_cmd()
670 ++ilp->il_in_seq; in ipmi_activate_session_cmd()
708 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_close_session_cmd() local
713 if (! ilp->il_session_active) in ipmi_close_session_cmd()
716 (void) memcpy(&msg_data, &ilp->il_session_id, 4); in ipmi_close_session_cmd()
724 if (ipmi_lan_send(ilp, &cmd, &resp, &ccode) != 0) in ipmi_close_session_cmd()
752 ipmi_lan_t *ilp = (ipmi_lan_t *)ihp->ih_tdata; in ipmi_lan_activate_session() local
759 ilp->il_privlvl)) == NULL) in ipmi_lan_activate_session()
773 if (ipmi_get_session_challenge_cmd(ihp, &ilp->il_session_id, in ipmi_lan_activate_session()
774 ilp->il_challenge) != 0) in ipmi_lan_activate_session()
780 ilp->il_session_active = B_TRUE; in ipmi_lan_activate_session()
782 if (ipmi_set_session_privlvl_cmd(ihp, ilp->il_privlvl) != 0) in ipmi_lan_activate_session()
791 ipmi_lan_t *ilp = (ipmi_lan_t *)data; in ipmi_lan_close() local
793 if (ilp->il_session_active) in ipmi_lan_close()
794 (void) ipmi_close_session_cmd(ilp->il_ihp); in ipmi_lan_close()
796 if (ilp->il_sd >= 0) in ipmi_lan_close()
797 (void) close(ilp->il_sd); in ipmi_lan_close()
799 ipmi_req_clear_entries(ilp->il_ihp); in ipmi_lan_close()
800 ipmi_free(ilp->il_ihp, ipmi_req_entries); in ipmi_lan_close()
801 ipmi_free(ilp->il_ihp, ilp); in ipmi_lan_close()
809 ipmi_lan_t *ilp; in ipmi_lan_open() local
812 if ((ilp = ipmi_zalloc(ihp, sizeof (ipmi_lan_t))) == NULL) { in ipmi_lan_open()
816 ilp->il_ihp = ihp; in ipmi_lan_open()
817 ihp->ih_tdata = ilp; in ipmi_lan_open()
829 ipmi_free(ihp, ilp); in ipmi_lan_open()
833 (void) strncpy(ilp->il_host, hostname, MAXHOSTNAMELEN); in ipmi_lan_open()
834 (void) strncpy(ilp->il_user, user, 16); in ipmi_lan_open()
835 (void) strncpy(ilp->il_authcode, authcode, 16); in ipmi_lan_open()
843 if (nvlist_lookup_uint16(params, IPMI_LAN_PORT, &ilp->il_port)) in ipmi_lan_open()
844 ilp->il_port = RMCP_UDP_PORT; in ipmi_lan_open()
846 if (nvlist_lookup_uint8(params, IPMI_LAN_PRIVLVL, &ilp->il_privlvl)) in ipmi_lan_open()
847 ilp->il_privlvl = IPMI_SESSION_PRIV_ADMIN; in ipmi_lan_open()
849 if (nvlist_lookup_uint32(params, IPMI_LAN_TIMEOUT, &ilp->il_timeout)) in ipmi_lan_open()
850 ilp->il_timeout = DEF_IPMI_LAN_TIMEOUT; in ipmi_lan_open()
853 &ilp->il_num_retries)) in ipmi_lan_open()
854 ilp->il_num_retries = DEF_IPMI_LAN_NUM_RETRIES; in ipmi_lan_open()
856 ilp->il_authtype = IPMI_SESSION_AUTHTYPE_PASSWORD; in ipmi_lan_open()
862 ilp->il_addr.sin_family = AF_INET; in ipmi_lan_open()
863 ilp->il_addr.sin_port = htons(ilp->il_port); in ipmi_lan_open()
865 rc = inet_pton(AF_INET, (const char *)ilp->il_host, in ipmi_lan_open()
866 &ilp->il_addr.sin_addr); in ipmi_lan_open()
868 if ((host = gethostbyname((const char *)ilp->il_host)) in ipmi_lan_open()
870 ipmi_free(ihp, ilp); in ipmi_lan_open()
874 ilp->il_addr.sin_family = host->h_addrtype; in ipmi_lan_open()
875 (void) memcpy(&ilp->il_addr.sin_addr, host->h_addr, in ipmi_lan_open()
879 if ((ilp->il_sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { in ipmi_lan_open()
880 ipmi_free(ihp, ilp); in ipmi_lan_open()
884 if (connect(ilp->il_sd, (struct sockaddr *)&ilp->il_addr, in ipmi_lan_open()
886 ipmi_lan_close(ilp); in ipmi_lan_open()
899 ipmi_lan_close(ilp); in ipmi_lan_open()
903 return (ilp); in ipmi_lan_open()