Redfish: Fix incorrect data of NetworkProtocol
- Protocol HTTPS was missing the property "Port"
- The property "ProtocolEnabled" was showing incorrect data for each protocol
Signed-off-by: Jennifer Lee <jennifer1.lee@intel.com>
Change-Id: Ibaa7b81845714ad13b2b44d6af033df98da236e2
diff --git a/redfish-core/lib/network_protocol.hpp b/redfish-core/lib/network_protocol.hpp
index 3be33c4..083c848 100644
--- a/redfish-core/lib/network_protocol.hpp
+++ b/redfish-core/lib/network_protocol.hpp
@@ -60,14 +60,15 @@
const static boost::container::flat_map<const char*, ServiceConfiguration>
protocolToDBus{
{"SSH",
- {"dropbear.service",
+ {"dropbear.socket",
"/org/freedesktop/systemd1/unit/dropbear_2esocket"}},
{"HTTPS",
- {"phosphor-gevent.service",
- "/org/freedesktop/systemd1/unit/phosphor_2dgevent_2esocket"}},
+ {"bmcweb.service",
+ "/org/freedesktop/systemd1/unit/"
+ "bmcweb_2esocket"}}, //"/org/freedesktop/systemd1/unit/phosphor_2dgevent_2esocket"}},
{"IPMI",
- {"phosphor-ipmi-net.service",
- "/org/freedesktop/systemd1/unit/phosphor_2dipmi_2dnet_2esocket"}}};
+ {"phosphor-ipmi-net.socket", "/org/freedesktop/systemd1/unit/"
+ "phosphor_2dipmi_2dnet_2esocket"}}};
class NetworkProtocol : public Node
{
@@ -142,7 +143,7 @@
{
for (auto& kv : protocolToDBus)
{
- if (kv.second.serviceName ==
+ if (kv.second.serviceName !=
std::get<NET_PROTO_UNIT_NAME>(unit))
{
continue;
@@ -151,8 +152,10 @@
const char* socketPath = kv.second.socketPath;
asyncResp->res.jsonValue[service]["ProtocolEnabled"] =
- std::get<NET_PROTO_UNIT_SUB_STATE>(unit) ==
- "running";
+ (std::get<NET_PROTO_UNIT_SUB_STATE>(unit) ==
+ "running") ||
+ (std::get<NET_PROTO_UNIT_SUB_STATE>(unit) ==
+ "listening");
crow::connections::systemBus->async_method_call(
[asyncResp, service{std::string(service)}](