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