IPMI LAN command story design - try 3rd send
tomjose
tomjose at linux.vnet.ibm.com
Sat Nov 5 04:50:25 AEDT 2016
Hi Patrick,
In the IPMI command flow that Nan mentioned in the earlier mail. Any of
the following ipmitool command for
setting the IPv4 configuration, one of the step is to 'Commit
Write'(Step 8 in Nan's mail).
ipmitool lan set 1 ipaddr x.x.x.x
ipmitool lan set 1 netmask x.x.x.x
ipmitool lan set 1 defgw ipaddr x.x.x.x
As part of the execution of any of the above commands a commit write is
executed. In that case we cannot use
'Commit Write' as a way to denote the completion of a transaction.
The IPMI specification expects the IP configuration parameters as
non-volatile parameters. The commit write
parameter is a way to implement rollback feature. The BMC would make a
copy of the existing parameters
when the 'Set in Progress' state is asserted.
The Get/Set LAN Configuration commands do not provide an option to apply
the configuration and is identified as
LAN channel settings. The link below used 'Set Channel Access' command
to apply the settings.
(ipmitool lan set 1 access on). Since LAN configuration parameters are
channel settings, we thought of
applying the LAN configuration parameters as part of 'Set Channel
Access'. I am okie if we have
an OEM command to trigger applying the LAN settings.
https://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool
In Barreleye we did not implement the 'Set Channel Access' command.
There was no external
command to trigger apply the settings. In Barreleye the LAN settings are
applied when all the
three entries(IP Address, Netmask and Gateway address) where set. So
only to change the
IP address, the netmask and gateway address need to be re-entered, which
was an imperfect
solution.
Regards,
Tom
On Friday 04 November 2016 07:44 PM, Patrick Williams wrote:
> Tom,
>
> On Fri, Nov 04, 2016 at 06:56:21PM +0530, tomjose wrote:
>> The Set Channel access command was decided to be used to mark the end of
>> a setting LAN configuration transaction.
> The IPMI spec for the SetLanConfig has a parameter 'Set In Progress'
> which states: 10b = commit write. Why are we not utilizing that? Maybe
> in addition to Set Channel Access?
>
> I don't see anything in the Set Channel Access command description that
> would be obvious as a mechanism for updating IP addresses. Was that
> just quick behavior we decided to do for Barreleye? Is there any reason
> why we would not deprecate that behavior in favor of the Set In
> Progress / commit write?
>
More information about the openbmc
mailing list