# Private config options for virtual network interface test app

# Copyright (c) 2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

mainmenu "Virtual network interface test application"

config NET_TEST_TUNNEL_PEER_ADDR
	string "Remote IP address of the tunnel interface"
	depends on NET_L2_IPIP
	help
	  The value depends on your network setup.

config NET_TEST_TUNNEL_MY_ADDR
	string "My address for tunnel interface"
	depends on NET_L2_IPIP
	help
	  The value depends on your network setup.

config NET_TEST_TUNNEL_NAME
	string "Name of the tunnel interface"
	depends on NET_L2_IPIP
	help
	  The value depends on your network setup.

source "Kconfig.zephyr"
