PAN PICS for the PTS tool.

PTS version: 5.0

* - different than PTS defaults
# - not yet implemented/supported

M - mandatory
O - optional

		Roles
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_PAN_1_1	True (*)	Role: Network Access Point (O.1)
TSPC_PAN_1_2	False		Role: Group Ad-hoc Network (O.1)
TSPC_PAN_1_3	True (*)	Role: PAN User (O.1)
TSPC_PAN_1a_1	True		BNEP: BNEP Connection Setup (M)
TSPC_PAN_1a_2	True		BNEP: BNEP Data Packet Reception (M)
TSPC_PAN_1a_3	True		BNEP: BNEP Data Packet Transmission (M)
TSPC_PAN_1a_4	True		BNEP: BNEP Control Message Processing (M)
TSPC_PAN_1a_5	True		BNEP: BNEP Extension Header Processing (M)
TSPC_PAN_1a_6	False		BNEP: Network Protocol Filter Message
					Transmission (O)
TSPC_PAN_1a_7	False		BNEP: Multicast Address Filter Message
					Transmission (O)
-------------------------------------------------------------------------------
O.1: It is mandatory to support at least one of the defined roles.
-------------------------------------------------------------------------------


		Network Access Point Application Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_PAN_2_1	True		NAP: Support BNEP (M)
TSPC_PAN_2_2	True		NAP: Support BNEP Forwarding (M)
TSPC_PAN_2_3	False		NAP: Support Layer 2-Bridging between PAN and
					External Network (C.1)
TSPC_PAN_2_4	True (*)	NAP: Support IP forwarding between PAN and
					External Network (C.1)
TSPC_PAN_2_5	False		NAP: Support BNEP Packet Filtering (O)
TSPC_PAN_2_6	False		NAP: Support IPv4 (C.2)
TSPC_PAN_2_6a	False		NAP: Supports operable routable IPv4 address (O)
TSPC_PAN_2_6b	False		NAP: Support link-local address configuration
					for IPv4 (C.4)
TSPC_PAN_2_7	False		NAP: Support ping client for IPv4 (O)
TSPC_PAN_2_8	False		NAP: Support DHCP Client for IPv4 (O)
TSPC_PAN_2_9	False		NAP: Support DNS/LLMNR Resolver for IPv4 (O)
TSPC_PAN_2_9a	False		NAP: Support LLMNR Sender for IPv4 (C.5)
TSPC_PAN_2_9b	False		NAP: Support LLMNR Responder for IPv4 (O)
TSPC_PAN_2_10	False		NAP: Support HTTP Client for IPv4 (O)
TSPC_PAN_2_11	False		NAP: Support WAP Client for IPv4 (O)
TSPC_PAN_2_12	False		NAP: Support IPv6 (C.3)
TSPC_PAN_2_13	False		NAP: Support ping client for IPv6 (O)
TSPC_PAN_2_14	False		NAP: Support DNS/LLMNR Resolver for IPv6 (O)
TSPC_PAN_2_14a	False (*)	NAP: Support LLMNR Sender for IPv6 (C.6)
TSPC_PAN_2_14b	False		NAP: Support LLMNR Responder for IPv6 (O)
TSPC_PAN_2_15	False		NAP: Support HTTP Client for IPv6 (O)
TSPC_PAN_2_16	False		NAP: Support WAP Client for IPv6 (O)
TSPC_PAN_2_17	True		NAP: Supports Connectable Mode (M)
TSPC_PAN_2_18	True		NAP: NAP Service Record (M)
TSPC_PAN_2_19	False		NAP: Support at least three PANUs (O)
TSPC_PAN_2_20	False		NAP: Support at least two PANUs (O)
-------------------------------------------------------------------------------
Note that support for IP-related features only applies to the PAN interface of
	the NAP (i.e. If the IP stack is accessible by PANUs).
C.1: Network Access Point devices MUST support either (TSPC_PAN_2_3)
	OR (TSPC_PAN_2_4).
C.2: Mandatory to support IF any IPv4-based transport protocol OR
	(TSPC_PAN_2_7-11) is supported, ELSE Optional.
C.3: Mandatory to support IF any IPv6-based transport protocol OR
	(TSPC_PAN_2_13-16) is supported, ELSE Optional.
C.4: Mandatory if TSPC_PAN_2_6 is supported and TSPC_PAN_2_6a is not supported,
	otherwise optional.
C.5: Mandatory if item (TSPC_PAN_2_6) supported.
C.6: Mandatory if item (TSPC_PAN_2_12) supported
-------------------------------------------------------------------------------


		Group Ad-hoc Network Application Features
			(GN Application Features)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_PAN_3_1	False (*)	GN: Support BNEP (M)
