diff --git a/proto/load_generator.proto b/proto/load_generator.proto
index 86f9469588f1586da5339edad198e39e82598cde..4c5fa5648364fa809bb6dd41733c6a38c78ba93d 100644
--- a/proto/load_generator.proto
+++ b/proto/load_generator.proto
@@ -33,16 +33,31 @@ enum RequestTypeEnum {
   REQUESTTYPE_SLICE_L3NM   = 6;
 }
 
+message Range {
+  float minimum = 1;
+  float maximum = 2;
+}
+
+message ScalarOrRange {
+  oneof value {
+    float scalar = 1; // select the scalar value
+    Range range = 2;  // select a random uniformly dstributed value between minimum and maximum
+  }
+}
+
 message Parameters {
   uint64 num_requests = 1;  // if == 0, generate infinite requests
   repeated RequestTypeEnum request_types = 2;
   float offered_load = 3;
   float holding_time = 4;
   float inter_arrival_time = 5;
-  bool do_teardown = 6;
-  bool dry_mode = 7;
-  bool record_to_dlt = 8;
-  string dlt_domain_id = 9;
+  repeated ScalarOrRange availability = 6;    // one from the list is selected
+  repeated ScalarOrRange capacity_gbps = 7;   // one from the list is selected
+  repeated ScalarOrRange e2e_latency_ms = 8;  // one from the list is selected
+  bool do_teardown = 9;
+  bool dry_mode = 10;
+  bool record_to_dlt = 11;
+  string dlt_domain_id = 12;
 }
 
 message Status {