Lines Matching refs:msg

106 								 uint8_t          * msg,
318 e->rq_seq, e->req.msg.cmd); in ipmi_req_add_entry()
328 while (e && (e->rq_seq != seq || e->req.msg.cmd != cmd)) { in ipmi_req_lookup_entry()
343 while (e && (e->rq_seq != seq || e->req.msg.cmd != cmd)) { in ipmi_req_remove_entry()
384 e->rq_seq, e->req.msg.cmd); in ipmi_req_clear_entries()
735 uint8_t target_cmd = entry->req.msg.target_cmd; in ipmi_lan_poll_single()
748 entry->req.msg.cmd = entry->req.msg.target_cmd; in ipmi_lan_poll_single()
1344 uint8_t * msg, in getIpmiPayloadWireRep() argument
1372 msg[len++] = IPMI_BMC_SLAVE_ADDR; in getIpmiPayloadWireRep()
1373 msg[len++] = IPMI_NETFN_APP << 2; in getIpmiPayloadWireRep()
1375 msg[len++] = ipmi_csum(msg+cs, tmp); in getIpmiPayloadWireRep()
1377 msg[len++] = IPMI_REMOTE_SWID; in getIpmiPayloadWireRep()
1378 msg[len++] = curr_seq << 2; in getIpmiPayloadWireRep()
1381 msg[len++] = 0x34; /* Send Message rqst */ in getIpmiPayloadWireRep()
1383 msg[len++] = (0x40|intf->transit_channel); /* Track request*/ in getIpmiPayloadWireRep()
1385 msg[len++] = (0x40|intf->target_channel); /* Track request*/ in getIpmiPayloadWireRep()
1394 msg[len++] = intf->transit_addr; in getIpmiPayloadWireRep()
1395 msg[len++] = IPMI_NETFN_APP << 2; in getIpmiPayloadWireRep()
1397 msg[len++] = ipmi_csum(msg+cs, tmp); in getIpmiPayloadWireRep()
1399 msg[len++] = IPMI_REMOTE_SWID; in getIpmiPayloadWireRep()
1400 msg[len++] = curr_seq << 2; in getIpmiPayloadWireRep()
1401 msg[len++] = 0x34; /* Send Message rqst */ in getIpmiPayloadWireRep()
1403 entry->req.msg.target_cmd = entry->req.msg.cmd; /* Save target command */ in getIpmiPayloadWireRep()
1404 entry->req.msg.cmd = 0x34; /* (fixup request entry) */ in getIpmiPayloadWireRep()
1406 msg[len++] = (0x40|intf->target_channel); /* Track request*/ in getIpmiPayloadWireRep()
1423 msg[len++] = intf->target_addr; in getIpmiPayloadWireRep()
1425 msg[len++] = IPMI_BMC_SLAVE_ADDR; in getIpmiPayloadWireRep()
1428 msg[len++] = req->msg.netfn << 2 | (req->msg.lun & 3); in getIpmiPayloadWireRep()
1432 msg[len++] = ipmi_csum(msg+cs, tmp); in getIpmiPayloadWireRep()
1437 msg[len++] = IPMI_REMOTE_SWID; in getIpmiPayloadWireRep()
1439 msg[len++] = intf->my_addr; in getIpmiPayloadWireRep()
1442 msg[len++] = rq_seq << 2; in getIpmiPayloadWireRep()
1445 msg[len++] = req->msg.cmd; in getIpmiPayloadWireRep()
1448 if (req->msg.data_len) { in getIpmiPayloadWireRep()
1449 memcpy(msg + len, req->msg.data, req->msg.data_len); in getIpmiPayloadWireRep()
1450 len += req->msg.data_len; in getIpmiPayloadWireRep()
1455 msg[len++] = ipmi_csum(msg+cs, tmp); in getIpmiPayloadWireRep()
1460 msg[len++] = ipmi_csum(msg+cs3, tmp); in getIpmiPayloadWireRep()
1467 msg[len++] = ipmi_csum(msg+cs2, tmp); in getIpmiPayloadWireRep()
1482 uint8_t * msg, /* output */ in getSolPayloadWireRep() argument
1509 msg[i++] = payload->payload.sol_packet.packet_sequence_number; in getSolPayloadWireRep()
1510 msg[i++] = payload->payload.sol_packet.acked_packet_number; in getSolPayloadWireRep()
1511 msg[i++] = payload->payload.sol_packet.accepted_character_count; in getSolPayloadWireRep()
1513 msg[i] = payload->payload.sol_packet.is_nack ? 0x40 : 0; in getSolPayloadWireRep()
1514 msg[i] |= payload->payload.sol_packet.assert_ring_wor ? 0x20 : 0; in getSolPayloadWireRep()
1515 msg[i] |= payload->payload.sol_packet.generate_break ? 0x10 : 0; in getSolPayloadWireRep()
1516 msg[i] |= payload->payload.sol_packet.deassert_cts ? 0x08 : 0; in getSolPayloadWireRep()
1517 msg[i] |= payload->payload.sol_packet.deassert_dcd_dsr ? 0x04 : 0; in getSolPayloadWireRep()
1518 msg[i] |= payload->payload.sol_packet.flush_inbound ? 0x02 : 0; in getSolPayloadWireRep()
1519 msg[i++] |= payload->payload.sol_packet.flush_outbound ? 0x01 : 0; in getSolPayloadWireRep()
1522 memcpy(msg + i, in getSolPayloadWireRep()
1595 uint8_t * msg; in ipmi_lanplus_build_v2x_msg() local
1610 msg = malloc(len); in ipmi_lanplus_build_v2x_msg()
1611 if (msg == NULL) { in ipmi_lanplus_build_v2x_msg()
1615 memset(msg, 0, len); in ipmi_lanplus_build_v2x_msg()
1622 memcpy(msg, &rmcp, sizeof(rmcp)); in ipmi_lanplus_build_v2x_msg()
1632 msg[IPMI_LANPLUS_OFFSET_AUTHTYPE] = 0x06; in ipmi_lanplus_build_v2x_msg()
1635 msg[IPMI_LANPLUS_OFFSET_PAYLOAD_TYPE] = payload->payload_type; in ipmi_lanplus_build_v2x_msg()
1639 msg[IPMI_LANPLUS_OFFSET_PAYLOAD_TYPE] |= in ipmi_lanplus_build_v2x_msg()
1641 msg[IPMI_LANPLUS_OFFSET_PAYLOAD_TYPE] |= in ipmi_lanplus_build_v2x_msg()
1648 msg[IPMI_LANPLUS_OFFSET_SESSION_ID ] = session->v2_data.bmc_id & 0xff; in ipmi_lanplus_build_v2x_msg()
1649 msg[IPMI_LANPLUS_OFFSET_SESSION_ID + 1] = (session->v2_data.bmc_id >> 8) & 0xff; in ipmi_lanplus_build_v2x_msg()
1650 msg[IPMI_LANPLUS_OFFSET_SESSION_ID + 2] = (session->v2_data.bmc_id >> 16) & 0xff; in ipmi_lanplus_build_v2x_msg()
1651 msg[IPMI_LANPLUS_OFFSET_SESSION_ID + 3] = (session->v2_data.bmc_id >> 24) & 0xff; in ipmi_lanplus_build_v2x_msg()
1654 msg[IPMI_LANPLUS_OFFSET_SEQUENCE_NUM ] = session->out_seq & 0xff; in ipmi_lanplus_build_v2x_msg()
1655 msg[IPMI_LANPLUS_OFFSET_SEQUENCE_NUM + 1] = (session->out_seq >> 8) & 0xff; in ipmi_lanplus_build_v2x_msg()
1656 msg[IPMI_LANPLUS_OFFSET_SEQUENCE_NUM + 2] = (session->out_seq >> 16) & 0xff; in ipmi_lanplus_build_v2x_msg()
1657 msg[IPMI_LANPLUS_OFFSET_SEQUENCE_NUM + 3] = (session->out_seq >> 24) & 0xff; in ipmi_lanplus_build_v2x_msg()
1680 msg + IPMI_LANPLUS_OFFSET_PAYLOAD, in ipmi_lanplus_build_v2x_msg()
1688 msg + IPMI_LANPLUS_OFFSET_PAYLOAD, in ipmi_lanplus_build_v2x_msg()
1692 printbuf(msg + IPMI_LANPLUS_OFFSET_PAYLOAD, 4, "SOL MSG TO BMC"); in ipmi_lanplus_build_v2x_msg()
1700 memcpy(msg + IPMI_LANPLUS_OFFSET_PAYLOAD, in ipmi_lanplus_build_v2x_msg()
1708 memcpy(msg + IPMI_LANPLUS_OFFSET_PAYLOAD, in ipmi_lanplus_build_v2x_msg()
1716 memcpy(msg + IPMI_LANPLUS_OFFSET_PAYLOAD, in ipmi_lanplus_build_v2x_msg()
1725 free(msg); in ipmi_lanplus_build_v2x_msg()
1726 msg = NULL; in ipmi_lanplus_build_v2x_msg()
1742 msg + IPMI_LANPLUS_OFFSET_PAYLOAD, /* input */ in ipmi_lanplus_build_v2x_msg()
1744 msg + IPMI_LANPLUS_OFFSET_PAYLOAD, /* output */ in ipmi_lanplus_build_v2x_msg()
1750 msg[IPMI_LANPLUS_OFFSET_PAYLOAD_SIZE ] = in ipmi_lanplus_build_v2x_msg()
1752 msg[IPMI_LANPLUS_OFFSET_PAYLOAD_SIZE + 1] = in ipmi_lanplus_build_v2x_msg()
1793 msg[start_of_session_trailer + i] = 0xFF; in ipmi_lanplus_build_v2x_msg()
1796 msg[start_of_session_trailer + integrity_pad_size] = integrity_pad_size; in ipmi_lanplus_build_v2x_msg()
1799 msg[start_of_session_trailer + integrity_pad_size + 1] = in ipmi_lanplus_build_v2x_msg()
1809 msg + in ipmi_lanplus_build_v2x_msg()
1816 printbuf(msg + IPMI_LANPLUS_OFFSET_AUTHTYPE, hmac_input_size, "authcode input"); in ipmi_lanplus_build_v2x_msg()
1823 msg + IPMI_LANPLUS_OFFSET_AUTHTYPE, /* hmac input */ in ipmi_lanplus_build_v2x_msg()
1849 *msg_data = msg; in ipmi_lanplus_build_v2x_msg()
1896 entry->req.msg.target_cmd = entry->req.msg.cmd; in ipmi_lanplus_build_v2x_ipmi_cmd()
1897 entry->req.msg.cmd = 0x34; in ipmi_lanplus_build_v2x_ipmi_cmd()
1912 v2_payload.payload_length = req->msg.data_len + 7; in ipmi_lanplus_build_v2x_ipmi_cmd()
1967 uint8_t * msg; in ipmi_lanplus_build_v15_ipmi_cmd() local
1976 len = req->msg.data_len + 21; in ipmi_lanplus_build_v15_ipmi_cmd()
1978 msg = malloc(len); in ipmi_lanplus_build_v15_ipmi_cmd()
1979 if (msg == NULL) { in ipmi_lanplus_build_v15_ipmi_cmd()
1983 memset(msg, 0, len); in ipmi_lanplus_build_v15_ipmi_cmd()
1986 memcpy(msg, &rmcp, sizeof(rmcp)); in ipmi_lanplus_build_v15_ipmi_cmd()
1995 msg[len++] = IPMI_SESSION_AUTHTYPE_NONE; in ipmi_lanplus_build_v15_ipmi_cmd()
1997 msg[len++] = session->out_seq & 0xff; in ipmi_lanplus_build_v15_ipmi_cmd()
1998 msg[len++] = (session->out_seq >> 8) & 0xff; in ipmi_lanplus_build_v15_ipmi_cmd()
1999 msg[len++] = (session->out_seq >> 16) & 0xff; in ipmi_lanplus_build_v15_ipmi_cmd()
2000 msg[len++] = (session->out_seq >> 24) & 0xff; in ipmi_lanplus_build_v15_ipmi_cmd()
2007 msg[len++] = 0; in ipmi_lanplus_build_v15_ipmi_cmd()
2008 msg[len++] = 0; in ipmi_lanplus_build_v15_ipmi_cmd()
2009 msg[len++] = 0; in ipmi_lanplus_build_v15_ipmi_cmd()
2010 msg[len++] = 0; in ipmi_lanplus_build_v15_ipmi_cmd()
2013 msg[len++] = req->msg.data_len + 7; in ipmi_lanplus_build_v15_ipmi_cmd()
2017 msg[len++] = IPMI_BMC_SLAVE_ADDR; in ipmi_lanplus_build_v15_ipmi_cmd()
2018 msg[len++] = req->msg.netfn << 2; in ipmi_lanplus_build_v15_ipmi_cmd()
2020 msg[len++] = ipmi_csum(msg+cs, tmp); in ipmi_lanplus_build_v15_ipmi_cmd()
2022 msg[len++] = IPMI_REMOTE_SWID; in ipmi_lanplus_build_v15_ipmi_cmd()
2026 msg[len++] = entry->rq_seq << 2; in ipmi_lanplus_build_v15_ipmi_cmd()
2027 msg[len++] = req->msg.cmd; in ipmi_lanplus_build_v15_ipmi_cmd()
2039 lprintf(LOG_DEBUG+1, ">> NetFn : %02x", req->msg.netfn); in ipmi_lanplus_build_v15_ipmi_cmd()
2044 lprintf(LOG_DEBUG+1, ">> Command : %02x", req->msg.cmd); in ipmi_lanplus_build_v15_ipmi_cmd()
2047 if (req->msg.data_len) { in ipmi_lanplus_build_v15_ipmi_cmd()
2048 memcpy(msg+len, req->msg.data, req->msg.data_len); in ipmi_lanplus_build_v15_ipmi_cmd()
2049 len += req->msg.data_len; in ipmi_lanplus_build_v15_ipmi_cmd()
2054 msg[len++] = ipmi_csum(msg+cs, tmp); in ipmi_lanplus_build_v15_ipmi_cmd()
2057 entry->msg_data = msg; in ipmi_lanplus_build_v15_ipmi_cmd()
2136 lprintf(LOG_DEBUG, ">> netfn : 0x%02x", ipmi_request->msg.netfn); in ipmi_lanplus_send_payload()
2137 lprintf(LOG_DEBUG, ">> command : 0x%02x", ipmi_request->msg.cmd); in ipmi_lanplus_send_payload()
2143 for (i = 0; i < ipmi_request->msg.data_len; ++i) in ipmi_lanplus_send_payload()
2144 fprintf(stderr, "0x%02x ", ipmi_request->msg.data[i]); in ipmi_lanplus_send_payload()
2155 if ((ipmi_request->msg.netfn == IPMI_NETFN_APP) && in ipmi_lanplus_send_payload()
2156 (ipmi_request->msg.cmd == IPMI_GET_CHANNEL_AUTH_CAP) && in ipmi_lanplus_send_payload()
2321 ipmi_req_remove_entry( entry->rq_seq, entry->req.msg.cmd); in ipmi_lanplus_send_payload()
2676 req.msg.netfn = IPMI_NETFN_APP; // 0x06 in ipmi_get_auth_capabilities_cmd()
2677 req.msg.cmd = IPMI_GET_CHANNEL_AUTH_CAP; // 0x38 in ipmi_get_auth_capabilities_cmd()
2678 req.msg.data = msg_data; in ipmi_get_auth_capabilities_cmd()
2679 req.msg.data_len = 2; in ipmi_get_auth_capabilities_cmd()
2741 req.msg.netfn = IPMI_NETFN_APP; in ipmi_close_session_cmd()
2742 req.msg.cmd = 0x3c; in ipmi_close_session_cmd()
2743 req.msg.data = msg_data; in ipmi_close_session_cmd()
2744 req.msg.data_len = 4; in ipmi_close_session_cmd()
2788 uint8_t * msg; in ipmi_lanplus_open_session() local
2797 msg = (uint8_t*)malloc(IPMI_OPEN_SESSION_REQUEST_SIZE); in ipmi_lanplus_open_session()
2798 if (msg == NULL) { in ipmi_lanplus_open_session()
2803 memset(msg, 0, IPMI_OPEN_SESSION_REQUEST_SIZE); in ipmi_lanplus_open_session()
2805 msg[0] = 0; /* Message tag */ in ipmi_lanplus_open_session()
2807 msg[1] = intf->ssn_params.privlvl; in ipmi_lanplus_open_session()
2809 msg[1] = 0; /* Give us highest privlg level based on supported algorithms */ in ipmi_lanplus_open_session()
2810 msg[2] = 0; /* reserved */ in ipmi_lanplus_open_session()
2811 msg[3] = 0; /* reserved */ in ipmi_lanplus_open_session()
2815 msg[4] = session->v2_data.console_id & 0xff; in ipmi_lanplus_open_session()
2816 msg[5] = (session->v2_data.console_id >> 8) & 0xff; in ipmi_lanplus_open_session()
2817 msg[6] = (session->v2_data.console_id >> 16) & 0xff; in ipmi_lanplus_open_session()
2818 msg[7] = (session->v2_data.console_id >> 24) & 0xff; in ipmi_lanplus_open_session()
2828 free(msg); in ipmi_lanplus_open_session()
2829 msg = NULL; in ipmi_lanplus_open_session()
2837 msg[8] = 0; /* specifies authentication payload */ in ipmi_lanplus_open_session()
2838 msg[9] = 0; /* reserved */ in ipmi_lanplus_open_session()
2839 msg[10] = 0; /* reserved */ in ipmi_lanplus_open_session()
2840 msg[11] = 8; /* payload length */ in ipmi_lanplus_open_session()
2841 msg[12] = session->v2_data.requested_auth_alg; in ipmi_lanplus_open_session()
2842 msg[13] = 0; /* reserved */ in ipmi_lanplus_open_session()
2843 msg[14] = 0; /* reserved */ in ipmi_lanplus_open_session()
2844 msg[15] = 0; /* reserved */ in ipmi_lanplus_open_session()
2849 msg[16] = 1; /* specifies integrity payload */ in ipmi_lanplus_open_session()
2850 msg[17] = 0; /* reserved */ in ipmi_lanplus_open_session()
2851 msg[18] = 0; /* reserved */ in ipmi_lanplus_open_session()
2852 msg[19] = 8; /* payload length */ in ipmi_lanplus_open_session()
2853 msg[20] = session->v2_data.requested_integrity_alg; in ipmi_lanplus_open_session()
2854 msg[21] = 0; /* reserved */ in ipmi_lanplus_open_session()
2855 msg[22] = 0; /* reserved */ in ipmi_lanplus_open_session()
2856 msg[23] = 0; /* reserved */ in ipmi_lanplus_open_session()
2861 msg[24] = 2; /* specifies confidentiality payload */ in ipmi_lanplus_open_session()
2862 msg[25] = 0; /* reserved */ in ipmi_lanplus_open_session()
2863 msg[26] = 0; /* reserved */ in ipmi_lanplus_open_session()
2864 msg[27] = 8; /* payload length */ in ipmi_lanplus_open_session()
2865 msg[28] = session->v2_data.requested_crypt_alg; in ipmi_lanplus_open_session()
2866 msg[29] = 0; /* reserved */ in ipmi_lanplus_open_session()
2867 msg[30] = 0; /* reserved */ in ipmi_lanplus_open_session()
2868 msg[31] = 0; /* reserved */ in ipmi_lanplus_open_session()
2873 v2_payload.payload.open_session_request.request = msg; in ipmi_lanplus_open_session()
2877 free(msg); in ipmi_lanplus_open_session()
2878 msg = NULL; in ipmi_lanplus_open_session()
2976 uint8_t * msg; in ipmi_lanplus_rakp1() local
2983 msg = (uint8_t*)malloc(IPMI_RAKP1_MESSAGE_SIZE); in ipmi_lanplus_rakp1()
2984 if (msg == NULL) { in ipmi_lanplus_rakp1()
2988 memset(msg, 0, IPMI_RAKP1_MESSAGE_SIZE); in ipmi_lanplus_rakp1()
2991 msg[0] = 0; /* Message tag */ in ipmi_lanplus_rakp1()
2993 msg[1] = 0; /* reserved */ in ipmi_lanplus_rakp1()
2994 msg[2] = 0; /* reserved */ in ipmi_lanplus_rakp1()
2995 msg[3] = 0; /* reserved */ in ipmi_lanplus_rakp1()
2998 msg[4] = session->v2_data.bmc_id & 0xff; in ipmi_lanplus_rakp1()
2999 msg[5] = (session->v2_data.bmc_id >> 8) & 0xff; in ipmi_lanplus_rakp1()
3000 msg[6] = (session->v2_data.bmc_id >> 16) & 0xff; in ipmi_lanplus_rakp1()
3001 msg[7] = (session->v2_data.bmc_id >> 24) & 0xff; in ipmi_lanplus_rakp1()
3010 free(msg); in ipmi_lanplus_rakp1()
3011 msg = NULL; in ipmi_lanplus_rakp1()
3014 memcpy(msg + 8, session->v2_data.console_rand, 16); in ipmi_lanplus_rakp1()
3016 lanplus_swap(msg + 8, 16); in ipmi_lanplus_rakp1()
3027 msg[24] = intf->ssn_params.privlvl | intf->ssn_params.lookupbit; in ipmi_lanplus_rakp1()
3028 session->v2_data.requested_role = msg[24]; in ipmi_lanplus_rakp1()
3029 msg[25] = 0; /* reserved */ in ipmi_lanplus_rakp1()
3030 msg[26] = 0; /* reserved */ in ipmi_lanplus_rakp1()
3034 msg[27] = strlen((const char *)intf->ssn_params.username); in ipmi_lanplus_rakp1()
3035 if (msg[27] > IPMI_MAX_USER_NAME_LENGTH) in ipmi_lanplus_rakp1()
3040 free(msg); in ipmi_lanplus_rakp1()
3041 msg = NULL; in ipmi_lanplus_rakp1()
3044 memcpy(msg + 28, intf->ssn_params.username, msg[27]); in ipmi_lanplus_rakp1()
3056 IPMI_RAKP1_MESSAGE_SIZE - (16 - msg[27]); in ipmi_lanplus_rakp1()
3058 v2_payload.payload.rakp_1_message.message = msg; in ipmi_lanplus_rakp1()
3062 free(msg); in ipmi_lanplus_rakp1()
3063 msg = NULL; in ipmi_lanplus_rakp1()
3140 uint8_t * msg; in ipmi_lanplus_rakp3() local
3148 msg = (uint8_t*)malloc(IPMI_RAKP3_MESSAGE_MAX_SIZE); in ipmi_lanplus_rakp3()
3149 if (msg == NULL) { in ipmi_lanplus_rakp3()
3153 memset(msg, 0, IPMI_RAKP3_MESSAGE_MAX_SIZE); in ipmi_lanplus_rakp3()
3156 msg[0] = 0; /* Message tag */ in ipmi_lanplus_rakp3()
3157 msg[1] = session->v2_data.rakp2_return_code; in ipmi_lanplus_rakp3()
3159 msg[2] = 0; /* reserved */ in ipmi_lanplus_rakp3()
3160 msg[3] = 0; /* reserved */ in ipmi_lanplus_rakp3()
3163 msg[4] = session->v2_data.bmc_id & 0xff; in ipmi_lanplus_rakp3()
3164 msg[5] = (session->v2_data.bmc_id >> 8) & 0xff; in ipmi_lanplus_rakp3()
3165 msg[6] = (session->v2_data.bmc_id >> 16) & 0xff; in ipmi_lanplus_rakp3()
3166 msg[7] = (session->v2_data.bmc_id >> 24) & 0xff; in ipmi_lanplus_rakp3()
3170 v2_payload.payload.rakp_3_message.message = msg; in ipmi_lanplus_rakp3()
3182 if (lanplus_generate_rakp3_authcode(msg + 8, session, &auth_length, intf)) in ipmi_lanplus_rakp3()
3186 free(msg); in ipmi_lanplus_rakp3()
3187 msg = NULL; in ipmi_lanplus_rakp3()
3201 free(msg); in ipmi_lanplus_rakp3()
3202 msg = NULL; in ipmi_lanplus_rakp3()
3209 free(msg); in ipmi_lanplus_rakp3()
3210 msg = NULL; in ipmi_lanplus_rakp3()
3217 free(msg); in ipmi_lanplus_rakp3()
3218 msg = NULL; in ipmi_lanplus_rakp3()
3226 free(msg); in ipmi_lanplus_rakp3()
3227 msg = NULL; in ipmi_lanplus_rakp3()
3323 req.msg.netfn = IPMI_NETFN_APP; in ipmi_set_session_privlvl_cmd()
3324 req.msg.cmd = 0x3b; in ipmi_set_session_privlvl_cmd()
3325 req.msg.data = &privlvl; in ipmi_set_session_privlvl_cmd()
3326 req.msg.data_len = 1; in ipmi_set_session_privlvl_cmd()
3586 .msg = { in ipmi_lanplus_keepalive()