syntax = "proto3";

package v2ray.core.app.tun;
option csharp_namespace = "V2Ray.Core.App.Tun";
option go_package = "github.com/v2fly/v2ray-core/v5/app/tun";
option java_package = "com.v2ray.core.app.tun";
option java_multiple_files = true;

import "app/proxyman/config.proto";
import "app/router/routercommon/common.proto";
import "common/protoext/extensions.proto";
import "common/net/packetaddr/config.proto";
import "transport/internet/config.proto";

message Config {
  option (v2ray.core.common.protoext.message_opt).type = "service";
  option (v2ray.core.common.protoext.message_opt).short_name = "tun";

  string name = 1;
  uint32 mtu = 2;
  uint32 user_level = 3;
  v2ray.core.net.packetaddr.PacketAddrType packet_encoding = 4;
  string tag = 5;
  repeated v2ray.core.app.router.routercommon.CIDR ips = 6;
  repeated v2ray.core.app.router.routercommon.CIDR routes = 7;
  bool enable_promiscuous_mode = 8;
  bool enable_spoofing = 9;
  v2ray.core.transport.internet.SocketConfig socket_settings = 10;
  v2ray.core.app.proxyman.SniffingConfig sniffing_settings = 11;
}