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	True (*#)	NAP: Support IPv4 (C.2)
TSPC_PAN_2_6a	True (*#)	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	True (#)	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) or item 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	True (*#)	PANU: Support ping client for IPv4 (O)
TSPC_PAN_4_4	True (*#)	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.
-------------------------------------------------------------------------------
