From 402418ab6e0616be2e50d7adcd5af7c14a74f88d Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Tue, 6 Jan 2004 21:40:48 +0000 Subject: [PATCH] set channel privilege limit to ADMIN during "access on" command --- ipmitool/lib/ipmi_lanp.c | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/ipmitool/lib/ipmi_lanp.c b/ipmitool/lib/ipmi_lanp.c index 4599fc9..4875b8b 100644 --- a/ipmitool/lib/ipmi_lanp.c +++ b/ipmitool/lib/ipmi_lanp.c @@ -259,36 +259,6 @@ ipmi_get_channel_info(struct ipmi_intf * intf, unsigned char channel) } } -#if 0 -static void suspend_lan_arp(struct ipmi_intf * intf, int suspend) -{ - struct ipmi_rs * rsp; - struct ipmi_rq req; - unsigned char msg_data[2]; - - msg_data[0] = IPMI_LAN_CHANNEL_1; - msg_data[1] = suspend; - - memset(&req, 0, sizeof(req)); - req.msg.netfn = IPMI_NETFN_TRANSPORT; - req.msg.cmd = IPMI_LAN_SUSPEND_ARP; - req.msg.data = msg_data; - req.msg.data_len = 2; - - rsp = intf->sendrecv(intf, &req); - if (rsp && !rsp->ccode) - printf("Suspend BMC ARP status : 0x%x\n", rsp->data[0]); -} - -static void set_lan_params(struct ipmi_intf * intf) -{ - lan_set_auth(intf); - lan_set_arp(intf); - suspend_lan_arp(intf, 0); -} - -#endif - static void lan_set_arp_interval(struct ipmi_intf * intf, unsigned char chan, unsigned char * ival) { @@ -518,7 +488,7 @@ ipmi_set_channel_access(struct ipmi_intf * intf, unsigned char channel, unsigned rqdata[1] = 0xa0; /* set pef disabled, per-msg auth enabled */ if (enable) rqdata[1] |= 0x2; /* set always available if enable is set */ - rqdata[2] = 0x04; /* don't change channel privilege limit */ + rqdata[2] = 0x84; /* set channel privilege limit to ADMIN */ req.msg.netfn = IPMI_NETFN_APP; req.msg.cmd = 0x40; @@ -533,6 +503,10 @@ ipmi_set_channel_access(struct ipmi_intf * intf, unsigned char channel, unsigned } rqdata[1] = 0x60; /* save to nvram */ + if (enable) + rqdata[1] |= 0x2; /* set always available if enable is set */ + rqdata[2] = 0x44; /* save to nvram */ + rsp = intf->sendrecv(intf, &req); if (!rsp || rsp->ccode) { printf("Error:%x Set Channel Access Command (0x%x)\n",