diff --git a/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json b/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
index 3c9e6b1554fc58141d37736fb46719bbac1db4da..f2f6b0f2eb404de90825b1924a8c5493ef8591d2 100644
--- a/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
+++ b/deploy/asapo_helm_chart/asapo/configs/asapo-receiver.json
@@ -9,7 +9,8 @@
   "DataServer": {
     "AdvertiseURI": "auto",
     "NThreads": {{ .Values.ownServices.receiver.dataServer.nThreads }},
-    "ListenPort": {{ .Values.ownServices.receiver.dataServer.port }}
+    "ListenPort": {{ .Values.ownServices.receiver.dataServer.port }},
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": {{ .Values.ownServices.receiver.dataCache.enable }},
diff --git a/deploy/asapo_services/scripts/receiver.json.tpl b/deploy/asapo_services/scripts/receiver.json.tpl
index a5f8192358812e3af2b281e48db0f2cdef0becb8..3216854994de0dc9698bfefc78d6e2c15b7218de 100644
--- a/deploy/asapo_services/scripts/receiver.json.tpl
+++ b/deploy/asapo_services/scripts/receiver.json.tpl
@@ -9,7 +9,8 @@
   "DataServer": {
     "AdvertiseURI": "{{ if or (env "meta.ib_address") "none" | regexMatch "none" }}{{ env "NOMAD_IP_recv" }}{{ else }}{{ env "meta.ib_address" }}{{ end }}:{{ env "NOMAD_PORT_recv_ds" }}",
     "NThreads": {{ env "NOMAD_META_receiver_dataserver_nthreads" }},
-    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }},
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,
diff --git a/receiver/unittests/mock_receiver_config.cpp b/receiver/unittests/mock_receiver_config.cpp
index aacffd49cda8d9559c164a9ac35bb81f45f876e6..cae375d436bde7dee8e8a511b51ca4f90e69c3bf 100644
--- a/receiver/unittests/mock_receiver_config.cpp
+++ b/receiver/unittests/mock_receiver_config.cpp
@@ -50,6 +50,17 @@ Error SetReceiverConfig (const ReceiverConfig& config, std::string error_field)
     config_string += "," + Key("DataServer", error_field) + "{";
     config_string += Key("ListenPort", error_field) + std::to_string(config.dataserver.listen_port);
     config_string += "," +  Key("AdvertiseURI", error_field) + "\"" + config.dataserver.advertise_uri + "\"";
+    config_string += "," +  Key("NetworkMode", error_field);
+
+    config_string += "[";
+    for (auto it = config.dataserver.network_mode.begin() ; it != config.dataserver.network_mode.end(); ++it) {
+        if (it != config.dataserver.network_mode.begin()) {
+            config_string += ",";
+        }
+        config_string += "\"" + (*it) + "\"";
+    }
+    config_string += "]";
+
     config_string += "," + Key("NThreads", error_field) + std::to_string(config.dataserver.nthreads);
     config_string += "}";
     config_string += "," + Key("DataCache", error_field) + "{";
