<?xml version="1.0" encoding="UTF-8" ?>

<!-- Copyright (c) 2017 Qualcomm Technologies, Inc.
     All Rights Reserved.
		 Confidential and Proprietary - Qualcomm Technologies, Inc. -->


<PROXY_CONFIG>

	<!--

	qti_socksv5_conf.xml

	This is an example qti_socksv5 proxy server configuration file.

	It is expected that the cellular modem profile numbers provisioned in this file exist in
	both the corresponding qti_socksv5_auth.xml file and QCMAP ( or equivalent Connection
	manager) configuration file.

	-->

	<!--

	LAN_CFG

	A LAN interface must be named for the SOCKSv5 proxy to listen on to
	serve SOCKSv5 client requests.

	VLAN interface is allowed.
	QCMAP ( or equivalent Connection manager) writes to this config file for the specific
	LAN interface.  There will be two server sockets opened with type AF_INET and AF_INET6.
	SOCKSv5 server will still run as daemon if no LAN interface is provided.

	-->

	<LAN_CFG>
		<LAN_IFACE>bridge0</LAN_IFACE>
	</LAN_CFG>

	<!--

	WAN_IFACE

	At least one WAN interface must be named for the SOCKSv5 proxy to use for
	connecting to remote servers.  There can be multiple WAN interfaces listed.
	SOCKSv5 server will still run as daemon if no WAN interface is provided.  Each WAN interface
	listed can optionally correspond to a service, which can be selected during the
	Private Method SOCKSv5 authentication process.

	The SOCKSv5 client, if implementing the Private authentication method, can
	select which service or WAN interface the outgoing SOCKSv5 session shall use by specifying
	the USERNAME  mapping to a profile number. Specifying a profile corresponds to the
	profile or service number.  The WAN backhaul can optionally specify whether the backhaul
	supports IPv4, IPv6. Specifying the IPv4, IPv6 backhaul support will serve as a
	hint for qti_socksv5 to determine whether a WAN connection is active.  Otherwise, no
	specification of IPv4 or IPv6 is acceptable and will rely on TCP keepalive probes.

	If SOCKSv5 client is not implementing the Private authentication method, then
	qti_socksv5 shall default to using the default interface for remote server connections over 
	single PDN call.  Any backhaul interface may be specified.  e.g.  rmnet_data, eth, wlan, usb, etc

	-->

	<WAN_CFG>
		<WAN_IFACE>
			<NAME></NAME>
			<PROFILE>1</PROFILE>
			<IP></IP>
			<PRI_DNS_IPV4_ADDR></PRI_DNS_IPV4_ADDR>
			<SEC_DNS_IPV4_ADDR></SEC_DNS_IPV4_ADDR>
			<PRI_DNS_IPV6_ADDR></PRI_DNS_IPV6_ADDR>
			<SEC_DNS_IPV6_ADDR></SEC_DNS_IPV6_ADDR>
		</WAN_IFACE>

		<WAN_IFACE>
			<NAME></NAME>
			<PROFILE>2</PROFILE>
			<IP></IP>
			<PRI_DNS_IPV4_ADDR></PRI_DNS_IPV4_ADDR>
			<SEC_DNS_IPV4_ADDR></SEC_DNS_IPV4_ADDR>
			<PRI_DNS_IPV6_ADDR></PRI_DNS_IPV6_ADDR>
			<SEC_DNS_IPV6_ADDR></SEC_DNS_IPV6_ADDR>
		</WAN_IFACE>

		<WAN_IFACE>
			<NAME></NAME>
			<PROFILE>3</PROFILE>
			<IP></IP>
			<PRI_DNS_IPV4_ADDR></PRI_DNS_IPV4_ADDR>
			<SEC_DNS_IPV4_ADDR></SEC_DNS_IPV4_ADDR>
			<PRI_DNS_IPV6_ADDR></PRI_DNS_IPV6_ADDR>
			<SEC_DNS_IPV6_ADDR></SEC_DNS_IPV6_ADDR>
		</WAN_IFACE>
	</WAN_CFG>

	<!--

	TCP Keep Alive

	This is an optional configuration parameter.

	INTVL specifies how frequently keepalive probes are sent.

	PROBES specifies number of keepalive proves to send out after the
	keepalive time of inactivity.

	TIME specifies number of seconds to wait before sending a keep alive probe out
	LAN and WAN interfaces.

	If left commented out will default to the value in
	/proc/sys/net/ipv4/tcp_keepalive_intvl
	/proc/sys/net/ipv4/tcp_keepalive_probes
	/proc/sys/net/ipv4/tcp_keepalive_time
	-->

	<TCP_KEEP_ALIVE_TIME_CFG>
		<INTVL>7</INTVL>
		<PROBES>15</PROBES>
		<TIME>30</TIME>
	</TCP_KEEP_ALIVE_TIME_CFG>

</PROXY_CONFIG>
