# Kconfig - Private config options for gPTP sample app

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

# This sample application will have three network interfaces.
# gPTP protocol will run in the non-VLAN interface and then there
# will be two VLAN interface for other use. This is just an example
# how to do this kind of setup. See also VLAN sample application
# for vlan-setup-linux.sh script that can be used to setup the
# VLAN IP addressing in Linux side (if that is desired).

mainmenu "gPTP sample application"

if NET_GPTP

config NET_SAMPLE_IFACE2_MY_IPV6_ADDR
	string "My IPv6 address for second interface"
	help
	  The value depends on your network setup.

config NET_SAMPLE_IFACE2_MY_IPV4_ADDR
	string "My IPv4 address for second interface"
	help
	  The value depends on your network setup.

config NET_SAMPLE_IFACE2_VLAN_TAG
	int "VLAN tag for second interface"
	default 100
	range 0 4094
	depends on NET_VLAN
	help
	  Set VLAN (virtual LAN) tag (id) that is used in the sample
	  application.

config NET_SAMPLE_IFACE3_MY_IPV6_ADDR
	string "My IPv6 address for third interface"
	help
	  The value depends on your network setup.

config NET_SAMPLE_IFACE3_MY_IPV4_ADDR
	string "My IPv4 address for third interface"
	help
	  The value depends on your network setup.

config NET_SAMPLE_IFACE3_VLAN_TAG
	int "VLAN tag for third interface"
	default 200
	range 0 4094
	depends on NET_VLAN
	help
	  Set VLAN (virtual LAN) tag (id) that is used in the sample
	  application.

endif


source "Kconfig.zephyr"
