summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch38
-rw-r--r--meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0014-Fix-Event-Subscription-URI.patch37
2 files changed, 67 insertions, 8 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
index dfa67935c..760462154 100644
--- a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0004-Add-Server-Sent-Events-support.patch
@@ -1,4 +1,4 @@
-From ea7d0091545450721d8b9b901e2593401b50d24c Mon Sep 17 00:00:00 2001
+From 1b9e0f434a4c667f6edbaadb257f7a9709953429 Mon Sep 17 00:00:00 2001
From: AppaRao Puli <apparao.puli@linux.intel.com>
Date: Fri, 12 Mar 2021 18:53:25 +0000
Subject: [PATCH] Add Server-Sent-Events support
@@ -22,12 +22,15 @@ Tested:
Change-Id: I36956565cbba30c2007852c9471f477f6d1736e9
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
Signed-off-by: P Dheeraj Srujan Kumar <p.dheeraj.srujan.kumar@intel.com>
+Signed-off-by: Ankita Vilas Gawade <ankita.gawade@intel.com>
+
+%% original patch: 0004-Add-Server-Sent-Events-support.patch
---
http/http_connection.hpp | 10 +-
http/http_response.hpp | 7 +-
- http/routing.hpp | 71 ++++++++++
- http/server_sent_event.hpp | 279 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 362 insertions(+), 5 deletions(-)
+ http/routing.hpp | 71 +++++++++
+ http/server_sent_event.hpp | 298 +++++++++++++++++++++++++++++++++++++
+ 4 files changed, 381 insertions(+), 5 deletions(-)
create mode 100644 http/server_sent_event.hpp
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
@@ -180,10 +183,10 @@ index fe9c7e9..c748580 100644
self_t* self = static_cast<self_t*>(this);
diff --git a/http/server_sent_event.hpp b/http/server_sent_event.hpp
new file mode 100644
-index 0000000..41d18ed
+index 0000000..c23a4ee
--- /dev/null
+++ b/http/server_sent_event.hpp
-@@ -0,0 +1,279 @@
+@@ -0,0 +1,298 @@
+#pragma once
+#include "http_request.hpp"
+
@@ -201,6 +204,8 @@ index 0000000..41d18ed
+
+namespace crow
+{
++constexpr auto inputBufferSize = 1024U * 64U;
++constexpr uint8_t maxFailCount = 5;
+
+struct SseConnection : std::enable_shared_from_this<SseConnection>
+{
@@ -443,6 +448,22 @@ index 0000000..41d18ed
+ }
+ rawData += "\n\n";
+
++ if (rawData.size() > inputBufferSize)
++ {
++ BMCWEB_LOG_DEBUG
++ << "Skipping Send Event/Report to SSE Subscription as Buffer Size Exceeded. Size: "
++ << rawData.size();
++ failCount++;
++ if (failCount > maxFailCount)
++ {
++ BMCWEB_LOG_ERROR
++ << "Fail Count Threshold reached. Closing SSE Connection";
++ close("max buffer size not suported");
++ }
++ return;
++ }
++ failCount = 0;
++
+ boost::asio::buffer_copy(inputBuffer.prepare(rawData.size()),
+ boost::asio::buffer(rawData));
+ inputBuffer.commit(rawData.size());
@@ -454,8 +475,9 @@ index 0000000..41d18ed
+ Adaptor adaptor;
+
+ boost::beast::flat_static_buffer<1024U * 8U> outputBuffer;
-+ boost::beast::flat_static_buffer<1024U * 64U> inputBuffer;
++ boost::beast::flat_static_buffer<inputBufferSize> inputBuffer;
+ bool doingWrite = false;
++ uint8_t failCount = 0;
+
+ std::function<void(std::shared_ptr<SseConnection>&, const crow::Request&,
+ crow::Response&)>
@@ -464,5 +486,5 @@ index 0000000..41d18ed
+};
+} // namespace crow
--
-2.17.1
+2.25.1
diff --git a/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0014-Fix-Event-Subscription-URI.patch b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0014-Fix-Event-Subscription-URI.patch
new file mode 100644
index 000000000..a06389c46
--- /dev/null
+++ b/meta-openbmc-mods/meta-common/recipes-phosphor/interfaces/bmcweb/eventservice/0014-Fix-Event-Subscription-URI.patch
@@ -0,0 +1,37 @@
+From 93daba6ca2de8a82492ea88a7da75a7d337123e1 Mon Sep 17 00:00:00 2001
+From: Gayathri Leburu <gayathri.leburu@intel.com>
+Date: Wed, 9 Feb 2022 10:45:19 +0000
+Subject: [PATCH] Fix Event Subscription URI
+
+While performing GET on /redfish/v1/EventService/Subscriptions/ results
+in error 405 - Method not allowed.
+
+This commit fixes the subscription URI while registering the ROUTE i.e.,
+during BMCWEB_ROUTE.
+
+TESTED :
+ - GET on /redfish/v1/EventService/Subscriptions/ successfully returned
+ all the list of subscribed events.
+
+Signed-off-by: Gayathri Leburu <gayathri.leburu@intel.com>
+Change-Id: I0edcfd8403e0178fe84d6b8328dabad71c4d5c98
+---
+ redfish-core/lib/event_service.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/redfish-core/lib/event_service.hpp b/redfish-core/lib/event_service.hpp
+index 9b4f6bd..7359a82 100644
+--- a/redfish-core/lib/event_service.hpp
++++ b/redfish-core/lib/event_service.hpp
+@@ -173,7 +173,7 @@ inline void requestRoutesSubmitTestEvent(App& app)
+
+ inline void requestRoutesEventDestinationCollection(App& app)
+ {
+- BMCWEB_ROUTE(app, "/redfish/v1/EventService/Subscriptions")
++ BMCWEB_ROUTE(app, "/redfish/v1/EventService/Subscriptions/")
+ .privileges(redfish::privileges::getEventDestinationCollection)
+ .methods(boost::beast::http::verb::get)(
+ [](const crow::Request&,
+--
+2.17.1
+