diff --git a/receiver/unittests/test_config.cpp b/receiver/unittests/test_config.cpp
index d3c81a5003b8203c3c94d9fc9a6b6310b12b929e..3a3c86451f06f9e15b623dfe613d2d9b874930ae 100644
--- a/receiver/unittests/test_config.cpp
+++ b/receiver/unittests/test_config.cpp
@@ -45,7 +45,6 @@ class ConfigTests : public Test {
     }
     void PrepareConfig() {
         test_config.listen_port = 4200;
-        test_config.dataserver.listen_port = 4201;
         test_config.tag = "receiver1";
         test_config.performance_db_name = "db_test";
         test_config.performance_db_uri = "localhost:8086";
@@ -58,9 +57,11 @@ class ConfigTests : public Test {
         test_config.use_datacache = false;
         test_config.datacache_reserved_share = 10;
         test_config.datacache_size_gb = 2;
-        test_config.dataserver.nthreads = 5;
         test_config.discovery_server = "discovery";
+        test_config.dataserver.nthreads = 5;
+        test_config.dataserver.listen_port = 4201;
         test_config.dataserver.advertise_uri = "0.0.0.1:4201";
+        test_config.dataserver.network_mode = {"tcp", "fabric"};
         test_config.receive_to_disk_threshold_mb = 50;
 
     }
@@ -80,7 +81,6 @@ TEST_F(ConfigTests, ReadSettings) {
     ASSERT_THAT(config->performance_db_name, Eq("db_test"));
     ASSERT_THAT(config->database_uri, Eq("localhost:27017"));
     ASSERT_THAT(config->listen_port, Eq(4200));
-    ASSERT_THAT(config->dataserver.listen_port, Eq(4201));
     ASSERT_THAT(config->authorization_interval_ms, Eq(10000));
     ASSERT_THAT(config->authorization_server, Eq("AuthorizationServer/aa"));
     ASSERT_THAT(config->write_to_disk, Eq(true));
@@ -90,10 +90,14 @@ TEST_F(ConfigTests, ReadSettings) {
     ASSERT_THAT(config->use_datacache, Eq(false));
     ASSERT_THAT(config->datacache_reserved_share, Eq(10));
     ASSERT_THAT(config->datacache_size_gb, Eq(2));
+    ASSERT_THAT(config->discovery_server, Eq("discovery"));
     ASSERT_THAT(config->dataserver.nthreads, Eq(5));
     ASSERT_THAT(config->dataserver.tag, Eq("receiver1_ds"));
-    ASSERT_THAT(config->discovery_server, Eq("discovery"));
+    ASSERT_THAT(config->dataserver.listen_port, Eq(4201));
     ASSERT_THAT(config->dataserver.advertise_uri, Eq("0.0.0.1:4201"));
+    ASSERT_THAT(config->dataserver.network_mode.size(), Eq(2));
+    ASSERT_THAT(config->dataserver.network_mode[0], Eq("tcp"));
+    ASSERT_THAT(config->dataserver.network_mode[1], Eq("fabric"));
     ASSERT_THAT(config->receive_to_disk_threshold_mb, Eq(50));
 }
 
@@ -104,7 +108,8 @@ TEST_F(ConfigTests, ErrorReadSettings) {
     std::vector<std::string>fields {"PerformanceDbServer", "ListenPort", "DataServer", "ListenPort", "WriteToDisk",
                                     "WriteToDb", "DataCache", "Use", "SizeGB", "ReservedShare", "DatabaseServer", "Tag",
                                     "AuthorizationServer", "AuthorizationInterval", "PerformanceDbName", "LogLevel",
-                                    "NThreads", "DiscoveryServer", "AdvertiseURI", "ReceiveToDiskThresholdMB"};
+                                    "NThreads", "DiscoveryServer", "AdvertiseURI", "NetworkMode",
+                                    "ReceiveToDiskThresholdMB"};
     for (const auto& field : fields) {
         auto err = asapo::SetReceiverConfig(test_config, field);
         ASSERT_THAT(err, Ne(nullptr));
diff --git a/tests/manual/broker_debug_local/receiver.json b/tests/manual/broker_debug_local/receiver.json
index 5567105bf672adfedefa41bacd655e2c24d20351..62c11ec5a306342dd8996a409bc9e64d91f35365 100644
--- a/tests/manual/broker_debug_local/receiver.json
+++ b/tests/manual/broker_debug_local/receiver.json
@@ -6,7 +6,8 @@
   "DataServer": {
     "AdvertiseURI":"127.0.0.1",
     "NThreads": 2,
-    "ListenPort": 22000
+    "ListenPort": 22000,
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,
diff --git a/tests/manual/broker_debug_local/receiver.json.tpl b/tests/manual/broker_debug_local/receiver.json.tpl
index a6c0887d9c96c0f22c59808f7c438009704f7896..234e78b51f86e603e6bf5b9c7e5b184d16f4537c 100644
--- a/tests/manual/broker_debug_local/receiver.json.tpl
+++ b/tests/manual/broker_debug_local/receiver.json.tpl
@@ -6,7 +6,8 @@
   "DataServer": {
     "AdvertiseURI": "127.0.0.1",
     "NThreads": 2,
-    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }},
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,
diff --git a/tests/manual/python_tests/producer/receiver.json.tpl b/tests/manual/python_tests/producer/receiver.json.tpl
index 6f80d44bbde2b6531ff5c05406b0a9ded02e11a5..ec637c58473d65b47548df1266e65e0185bcbee1 100644
--- a/tests/manual/python_tests/producer/receiver.json.tpl
+++ b/tests/manual/python_tests/producer/receiver.json.tpl
@@ -6,7 +6,8 @@
   "DataServer": {
     "AdvertiseURI": "127.0.0.1",
     "NThreads": 2,
-    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }},
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,
diff --git a/tests/manual/python_tests/producer_wait_bug_mongo/receiver.json.tpl b/tests/manual/python_tests/producer_wait_bug_mongo/receiver.json.tpl
index 6f80d44bbde2b6531ff5c05406b0a9ded02e11a5..ec637c58473d65b47548df1266e65e0185bcbee1 100644
--- a/tests/manual/python_tests/producer_wait_bug_mongo/receiver.json.tpl
+++ b/tests/manual/python_tests/producer_wait_bug_mongo/receiver.json.tpl
@@ -6,7 +6,8 @@
   "DataServer": {
     "AdvertiseURI": "127.0.0.1",
     "NThreads": 2,
-    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }}
+    "ListenPort": {{ env "NOMAD_PORT_recv_ds" }},
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,
diff --git a/tests/manual/receiver_debug_local/receiver.json b/tests/manual/receiver_debug_local/receiver.json
index 5567105bf672adfedefa41bacd655e2c24d20351..62c11ec5a306342dd8996a409bc9e64d91f35365 100644
--- a/tests/manual/receiver_debug_local/receiver.json
+++ b/tests/manual/receiver_debug_local/receiver.json
@@ -6,7 +6,8 @@
   "DataServer": {
     "AdvertiseURI":"127.0.0.1",
     "NThreads": 2,
-    "ListenPort": 22000
+    "ListenPort": 22000,
+    "NetworkMode": ["tcp"]
   },
   "DataCache": {
     "Use": true,