diff --git a/api/test/network_emulation_manager.cc b/api/test/network_emulation_manager.cc
index f2153a7..9d50897 100644
--- a/api/test/network_emulation_manager.cc
+++ b/api/test/network_emulation_manager.cc
@@ -11,6 +11,7 @@
 
 #include <utility>
 
+#include "api/units/data_rate.h"
 #include "rtc_base/checks.h"
 #include "test/network/simulated_network.h"
 
@@ -56,16 +57,31 @@
 }
 
 NetworkEmulationManager::SimulatedNetworkNode::Builder&
+NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity(
+    DataRate link_capacity) {
+  config_.link_capacity = link_capacity;
+  return *this;
+}
+
+NetworkEmulationManager::SimulatedNetworkNode::Builder&
 NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity_kbps(
     int link_capacity_kbps) {
-  config_.link_capacity_kbps = link_capacity_kbps;
+  if (link_capacity_kbps > 0) {
+    config_.link_capacity = DataRate::KilobitsPerSec(link_capacity_kbps);
+  } else {
+    config_.link_capacity = DataRate::Infinity();
+  }
   return *this;
 }
 
 NetworkEmulationManager::SimulatedNetworkNode::Builder&
 NetworkEmulationManager::SimulatedNetworkNode::Builder::capacity_Mbps(
     int link_capacity_Mbps) {
-  config_.link_capacity_kbps = link_capacity_Mbps * 1000;
+  if (link_capacity_Mbps > 0) {
+    config_.link_capacity = DataRate::KilobitsPerSec(link_capacity_Mbps * 1000);
+  } else {
+    config_.link_capacity = DataRate::Infinity();
+  }
   return *this;
 }
 
diff --git a/api/test/network_emulation_manager.h b/api/test/network_emulation_manager.h
index 2d51ae8..48bb19b 100644
--- a/api/test/network_emulation_manager.h
+++ b/api/test/network_emulation_manager.h
@@ -24,6 +24,7 @@
 #include "api/test/peer_network_dependencies.h"
 #include "api/test/simulated_network.h"
 #include "api/test/time_controller.h"
+#include "api/units/data_rate.h"
 #include "api/units/timestamp.h"
 #include "rtc_base/network.h"
 #include "rtc_base/network_constants.h"
@@ -200,6 +201,7 @@
       // values.
       Builder& config(BuiltInNetworkBehaviorConfig config);
       Builder& delay_ms(int queue_delay_ms);
+      Builder& capacity(DataRate link_capacity);
       Builder& capacity_kbps(int link_capacity_kbps);
       Builder& capacity_Mbps(int link_capacity_Mbps);
       Builder& loss(double loss_rate);