TSPC_PAN_3_2	False (*)	GN: Support BNEP Forwarding (M)
TSPC_PAN_3_3	False		GN: Support BNEP Packet Filtering (O)
TSPC_PAN_3_4	False		GN: Support IPv4 (C.1)
TSPC_PAN_3_5	False		GN: Support ping client for IPv4 (O)
TSPC_PAN_3_6	False		GN: Support DHCP Client for IPv4 (O)
TSPC_PAN_3_7	False		GN: Support DNS/LLMNR Resolver for IPv4 (O)
TSPC_PAN_3_7a	False (*)	GN: Support LLMNR Sender for IPv4 (C.3)
TSPC_PAN_3_7b	False		GN: Support LLMNR Responder for IPv4 (O)
TSPC_PAN_3_8	False		GN: Support HTTP Client for IPv4 (O)
TSPC_PAN_3_9	False		GN: Support WAP Client for IPv4 (O)
TSPC_PAN_3_10	False		GN: Support IPv6 (C.2)
TSPC_PAN_3_11	False		GN: Support ping client for IPv6 (O)
TSPC_PAN_3_12	False		GN: Support DNS/LLMNR Resolver for IPv6 (O)
TSPC_PAN_3_12a	False (*)	GN: Support LLMNR Sender for IPv6 (C.4)
TSPC_PAN_3_12b	False		GN: Support LLMNR Responder for IPv6 (O)
TSPC_PAN_3_13	False		GN: Support HTTP Client for IPv6 (O)
TSPC_PAN_3_14	False		GN: Support WAP Client for IPv6 (O)
TSPC_PAN_3_15	False (*)	GN: Supports Connectable Mode (M)
TSPC_PAN_3_16	False (*)	GN: GN Service Record (M)
TSPC_PAN_3_17	False		GN: Support at least three PANUs (O)
TSPC_PAN_3_18	False		GN: Support at least two PANUs (O)
-------------------------------------------------------------------------------
C.1: Mandatory to support IF any IPv4-based transport protocol OR
	(TSPC_PAN_3_5-9) is supported, ELSE Optional.
C.2: Mandatory to support IF any IPv6-based transport protocol OR
	(TSPC_PAN_3_11-14) is supported, ELSE Optional.
C.3: Mandatory to support IF (TSPC_PAN_3_4) is supported.
C.4: Mandatory to support if (TSPC_PAN_3_10) is supported.
-------------------------------------------------------------------------------


		PAN User Application Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_PAN_4_1	True		PANU: Support BNEP (M)
TSPC_PAN_4_2	True		PANU: Support IPv4 (C.1)
TSPC_PAN_4_3	False		PANU: Support ping client for IPv4 (O)
TSPC_PAN_4_4	False		PANU: Support DHCP client for  IPv4 (O)
TSPC_PAN_4_5	False		PANU: Support DNS/LLMNR Resolver for IPv4 (O)
TSPC_PAN_4_5a	True		PANU: Support LLMNR Sender for IPv4 (C.2)
TSPC_PAN_4_5b	False		PANU: Support LLMNR Responder for IPv4 (O)
TSPC_PAN_4_6	False		PANU: Support HTTP Client for IPv4 (O)
TSPC_PAN_4_7	False		PANU: Support WAP Client for IPv4 (O)
TSPC_PAN_4_8	False		PANU: Support IPv6 (C.1)
TSPC_PAN_4_9	False		PANU: Support ping client for IPv6 (O)
TSPC_PAN_4_10	False		PANU: Support DNS/LLMNR Resolver for IPv6 (O)
TSPC_PAN_4_10a	False (*)	PANU: Support LLMNR Sender for IPv6 (C.3)
TSPC_PAN_4_10b	False		PANU: Support LLMNR Responder for IPv6 (O)
TSPC_PAN_4_11	False		PANU: Support HTTP Client for IPv6 (O)
TSPC_PAN_4_12	False		PANU: Support WAP Client for IPv6 (O)
TSPC_PAN_4_13	False		PANU: Support connections to multi-user
					NAPs/GNs (O)
TSPC_PAN_4_14	False		PANU: Supports Connectable Mode (O)
TSPC_PAN_4_15	False		PANU: PANU Service Record (O)
TSPC_ALL	False		Turns on all the test cases
-------------------------------------------------------------------------------
C.1: PAN User devices must support at least One of items (TSPC_PAN_4_2) or
	(TSPC_PAN_4_8).
C.2: Mandatory to support if (TSPC_PAN_4_2) is supported.
C.3: Mandatory to support if (TSPC_PAN_4_8) is supported.
-------------------------------------------------------------------------------
