Goby3  3.1.5a
2024.05.23
ip_gateway_config.proto
Go to the documentation of this file.
1 syntax = "proto2";
2 import "goby/protobuf/option_extensions.proto";
3 import "goby/middleware/protobuf/app_config.proto";
4 import "goby/zeromq/protobuf/interprocess_config.proto";
5 import "dccl/option_extensions.proto";
6 
7 import "goby/acomms/protobuf/amac_config.proto";
8 import "goby/acomms/protobuf/modem_message.proto";
9 
10 package goby.apps.zeromq.acomms.protobuf;
11 
12 message IPGatewayConfig
13 {
14  optional goby.middleware.protobuf.AppConfig app = 1;
15  optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2
16  [(goby.field) = { cfg { env: "GOBY_INTERPROCESS" } }];
17 
18  required string local_ipv4_address = 3;
19  required uint32 cidr_netmask_prefix = 4;
20  optional int32 tun_number = 5;
21 
22  optional bool enable_broadcast_address = 10 [
23  default = true
24  ]; // use all ones address as broadcast (e.g. 192.168.1.255 in /24 subnet
25  optional uint32 dynamic_address_count = 11
26  [default =
27  0]; // number of dynamic addresses for use as reverse-NAT
28  // (starting at one less than broadcast and counting down).
29 
30  enum ModelType
31  {
32  UNIFORM = 1;
33  AUTONOMY_COLLABORATION = 2;
34  }
35 
36  optional ModelType model_type = 12 [default = UNIFORM];
37 
38  optional double gamma_autonomy = 13 [default = 0.75];
39  optional double gamma_collaboration = 14 [default = 0.25];
40  optional int32 gateway_id = 15 [default = 1];
41 
42  optional int32 total_ports = 20 [default = 1];
43  repeated uint32 static_udp_port = 21;
44 
45  optional goby.acomms.protobuf.MACConfig mac_cfg = 30;
46  required uint32 mtu = 31;
47  optional bool bypass_mac = 32 [default = false];
48  optional goby.acomms.protobuf.ModemTransmission bypass_mac_slot = 33;
49 
50  optional int32 queue_size = 40 [default = 100];
51 
52  optional int32 only_rate = 50;
53 }