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";
7 import "goby/acomms/protobuf/amac_config.proto";
8 import "goby/acomms/protobuf/modem_message.proto";
10 package goby.apps.zeromq.acomms.protobuf;
12 message IPGatewayConfig
14 optional goby.middleware.protobuf.AppConfig app = 1;
15 optional goby.zeromq.protobuf.InterProcessPortalConfig interprocess = 2
16 [(goby.field) = { cfg { env: "GOBY_INTERPROCESS" } }];
18 required string local_ipv4_address = 3;
19 required uint32 cidr_netmask_prefix = 4;
20 optional int32 tun_number = 5;
22 optional bool enable_broadcast_address = 10 [
24 ]; // use all ones address as broadcast (e.g. 192.168.1.255 in /24 subnet
25 optional uint32 dynamic_address_count = 11
27 0]; // number of dynamic addresses for use as reverse-NAT
28 // (starting at one less than broadcast and counting down).
33 AUTONOMY_COLLABORATION = 2;
36 optional ModelType model_type = 12 [default = UNIFORM];
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];
42 optional int32 total_ports = 20 [default = 1];
43 repeated uint32 static_udp_port = 21;
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;
50 optional int32 queue_size = 40 [default = 100];
52 optional int32 only_rate = 50;