# Kconfig - Private config options for traffic class sample app

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

mainmenu "Networking traffic class sample application"

config ZEPHYR_BASE
	string
	option env="ZEPHYR_BASE"

source "$ZEPHYR_BASE/Kconfig.zephyr"

config SAMPLE_VLAN_TAG
	int "Virtual lan tag used in sample app"
	default 100
	range 0 4094
	depends on NET_VLAN
	help
	  Set virtual lan tag (id) that is used in sample application.

config SAMPLE_VLAN_TAG_2
	int "Second VLAN tag used in sample app"
	default 200
	range 0 4094
	depends on NET_VLAN
	help
	  Set virtual lan tag (id) that is used in sample application.

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

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

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

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