summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorEd Tanous <ed@tanous.net>2024-02-10 00:50:26 +0300
committerEd Tanous <ed@tanous.net>2024-04-30 02:12:43 +0300
commit36c0f2a35e670a4b798b7b42fd18455085e9d9c0 (patch)
tree103f5e30be4b2e8118e8bfc0e82caaa4f2bad9a5 /config
parent95c6307a9b2c02f74b5f5c677d6983f996332ee6 (diff)
downloadbmcweb-36c0f2a35e670a4b798b7b42fd18455085e9d9c0.tar.xz
Consolidate Vm implementations
As much as the two vm implementations SEEM different, the differences largely lie in how we're getting the nbd proxy socket. One is relying on launching a process (nbd-proxy), the other is getting the fd from dbus. Given [1] exists and is in process, we need to have a plan for getting these two VM implementations into one, once that patchset is complete. This commit: Splits the vm-websocket option into vm-websocket-provider, providing two options, nbd-proxy, and virtual-media (the names of the respective apps). To accomplish this, it moves the contents of nbd-proxy into include/vm-websocket, so we can compare the similarities and start consolidating. The longer term intent is that the nbd-proxy option will be completely removed, and the code deleted. This has the additional advantage that we will no longer require the boost::process dependency, as all info will be available on dbus. As part of this, the nbd proxy websocket is also registered at /vm/0/0, to be backward compatible with the old interfaces. Tested: Code compiles. Need some help here. [1] https://gerrit.openbmc.org/c/openbmc/jsnbd/+/49944 Change-Id: Iedbca169ea40d45a8775f843792b874a248bb594 Signed-off-by: Ed Tanous <ed@tanous.net>
Diffstat (limited to 'config')
-rw-r--r--config/bmcweb_config.h.in5
-rw-r--r--config/meson.build3
2 files changed, 8 insertions, 0 deletions
diff --git a/config/bmcweb_config.h.in b/config/bmcweb_config.h.in
index a8ae29ef91..eb0c79c77a 100644
--- a/config/bmcweb_config.h.in
+++ b/config/bmcweb_config.h.in
@@ -2,6 +2,7 @@
#include <cstdint>
#include <cstddef>
+#include <string_view>
// clang-format off
constexpr const bool bmcwebInsecureEnableQueryParams = @BMCWEB_INSECURE_ENABLE_QUERY_PARAMS@ == 1;
@@ -21,4 +22,8 @@ constexpr const bool bmcwebEnableHTTP2 = @BMCWEB_ENABLE_HTTP2@ == 1;
constexpr const bool bmcwebEnableTLS = @BMCWEB_ENABLE_TLS@ == 1;
constexpr const bool bmcwebMTLSCommonNameParsingMeta = @BMCWEB_ENABLE_MTLS_COMMON_NAME_PARSING_META@ == 1;
+
+constexpr const bool bmcwebNbdProxy = @BMCWEB_VIRTUAL_MEDIA_NBD@ == 1;
+
+constexpr const bool bmcwebVmWebsocket = @BMCWEB_VIRTUAL_MEDIA_VM@ == 1;
// clang-format on
diff --git a/config/meson.build b/config/meson.build
index 26c9bd4b3a..9533bd6b46 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -26,6 +26,9 @@ conf_data.set10(
get_option('mutual-tls-common-name-parsing') == 'meta',
)
+conf_data.set10('BMCWEB_VIRTUAL_MEDIA_VM', get_option('vm-websocket').allowed())
+conf_data.set10('BMCWEB_VIRTUAL_MEDIA_NBD', false)
+
# Logging level
loglvlopt = get_option('bmcweb-logging')
if get_option('buildtype').startswith('debug') and loglvlopt == 'disabled'