transport: Optimize ipmi complete code
Since the custom return status code is only used in
transporthandler.cpp, optimize the ipmi status code and declare the
return status code in transporthandler.cpp.
Change-Id: I4564894c8253b6c8c6c42abe23c19648910202ea
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
diff --git a/transporthandler.cpp b/transporthandler.cpp
index 6735ee6..df4e396 100644
--- a/transporthandler.cpp
+++ b/transporthandler.cpp
@@ -53,6 +53,32 @@
namespace transport
{
+// LAN Handler specific response codes
+constexpr Cc ccParamNotSupported = 0x80;
+constexpr Cc ccParamSetLocked = 0x81;
+constexpr Cc ccParamReadOnly = 0x82;
+constexpr Cc ccWriteReadParameter = 0x82;
+
+static inline auto responseParamNotSupported()
+{
+ return response(ccParamNotSupported);
+}
+
+static inline auto responseParamSetLocked()
+{
+ return response(ccParamSetLocked);
+}
+
+static inline auto responseParamReadOnly()
+{
+ return response(ccParamReadOnly);
+}
+
+static inline auto responseWriteReadParameter()
+{
+ return response(ccWriteReadParameter);
+}
+
/** @brief Valid address origins for IPv4 */
const std::unordered_set<IP::AddressOrigin> originsV4 = {
IP::AddressOrigin::Static,
@@ -696,12 +722,12 @@
RspType<> setLanOem(uint8_t, uint8_t, message::Payload& req)
{
req.trailingOk = true;
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
RspType<message::Payload> getLanOem(uint8_t, uint8_t, uint8_t, uint8_t)
{
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
/**
@@ -772,7 +798,7 @@
auto& storedStatus = getSetStatus(channel);
if (storedStatus == SetStatus::InProgress)
{
- return response(ccParamSetLocked);
+ return responseParamSetLocked();
}
storedStatus = status;
return responseSuccess();
@@ -784,17 +810,17 @@
}
return responseSuccess();
}
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
case LanParam::AuthSupport:
{
req.trailingOk = true;
- return response(ccParamReadOnly);
+ return responseParamReadOnly();
}
case LanParam::AuthEnables:
{
req.trailingOk = true;
- return response(ccParamReadOnly);
+ return responseParamReadOnly();
}
case LanParam::IP:
{
@@ -837,7 +863,7 @@
case IPSrc::BMC:
return responseInvalidFieldRequest();
}
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
case LanParam::MAC:
{
@@ -912,7 +938,7 @@
case LanParam::IPFamilySupport:
{
req.trailingOk = true;
- return response(ccParamReadOnly);
+ return responseParamReadOnly();
}
case LanParam::IPFamilyEnables:
{
@@ -928,14 +954,14 @@
return responseSuccess();
case IPFamilyEnables::IPv4Only:
case IPFamilyEnables::IPv6Only:
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
case LanParam::IPv6Status:
{
req.trailingOk = true;
- return response(ccParamReadOnly);
+ return responseParamReadOnly();
}
case LanParam::IPv6StaticAddresses:
{
@@ -976,7 +1002,7 @@
case LanParam::IPv6DynamicAddresses:
{
req.trailingOk = true;
- return response(ccParamReadOnly);
+ return responseParamReadOnly();
}
case LanParam::IPv6RouterControl:
{
@@ -991,7 +1017,7 @@
control & std::bitset<8>(reservedRACCBits));
expected.any())
{
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
bool enableRA = control[IPv6RouterControlFlag::Dynamic];
@@ -1071,7 +1097,7 @@
}
req.trailingOk = true;
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
RspType<> setLan(Context::ptr ctx, uint4_t channelBits, uint4_t reserved1,
@@ -1373,7 +1399,7 @@
return getLanOem(channel, parameter, set, block);
}
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
constexpr const char* solInterface = "xyz.openbmc_project.Ipmi.SOL";
@@ -1538,13 +1564,13 @@
}
case SolConfParam::Port:
{
- return response(ipmiCCWriteReadParameter);
+ return responseWriteReadParameter();
}
case SolConfParam::NonVbitrate:
case SolConfParam::Vbitrate:
case SolConfParam::Channel:
default:
- return response(ipmiCCParamNotSupported);
+ return responseParamNotSupported();
}
return responseSuccess();
}
@@ -1695,7 +1721,7 @@
"/xyz/openbmc_project/console/default",
"xyz.openbmc_project.Console.UART", "Baud", baudRate))
{
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
switch (baudRate)
{
@@ -1722,10 +1748,10 @@
}
case SolConfParam::Vbitrate:
default:
- return response(ipmiCCParamNotSupported);
+ return responseParamNotSupported();
}
- return response(ccParamNotSupported);
+ return responseParamNotSupported();
}
} // namespace transport