Add fix for GetChannelPaylodSupport
Currently `getChannelName` throws when the channel number
is invalid.
Because of which the error reported is Unspecified.
Example:
root@gb200nvl-obmc:~# ipmitool raw 0x06 0x4E 0x4
[1] Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x4e rsp=0xff): Unspecified error
Added a patch to handle this gracefully
Tested:
Tested on gb200nvl-obmc platform
root@gb200nvl-obmc:~# ipmitool raw 0x06 0x4E 0x4
[2] Unable to send RAW command (channel=0x0 netfn=0x6 lun=0x0 cmd=0x4e rsp=0xcc): Invalid data field in request
Change-Id: Ibc9981d5e7143311f28bb9191fed4d68cd81356b
Signed-off-by: Prithvi Pai <ppai@nvidia.com>
diff --git a/user_channel/channel_layer.cpp b/user_channel/channel_layer.cpp
index 26bc3fa..e59459f 100644
--- a/user_channel/channel_layer.cpp
+++ b/user_channel/channel_layer.cpp
@@ -30,7 +30,14 @@
// associated with ethernet interface as the channel number to
// eth association is not done. Need to revisit later
struct stat fileStat = {};
- std::string devName("/sys/class/net/" + getChannelName(chNum));
+ auto channelName = getChannelName(chNum);
+ if (channelName.empty())
+ {
+ lg2::error("Channel name does not exist for channel {CHANNEL}",
+ "CHANNEL", chNum);
+ return false;
+ }
+ std::string devName("/sys/class/net/" + channelName);
if (stat(devName.data(), &fileStat) != 0)
{