tree 472b3c70dc94a999943d22230da78fdc57012846
parent 51f781418013b993f4b3d5c1572ce19a5b93edf0
author Rajashekar Gade Reddy <raja.sekhar.reddy.gade@intel.com> 1577167279 +0530
committer Tom Joseph <tomjoseph@in.ibm.com> 1582126467 +0000

Return error for BMC and BIOS IPSrc in setLan cmd

openBMC does not have code which supports set lan command with BMC or
BIOS as IP source. So, set lan command with BMC or BIOS as IP source
should not return success it should return an error.

Tested:

Note: ipmitool command internally validates the completion code and
shows the generic message.

ipmitool -I lanplus -U root -P 0penBmc -H <ip_addr> lan set 1 ipsrc
"none"
//success

ipmitool -I lanplus -U root -P 0penBmc -H <ip_addr> lan set 1 ipsrc
"bios"
LAN Parameter Data does not match!  Write may have failed.

ipmitool -I lanplus -U root -P 0penBmc -H <ip_addr> lan set 1 ipsrc
"dhcp"
//success

ipmitool -I lanplus -U root -P 0penBmc -H <ip_addr> lan set 1 ipsrc
"static"
//success

setLan command for IPSrc with ipmitool raw also works fine.

Signed-off-by: Rajashekar Gade Reddy <raja.sekhar.reddy.gade@intel.com>
Change-Id: I75f8b41d5a543a57b3cccb701ee4a660dcd8f030
