Foreword (Disclaimer)
Introduction
1 Scope (mandatory)
1.1 Test Scope TCP/IP Protocol Family
1.2 Test Scope Automotive Protocols
2 Normative references (mandatory)
3 Terms and Definitions (mandatory)
4 Change history between version 2 and 3
5 Test Scope TCP/IP Protocol Family
5.1 Prerequisites
5.2 Address Resolution Protocol (ARP)
5.2.1 General
5.2.1.1.1 Referenced specification
5.2.1.1.2 Simulated topologies
5.2.1.1.3 Required topology related configuration
5.2.1.1.4 Coverage
5.2.2 Parameters used in the tests
5.2.2.1.1 User defined configuration parameters for IUT
5.2.2.1.2 User defined configuration parameters for TESTER
5.2.3 Terminology used in Test Procedure
5.2.4 Test Cases ARP
5.2.4.1 Packet Generation
5.2.4.1.1 ARP_01: Static ARP entry (no ARP request)
5.2.4.1.2 ARP_02: Static ARP entry (ARP entry used)
5.2.4.1.3 ARP_03: ARP entry learned on ARP request (no ARP request)
5.2.4.1.4 ARP_04: ARP entry learned on ARP request (ARP entry used)
5.2.4.1.5 ARP_05: ARP entry learned on gratuitous ARP response (no ARP request)
5.2.4.1.6 ARP_06: ARP entry learned on gratuitous ARP response (ARP entry used)
5.2.4.1.7 ARP_07: ARP request sending (ARP request send on missing entry)
5.2.4.1.8 ARP_08: ARP request sending (Hardware Type check)
5.2.4.1.9 ARP_09: ARP request sending (Protocol Type check)
5.2.4.1.10 ARP_10: ARP request sending (Hardware Address Length check)
5.2.4.1.11 ARP_11: ARP request sending (Protocol Address Length check)
5.2.4.1.12 ARP_12: ARP request sending (Operation Code check)
5.2.4.1.13 ARP_13: ARP request sending (ARP Sender Hardware Address check)
5.2.4.1.14 ARP_14: ARP request sending (Source IP Address check)
5.2.4.1.15 ARP_15: ARP request sending (Destination IP Address correct)
5.2.4.2 Packet Reception
5.2.4.2.1 ARP_16: ARP request reception (ARP Target Hardware Address = 00:00:00:00:00:00)
5.2.4.2.2 ARP_17: ARP request reception (ARP Target Hardware Address = ff:ff:ff:ff:ff:ff:ff)
5.2.4.2.3 ARP_18: ARP request reception (ARP Target Hardware Address = random)
5.2.4.2.4 ARP_19: ARP request reception (ARP Target Hardware Address = Address of DUT)
5.2.4.2.5 ARP_20: ARP request reception (Hardware Type correct)
5.2.4.2.6 ARP_21: ARP request reception (Hardware Type wrong)
5.2.4.2.7 ARP_22: Gratious ARP response reception (Hardware Type wrong)
5.2.4.2.8 ARP_26: ARP request reception (Protocol Type correct)
5.2.4.2.9 ARP_27: ARP request reception (Protocol Type wrong)
5.2.4.2.10 ARP_28: Gratious ARP response reception (Protocol Type wrong)
5.2.4.2.11 ARP_32: ARP entry update (Request/Request)
5.2.4.2.12 ARP_33: ARP entry update (Response/Response)
5.2.4.2.13 ARP_34: ARP entry update (Request/Response)
5.2.4.2.14 ARP_35: ARP entry update (Response/Request)
5.2.4.2.15 ARP_36: ARP request reception (Target Protocol Address correct)
5.2.4.2.16 ARP_37: ARP request reception (Target Protocol Address wrong)
5.2.4.2.17 ARP_38: ARP response reception (Target Protocol Address wrong)
5.2.4.2.18 ARP_39: ARP learning (request answers request)
5.2.4.2.19 ARP_40: ARP learning (response answers request)
5.2.4.2.20 ARP_41: ARP responding (response answers request)
5.2.4.2.21 ARP_42: ARP responding (no response to response)
5.2.4.2.22 ARP_43: ARP response (Ethernet Source Hardware Address check)
5.2.4.2.23 ARP_44: ARP response (Sender IP Address check)
5.2.4.2.24 ARP_45: ARP response (ARP Target Hardware Address check)
5.2.4.2.25 ARP_46: ARP response (Hardware Type check)
5.2.4.2.26 ARP_47: ARP response (Hardware Address Length check)
5.2.4.2.27 ARP_48: ARP timeout (idle)
5.2.4.2.28 ARP_49: ARP timeout (busy)
5.3 Internet Control Message Protocol Version 4 (ICMPv4)
5.3.1 General
5.3.1.1 Referenced specification
5.3.1.2 Simulated topologies
5.3.1.3 Required topology related configuration (prerequisites)
5.3.1.4 Coverage
5.3.2 Parameters used in the tests
5.3.3 Test cases ICMPv4
5.3.3.1 Error Handling
5.3.3.1.1 ICMPv4_ERROR_02: ICMP messages are only sent for fragment 0
5.3.3.1.2 ICMPv4_ERROR_03: ICMP messages are not sent when fragment not 0
5.3.3.1.3 ICMPv4_ERROR_04: ICMP messages are not sent for broadcast address
5.3.3.1.4 ICMPv4_ERROR_05: Uknown ICMP message types are ignored
5.3.3.2 ICMP Types
5.3.3.2.1 ICMPv4_TYPE_04: Do no send ICMP Time Exceeded message if missing fragment 0
5.3.3.2.2 ICMPv4_TYPE_05: Discard messages with header parameter problem
5.3.3.2.3 ICMPv4_TYPE_08: ICMP Echo Reply message data field
5.3.3.2.4 ICMPv4_TYPE_09: ICMP Echo Reply message id and sequence field
5.3.3.2.5 ICMPv4_TYPE_10: ICMP checksum is checked
5.3.3.2.6 ICMPv4_TYPE_11: ICMP Timestamp Reply message content
5.3.3.2.7 ICMPv4_TYPE_12: ICMP Timestamp Reply message id and sequence field
5.3.3.2.8 ICMPv4_TYPE_16: Ensure that the DUT does not accept an ICMPv4 Information Request and does not generate a ICMPv4 Information Reply
5.3.3.2.9 ICMPv4_TYPE_18: Send ICMP Destination Unreachable for unknown protocol
5.3.3.2.10 ICMPv4_TYPE_22: Send ICMP Echo Reply on receiving ICMP Echo Request
5.4 Internet Protocol Version 4 (IPv4)
5.4.1 General
5.4.1.1 Referenced specification
5.4.1.2 Simulated topologies
5.4.1.3 Required topology related configuration
5.4.1.4 Coverage
5.4.2 Parameters used in the tests
5.4.3 IPv4 Test cases
5.4.3.1 IPv4 Header
5.4.3.1.1 IPv4_HEADER_01: Ensure that the DUT generates an IPv4 Packet with a Total Length greater than or equal to 20.
5.4.3.1.2 IPv4_HEADER_02: Ensure that the DUT discards an IPv4 Packet with an invalid Header Length
5.4.3.1.3 IPv4_HEADER_03: Ensure that the DUT generates an IPv4 Packet with the Source Address being one of its IPv4 Addresses
5.4.3.1.4 IPv4_HEADER_04: Ensure that the DUT discards an IPv4 Packet with an incorrect Destination Address
5.4.3.1.5 IPv4_HEADER_05: IP Maximum datagram length check
5.4.3.1.6 IPv4_HEADER_08: IP Header length validation
5.4.3.1.7 IPv4_HEADER_09: IP Total Length validation
5.4.3.2 IPv4 Checksum
5.4.3.2.1 IPv4_CHECKSUM_02: IP Checksum method validation on receiving
5.4.3.2.2 IPv4_CHECKSUM_05: IP Checksum method validation
5.4.3.3 IPv4 Time to Live
5.4.3.3.1 IPv4_TTL_01: A host MUST NOT send a datagram with a Time-to-Live (TTL) value of zero
5.4.3.3.2 IPv4_TTL_05: Packets with 0 or 1 TTL are not discarded by hosts
5.4.3.4 IPv4 Version Number
5.4.3.4.1 IPv4_VERSION_01: Ensure that the DUT accepts an IPv4 Packet with a valid Version 4
5.4.3.4.2 IPv4_VERSION_03: Ensure that the DUT generates a IPv4 Packet with a valid Version 4
5.4.3.4.3 IPv4_VERSION_04: IP Version validation
5.4.3.5 IPv4 Addressing
5.4.3.5.1 IPv4_ADDRESSING_01: Ensure that the DUT receives an IPv4 Packet with a Destination Address being a Limited Broadcast Address
5.4.3.5.2 IPv4_ADDRESSING_02: Ensure that the DUT discards an IPv4 Packet with a Destination Address being a Directed Broadcast Address
5.4.3.5.3 IPv4_ADDRESSING_03: Ensure that the DUT discards an IPv4 Packet with a Destination Address being a Loop Back Address
5.4.3.6 IPv4 Fragments
5.4.3.6.1 IPv4_FRAGMENTS_01: IP Reconstruct fragments validation
5.4.3.6.2 IPv4_FRAGMENTS_02: IP Reconstruct fragments, negative test on id
5.4.3.6.3 IPv4_FRAGMENTS_03: IP Reconstruct fragments, negative test on source
5.4.3.6.4 IPv4_FRAGMENTS_04: IP Reconstruct fragments, negative test on protocol
5.4.3.6.5 IPv4_FRAGMENTS_05: IP send unfragmented data validation
5.4.3.7 IPv4 Reassembly
5.4.3.7.1 IPv4_REASSEMBLY_04: Ensure that the DUT reassembles fragments of an IPv4 Packet received in the wrong order
5.4.3.7.2 IPv4_REASSEMBLY_06: Ensure that the DUT does not reassemble fragments of an IPv4 Packet if no first fragment is sent
5.4.3.7.3 IPv4_REASSEMBLY_07: Ensure that the DUT does not reassemble fragments of an IPv4 Packet if some IPv4 Fragments are missing
5.4.3.7.4 IPv4_REASSEMBLY_09: Ensure that DUT discards IPv4 Packet MF = 1
5.4.3.7.5 IPv4_REASSEMBLY_10: IP Reassembly default time check
5.4.3.7.6 IPv4_REASSEMBLY_11: Check fragment with Large TTL value
5.4.3.7.7 IPv4_REASSEMBLY_12: Check fragment with Low TTL value
5.4.3.7.8 IPv4_REASSEMBLY_13: IP Fragments overlap check
5.4.3.8 IPv4 Options
5.5 Dynamic configuration of IPv4 Link Local Address
5.5.1 General
5.5.2 Simulated topologies
5.5.3 Required topology related configuration
5.5.4 Coverage
5.5.5 Parameters and constants used in the tests
5.5.6 Tests
5.5.6.1 Introduction
5.5.6.1.1 IPv4_AUTOCONF_INTRO_01: Link local address configurability condition (in presence of operable routable address)
5.5.6.2 Address Selection, Defense and Delivery
5.5.6.2.1 IPv4_AUTOCONF_ADDRESS_SELECTION_01: Future use of first 256 and last 256 addresses in the 169.254/16 prefix
5.5.6.2.2 IPv4_AUTOCONF_ADDRESS_SELECTION_03: Need for probing to detect address already in use
5.5.6.2.3 IPv4_AUTOCONF_ADDRESS_SELECTION_05: Sender hardware address field usage
5.5.6.2.4 IPv4_AUTOCONF_ADDRESS_SELECTION_06: Sender IP address setting
5.5.6.2.5 IPv4_AUTOCONF_ADDRESS_SELECTION_07: Target hardware address setting and receive check
5.5.6.2.6 IPv4_AUTOCONF_ADDRESS_SELECTION_08: Target IP address field setting
5.5.6.2.7 IPv4_AUTOCONF_ADDRESS_SELECTION_09: Probing time interval and packet count - I
5.5.6.2.8 IPv4_AUTOCONF_ADDRESS_SELECTION_10: Probing time interval and packet count - II
5.5.6.2.9 IPv4_AUTOCONF_ADDRESS_SELECTION_11: Probing and reception of ARP packet - I
5.5.6.2.10 IPv4_AUTOCONF_ADDRESS_SELECTION_12: Probing and reception of ARP packet - II
5.5.6.2.11 IPv4_AUTOCONF_ADDRESS_SELECTION_13: Probing and reception of ARP packet - III
5.5.6.2.12 IPv4_AUTOCONF_ADDRESS_SELECTION_14: Conflict resolution - I
5.5.6.2.13 IPv4_AUTOCONF_ADDRESS_SELECTION_15: Conflict resolution - II
5.5.6.2.14 IPv4_AUTOCONF_ADDRESS_SELECTION_16: IPv4 Link-Local address claim condition - I
5.5.6.3 Announcing an Address
5.5.6.3.1 IPv4_AUTOCONF_ANNOUNCING_01: An ARP announcement - I
5.5.6.3.2 IPv4_AUTOCONF_ANNOUNCING_02: An ARP announcement - II
5.5.6.3.3 IPv4_AUTOCONF_ANNOUNCING_03: An ARP announcement - III
5.5.6.3.4 IPv4_AUTOCONF_ANNOUNCING_04: An ARP announcement - IV
5.5.6.3.5 IPv4_AUTOCONF_ANNOUNCING_05: Announcing claimed address
5.5.6.3.6 IPv4_AUTOCONF_ANNOUNCING_06: Announcing claimed address (interval and packet count)
5.5.6.4 Conflict Detection and Defense
5.5.6.4.1 IPv4_AUTOCONF_CONFLICT_06: Link local address (usage cease condition - I)
5.5.6.4.2 IPv4_AUTOCONF_CONFLICT_07: Link local address (usage cease condition - II)
5.5.6.4.3 IPv4_AUTOCONF_CONFLICT_08: Link local address (usage cease condition - III)
5.5.6.4.4 IPv4_AUTOCONF_CONFLICT_09: Link local address (usage cease condition - IV)
5.5.6.4.5 IPv4_AUTOCONF_CONFLICT_10: Receiving a conflicting ARP packet
5.5.6.4.6 IPv4_AUTOCONF_CONFLICT_11: ARP packets containing (Link- Local 'sender IP address') rule - I
5.5.6.5 Link-Local Packets Are Not Forwarded
5.5.6.5.1 IPv4_AUTOCONF_LINKLOCAL_PACKETS_04: Link-Local Packets Are Not Forwarded (router or other host response for addresses in the 169.254/16 prefix)
5.5.6.6 Healing of Network Partitions
5.5.6.6.1 IPv4_AUTOCONF_NETWORK_PARTITIONS_01: Healing of Network Partitions Hosts
5.6 User Datagram Protocol (UDP)
5.6.1 General
5.6.2 Simulated topologies
5.6.3 Required topology related configuration
5.6.4 Parameters used in the tests
5.6.5 Tests
5.6.5.1 UDP Message Format
5.6.5.1.1 UDP_MessageFormat_02: To verify that IUT accepts an UDP packet containing a well-formed UDP header.
5.6.5.2 UDP Datagram Length
5.6.5.2.1 UDP_DatagramLength_01: To verify that IUT discards a truncated UDP datagram.
5.6.5.3 UDP Padding
5.6.5.3.1 UDP_Padding_02: To verify that IUT generates UDP datagram with even size of payload and no padding at the end.
5.6.5.4 UDP Fields
5.6.5.4.1 UDP_FIELDS_01: Fields – Specify Source Port
5.6.5.4.2 UDP_FIELDS_02: Fields – Specify Destination Port
5.6.5.4.3 UDP_FIELDS_03: Fields - Accept Source Port set to zero
5.6.5.4.4 UDP_FIELDS_04: Fields - Same Destination Port with Different IP Address (send)
5.6.5.4.5 UDP_FIELDS_05: Fields - Same Port with Different IP Address (receive and send)
5.6.5.4.6 UDP_FIELDS_06: Fields - Total Length
5.6.5.4.7 UDP_FIELDS_07: Fields - Total Length (no data)
5.6.5.4.8 UDP_FIELDS_08: Fields - Total Length (less than 8 bytes)
5.6.5.4.9 UDP_FIELDS_09: Fields - Total Length (equal to zero)
5.6.5.4.10 UDP_FIELDS_10: Fields - Total Length (greater than actual)
5.6.5.4.11 UDP_FIELDS_12: Fields - Total Length (maximum)
5.6.5.4.12 UDP_FIELDS_13: Fields - Checksum (with padding)
5.6.5.4.13 UDP_FIELDS_14: Fields - Checksum (no padding)
5.6.5.4.14 UDP_FIELDS_15: Fields - Checksum (incorrect)
5.6.5.4.15 UDP_FIELDS_16: Fields - Checksum (zero checksum)
5.6.5.5 User Interface
5.6.5.5.1 UDP_USER_INTERFACE_01: User Interface - New Receive Port
5.6.5.5.2 UDP_USER_INTERFACE_02: User Interface - Data octets
5.6.5.5.3 UDP_USER_INTERFACE_03: User Interface – Return Source Port
5.6.5.5.4 UDP_USER_INTERFACE_04: User Interface – Return Source IP Address
5.6.5.5.5 UDP_USER_INTERFACE_05: User Interface - Source Port (to be sent)
5.6.5.5.6 UDP_USER_INTERFACE_06: User Interface - Destination Port (to be sent)
5.6.5.5.7 UDP_USER_INTERFACE_07: User Interface - Source IP Address (to be sent)
5.6.5.5.8 UDP_USER_INTERFACE_08: User Interface - Destination Address (to be sent)
5.6.5.6 Introduction
5.6.5.6.1 UDP_INTRODUCTION_01: Introduction – Broadcast Destination Address (optional)
5.6.5.6.2 UDP_INTRODUCTION_02: Introduction – Multicast Destination Address (optional)
5.6.5.6.3 UDP_INTRODUCTION_03: Introduction – Pending Listen Call
5.6.5.7 Invalid Addresses
5.6.5.7.1 UDP_INVALID_ADDRESSES_01: Invalid Addresses - multicast source address
5.6.5.7.2 UDP_INVALID_ADDRESSES_02: Invalid Addresses - broadcast source address
5.6.5.8 UDP/Application layer interface
5.6.5.9 ICMP Messages
5.7 Dynamic Host configuration Protocol Version 4 (DHCPv4) Client
5.7.1 General
5.7.2 Simulated topologies
5.7.3 Required topology related configuration
5.7.4 Coverage
5.7.5 Parameters and constants used in the tests
5.7.6 Tests
5.7.6.1 Summary
5.7.6.1.1 DHCPv4_CLIENT_SUMMARY_01: Setup Verification (DHCP Client Listens on UDP port 68)
5.7.6.1.2 DHCPv4_CLIENT_SUMMARY_02: Discard DHCP Offsers whose xid is not the one of the latest DHCPDISCOVER sent
5.7.6.1.3 DHCPv4_CLIENT_SUMMARY_03: Receive DHCP messages with an 'options' field of at least length 312 octets
5.7.6.2 The Client-Server Protocol
5.7.6.2.1 DHCPv4_CLIENT_PROTOCOL_01: First four octets of the 'options' field of the DHCP message
5.7.6.2.2 DHCPv4_CLIENT_PROTOCOL_02: "DHCP message type" option present in DHCPDISCOVER Message.
5.7.6.2.3 DHCPv4_CLIENT_PROTOCOL_03: "DHCP message type" option present in DHCPREQUEST Message.
5.7.6.3 Client-server interaction - allocating a network address
5.7.6.3.1 DHCPv4_CLIENT_ALLOCATING_01: Broadcast DHCPDISCOVER message on its local physical subnet
5.7.6.3.2 DHCPv4_CLIENT_ALLOCATING_03: Send DHCPREQUEST - must include the 'server identifier'
5.7.6.3.3 DHCPv4_CLIENT_ALLOCATING_04: Send DHCPREQUEST - header value 'secs' field
5.7.6.3.4 DHCPv4_CLIENT_ALLOCATING_05: Send DHCPREQUEST to the same IP broadcast address
5.7.6.3.5 DHCPv4_CLIENT_ALLOCATING_06: Send DHCPDISCOVER message - timeout and resend on no DHCPOFFER messages
5.7.6.3.6 DHCPv4_CLIENT_ALLOCATING_07: Send DHCPDECLINE Message and restart configuration process
5.7.6.3.7 DHCPv4_CLIENT_ALLOCATING_08: Wait minimum 10 seconds before restarting configuration
5.7.6.3.8 DHCPv4_CLIENT_ALLOCATING_09: Receive DHCPNAK - restart the configuration process
5.7.6.3.9 DHCPv4_CLIENT_ALLOCATING_10: Resend DHCPREQUEST message if timeout on no DHCPACK or a DHCPNAK message
5.7.6.4 Client parameters in DHCP
5.7.6.4.1 DHCPv4_CLIENT_PARAMETERS_03: Override value for TTL
5.7.6.4.2 DHCPv4_CLIENT_PARAMETERS_04: Use same parameters in DHCPREQUEST message as in DHCPDISCOVER
5.7.6.5 DHCP usage
5.7.6.5.1 DHCPv4_CLIENT_USAGE_01: Use of DHCP in clients with multiple interfaces
5.7.6.6 Constructing and sending DHCP messages
5.7.6.6.1 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_01: The last option must always be the 'end' option
5.7.6.6.2 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_02: Use the IP address provided in the 'server identifier' option for any unicast requests
5.7.6.6.3 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_03: Source IP address field of DHCPDISCOVER Message is 0
5.7.6.6.4 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_04: Source IP address field of DHCPREQUEST Message is 0
5.7.6.6.5 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_05: Parse 'sname' field when Option Overload is present
5.7.6.6.6 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_06: Parse 'file' field when Option Overload is present
5.7.6.6.7 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_12: The retransmission delay should be doubled with subsequent retransmissions
5.7.6.6.8 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_13: Retransmission strategy using a randomized exponential backoff algorithm
5.7.6.6.9 DHCPv4_CLIENT_CONSTRUCTING_MESSAGES_14: A client may choose a different random initial 'xid' after reboot
5.7.6.7 DHCPREQUEST message
5.7.6.7.1 DHCPv4_CLIENT_REQUEST_01: DHCPREQUEST message - the 'ciaddr' option
5.7.6.7.2 DHCPv4_CLIENT_REQUEST_02: DHCPREQUEST message - requested IP address
5.7.6.7.3 DHCPv4_CLIENT_REQUEST_06: DHCPREQUEST generated during RENEWING state: 'server identifier' option
5.7.6.7.4 DHCPv4_CLIENT_REQUEST_07: DHCPREQUEST generated during RENEWING state: 'requested IP address' option
5.7.6.7.5 DHCPv4_CLIENT_REQUEST_08: DHCPREQUEST generated during RENEWING state: 'ciaddr' option
5.7.6.7.6 DHCPv4_CLIENT_REQUEST_09: DHCPREQUEST generated during REBINDING state: 'server identifier' option
5.7.6.7.7 DHCPv4_CLIENT_REQUEST_10: DHCPREQUEST generated during REBINDING state: 'requested IP address' option
5.7.6.7.8 DHCPv4_CLIENT_REQUEST_11: DHCPREQUEST generated during REBINDING state: 'ciaddr' option
5.7.6.7.9 DHCPv4_CLIENT_REQUEST_12: DHCPREQUEST generated during REBINDING state: use IP broadcast address
5.7.6.8 Initialization and allocation of network address
5.7.6.8.1 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_01: Random time between to desynchronize the use of DHCP at startup
5.7.6.8.2 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_02: INIT state and DHCPDISCOVER messages
5.7.6.8.3 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_03: INIT state and forms a DHCPDISCOVER message - the 'chaddr' field
5.7.6.8.4 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_04: Verify 'xid' of an arriving DHCPOFFER message
5.7.6.8.5 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_05: During Initialization discard arriving DHCPACK messages
5.7.6.8.6 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_06: The DHCPREQUEST message contains the same 'xid' as the DHCPOFFER message
5.7.6.8.7 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_08: Check the suggested address to ensure it is not in use
5.7.6.8.8 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_09: If address is in use send a DHCPDECLINE message to the server
5.7.6.8.9 DHCPv4_CLIENT_INITIALIZATION_ALLOCATION_10: Broadcast an ARP reply to announce the client's new IP
5.7.6.9 Reacquisition and expiration
5.7.6.9.1 DHCPv4_CLIENT_REACQUISITION_01: RENEWING state - send unicast DHCPREQUEST message
5.7.6.9.2 DHCPv4_CLIENT_REACQUISITION_02: On DHCPACK timeout move to REBINDING state and send DHCPREQUEST broadcast
5.7.6.9.3 DHCPv4_CLIENT_REACQUISITION_03: Reacquisition and expiration T1 defaults to (0.5 * duration_of_lease)
5.7.6.9.4 DHCPv4_CLIENT_REACQUISITION_04: Reacquisition and expiration T2 defaults to (0.875 * duration_of_lease)
5.7.6.9.5 DHCPv4_CLIENT_REACQUISITION_05: Wait time for RENEWING state
5.7.6.9.6 DHCPv4_CLIENT_REACQUISITION_06: Wait time for REBINDING state
5.7.6.9.7 DHCPv4_CLIENT_REACQUISITION_07: Stop network processing after lease time expires
5.7.6.9.8 DHCPv4_CLIENT_REACQUISITION_08: Request network initialization parameters after lease time expires
5.8 Transmisison Control Protocol (TCP)
5.8.1 General
5.8.2 Simulated topologies
5.8.3 Required topology related configuration
5.8.4 Parameters used in the tests
5.8.5 Upper Tester Procedures
5.8.6 Tests
5.8.6.1 Connection Establishment and Basic Exercising of the State Machine
5.8.6.1.1 TCP_BASICS_01: [listen] SYN -> SYN/ACK [syn_recv]
5.8.6.1.2 TCP_BASICS_02: [syn_recv] ACK -> [established]
5.8.6.1.3 TCP_BASICS_03: [established] FIN -> ACK [close_wait]
5.8.6.1.4 TCP_BASICS_04: [closed] data(no ack, no rst) -> RST(seq 0) [closed]
5.8.6.1.5 TCP_BASICS_05: [closed] data(ack, no rst) -> RST(seq <- ack) [closed]
5.8.6.1.6 TCP_BASICS_06: [closed] open -> syn
5.8.6.1.7 TCP_BASICS_07: [syn_sent] SYN/ACK -> ACK [established]
5.8.6.1.8 TCP_BASICS_08: [established | close_wait ] close -> FIN […]
5.8.6.1.9 TCP_BASICS_09: [last_ack] ACK of FIN -> [closed]
5.8.6.1.10 TCP_BASICS_10: [finwait-1 | finwait-2] FIN -> ACK
5.8.6.1.11 TCP_BASICS_11: [finwait-2 -> time_wait] delay(2*MSL) -> [closed]
5.8.6.1.12 TCP_BASICS_12: [closing -> time_wait] delay(2*MSL) -> [closed]
5.8.6.1.13 TCP_BASICS_13: [finwait-2 -> time_wait] delay(<2*MSL) -> no change yet
5.8.6.1.14 TCP_BASICS_14: [closing -> time_wait] delay(<2*MSL) -> no change yet
5.8.6.1.15 TCP_BASICS_17: Simultaneous Open Call
5.8.6.2 Processing and Generating TCP Checksums
5.8.6.2.1 TCP_CHECKSUM_01: Receiver Check: checksum ok
5.8.6.2.2 TCP_CHECKSUM_02: Receiver Check: checksum not ok
5.8.6.2.3 TCP_CHECKSUM_03: Sender compute checksum
5.8.6.2.4 TCP_CHECKSUM_04: Use clock-driven ISN selection
5.8.6.3 Processing Unacceptable Acknowledgments and Out of Window Sequence Numbers
5.8.6.3.1 TCP_UNACCEPTABLE_01: [syn-recv] RST -> [listen] (passive open)
5.8.6.3.2 TCP_UNACCEPTABLE_02: [syn-recv] RST out-of-wdw -> [syn-recv]
5.8.6.3.3 TCP_UNACCEPTABLE_03: [syn-recv] unacceptable ACK -> RST [syn-recv]
5.8.6.3.4 TCP_UNACCEPTABLE_04: [established] out-of-wdw SEQ / unacceptable ACK -> empty msg w/ SEQ [established]
5.8.6.3.5 TCP_UNACCEPTABLE_05: [listen] unacceptable ACK -> RST [listen]
5.8.6.3.6 TCP_UNACCEPTABLE_06: [established] out-of-wdw SYN -> ACK (seq) [established]
5.8.6.3.7 TCP_UNACCEPTABLE_07: [listen] old SYN/ACK -> RST [listen]
5.8.6.3.8 TCP_UNACCEPTABLE_08: [syn-sent] unacceptable ACK -> RST(seq)
5.8.6.3.9 TCP_UNACCEPTABLE_09: [finwait-1] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [finwait-1]
5.8.6.3.10 TCP_UNACCEPTABLE_10: [finwait-2] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [finwait-2]
5.8.6.3.11 TCP_UNACCEPTABLE_11: [closing] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [closing]
5.8.6.3.12 TCP_UNACCEPTABLE_12: [last-ack] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [last-ack]
5.8.6.3.13 TCP_UNACCEPTABLE_13: [time-wait] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [time-wait]
5.8.6.3.14 TCP_UNACCEPTABLE_14: [close-wait] out-of-wdw SEQ | unacceptable ACK -> ACK (seq, ack) [close-wait]
5.8.6.4 Processing TCP RECEIVE Calls Received from the Application Layer
5.8.6.4.1 TCP_CALL_RECEIVE_04: Receive: Reassemble queues incoming segments [established | finwait-1 | finwait-2]
5.8.6.4.2 TCP_CALL_RECEIVE_05: Receive: Queued data [close-wait]
5.8.6.5 Processing TCP ABORT Calls Received from the Application Layer
5.8.6.5.1 TCP_CALL_ABORT_02: Abort: Closing connection [established] -> [closed]
5.8.6.5.2 TCP_CALL_ABORT_03: Abort: Closing connection [closing | last-ack | time-wait] -> [closed]
5.8.6.6 TCP Packet Flag Generation in Response to Receiving Invalid Packets
5.8.6.6.1 TCP_FLAGS_INVALID_01: [listen] RST -> ignore
5.8.6.6.2 TCP_FLAGS_INVALID_02: [listen] ACK-> RST(seq <- ack) [listen]
5.8.6.6.3 TCP_FLAGS_INVALID_03: [syn-sent] ACK/RST-> ignore
5.8.6.6.4 TCP_FLAGS_INVALID_04: [syn-sent] RST-> ignore
5.8.6.6.5 TCP_FLAGS_INVALID_05: [syn-sent] ACK/RST-> [CLOSED]
5.8.6.6.6 TCP_FLAGS_INVALID_06: [syn-sent] no syn/no rst-> do nothing
5.8.6.6.7 TCP_FLAGS_INVALID_07: [syn-rcvd] !RST(otw SEQ)-> ACK(SEQ)
5.8.6.6.8 TCP_FLAGS_INVALID_08: [established] (otw SEQ)-> ACK(seq) [established]
5.8.6.6.9 TCP_FLAGS_INVALID_09: [finwait-1] (otw SEQ)-> ACK(seq) [finwait-1]
5.8.6.6.10 TCP_FLAGS_INVALID_10: [finwait-2] (otw SEQ)-> ACK(seq) [finwait-2]
5.8.6.6.11 TCP_FLAGS_INVALID_11: [close-wait] (otw SEQ)-> ACK(seq) [close-wait]
5.8.6.6.12 TCP_FLAGS_INVALID_12: [closing] (otw SEQ)-> ACK(seq) [closing]
5.8.6.6.13 TCP_FLAGS_INVALID_13: [last-ack] (otw SEQ)-> ACK(seq) [last-ack]
5.8.6.6.14 TCP_FLAGS_INVALID_14: [time-wait] (otw SEQ)-> ACK(seq) [time-wait]
5.8.6.6.15 TCP_FLAGS_INVALID_15: [!closed & !syn-sent & !listen] RST(otw SEQ) -> ignore
5.8.6.7 Processing TCP Flags
5.8.6.7.1 TCP_FLAGS_PROCESSING_02: [established | FinWait-1 | FinWait-2 | Close-Wait] RST -> [closed]
5.8.6.7.2 TCP_FLAGS_PROCESSING_05: [syn-rcvd] SYN -> [closed]
5.8.6.7.3 TCP_FLAGS_PROCESSING_06: [time-wait] FIN -> FIN/ACK
5.8.6.7.4 TCP_FLAGS_PROCESSING_07: [close-wait | closing | last-ack | time-wait] URG -> ignore
5.8.6.7.5 TCP_FLAGS_PROCESSING_08: [closed| listen | syn-sent] FIN -> ignore
5.8.6.7.6 TCP_FLAGS_PROCESSING_09: [close-wait| closing | last-ack] FIN -> ignore
5.8.6.7.7 TCP_FLAGS_PROCESSING_10: [established] piggybacking
5.8.6.7.8 TCP_FLAGS_PROCESSING_11: [established] duplicate ACK -> ignore
5.8.6.8 Closing a TCP Connection
5.8.6.8.1 TCP_CLOSING_03: RST with DATA
5.8.6.8.2 TCP_CLOSING_06: [established] CLOSE -> FIN
5.8.6.8.3 TCP_CLOSING_07: [established] CLOSE -> FIN [finwait-1] RECEIVE + DATA -> ACK [finwait-1]
5.8.6.8.4 TCP_CLOSING_08: [finwait-2] RECEIVE + DATA -> ACK [finwait-2]
5.8.6.8.5 TCP_CLOSING_09: [established] FIN -> [close_wait]
5.8.6.8.6 TCP_CLOSING_13: [closed] RST -> [closed]
5.8.6.9 Processing of TCP MSS, End of Option List, and No-Operation Options
5.8.6.9.1 TCP_MSS_OPTIONS_01: Illegal option length for MSS in a SYN segment
5.8.6.9.2 TCP_MSS_OPTIONS_02: No Operation and End of Options List options in SYN segment
5.8.6.9.3 TCP_MSS_OPTIONS_03: Unimplemented TCP Option
5.8.6.9.4 TCP_MSS_OPTIONS_05: Illegal option length for MSS in a SYN-ACK segment
5.8.6.9.5 TCP_MSS_OPTIONS_06: MSS option in SYN segment
5.8.6.9.6 TCP_MSS_OPTIONS_09: MSS option in SYN ACK segment
5.8.6.9.7 TCP_MSS_OPTIONS_10: MSS option is not received
5.8.6.9.8 TCP_MSS_OPTIONS_11: Sending the MSS option
5.8.6.9.9 TCP_MSS_OPTIONS_12: MSS option in every SYN segment differs default
5.8.6.10 Processing Out of Order Segments and Delayed ACKs
5.8.6.10.1 TCP_OUT_OF_ORDER_01: Timing full-sized segment
5.8.6.10.2 TCP_OUT_OF_ORDER_02: Timing delayed ACK
5.8.6.10.3 TCP_OUT_OF_ORDER_03: Queuing out-of-order segments
5.8.6.10.4 TCP_OUT_OF_ORDER_05: Stream of full-sized segments
5.8.6.11 Retransmission Timeout
5.8.6.11.1 TCP_RETRANSMISSION_TO_03: Karn's algorithm
5.8.6.11.2 TCP_RETRANSMISSION_TO_04: Exponential backoff RTO Data
5.8.6.11.3 TCP_RETRANSMISSION_TO_05: Exponential backoff RTO SYN
5.8.6.11.4 TCP_RETRANSMISSION_TO_06: Initial RTO
5.8.6.11.5 TCP_RETRANSMISSION_TO_08: 2*MSL of RTO for data
5.8.6.11.6 TCP_RETRANSMISSION_TO_09: 2*MSL of RTO for SYN
5.8.6.12 Generation of Zero Window Probes
5.8.6.12.1 TCP_PROBING_WINDOWS_02: windows size unsigned number
5.8.6.12.2 TCP_PROBING_WINDOWS_03: Window shrinking
5.8.6.12.3 TCP_PROBING_WINDOWS_04: Open connection probes ACK
5.8.6.12.4 TCP_PROBING_WINDOWS_05: First zero window probe
5.8.6.12.5 TCP_PROBING_WINDOWS_06: Increase interval zero window probes
5.8.6.13 Nagle Algorithm
5.8.6.13.1 TCP_NAGLE_02: Buffer all the user data until ACK
5.8.6.13.2 TCP_NAGLE_03: Buffer all the user data until full-sized segment
5.8.6.14 Use of the Urgent Pointer
5.8.6.14.1 TCP_URGENT_PTR_04: Data following the urgent pointer not same buffer
5.8.6.15 Connection Establishment
5.8.6.15.1 TCP_CONNECTION_ESTAB_01: To verify that the DUT accepts connections from several remote sockets with one passive socket
5.8.6.15.2 TCP_CONNECTION_ESTAB_02: To verify that the DUT opens multiple Passive sockets and connects them to remote socket
5.8.6.15.3 TCP_CONNECTION_ESTAB_03: To verify that the DUT opens multiple Active sockets and connects them to remote socket
5.8.6.15.4 TCP_CONNECTION_ESTAB_07: To verify that DUT accepts remote closing of a connection.
5.8.6.16 Header
5.8.6.16.1 TCP_HEADER_01: To verify that DUT generates a TCP packet containing valid header field values
5.8.6.16.2 TCP_HEADER_02: To verify that DUT accepts the TCP packet containing valid header field values
5.8.6.16.3 TCP_HEADER_04: To verify that a DUT discards the packet in case TCP header contains invalid source port
5.8.6.16.4 TCP_HEADER_05: To verify that a DUT accepts the packet in case TCP header Reserved field having a zero value
5.8.6.16.5 TCP_HEADER_06: To verify that a DUT accepts the packet in case TCP header Reserved field having non-zero value.
5.8.6.16.6 TCP_HEADER_07: To verify that DUT discards TCP packets in case TCP header data offset field having an invalid non zero value
5.8.6.16.7 TCP_HEADER_08: To verify that DUT discards TCP packets in case TCP header data offset field having value greater than the actual value
5.8.6.16.8 TCP_HEADER_09: To verify that DUT discards the TCP packet in case TCP header checksum value is zero
5.8.6.16.9 TCP_HEADER_11: To verify that DUT discards TCP packets with SYN flag set and a Multicast IP Destination Address
5.8.6.17 Sequence Number
5.8.6.17.1 TCP_SEQUENCE_01: To verify that DUT synchronizes on initial sequence number in state 'LISTEN'
5.8.6.17.2 TCP_SEQUENCE_02: To verify that DUT synchronizes on initial sequence number in state 'SYN SENT'
5.8.6.17.3 TCP_SEQUENCE_03: To verify that DUT accepts the TCP packet in case initial sequence number has zero value
5.8.6.17.4 TCP_SEQUENCE_04: To verify that DUT accepts the TCP packet in case initial sequence number has maximum value
5.8.6.17.5 TCP_SEQUENCE_05: To verify that DUT accepts the TCP packets in case sequence numbers received are in the right order
5.8.6.18 Acknowledgment
5.8.6.18.1 TCP_ACKNOWLEDGEMENT_02: To verify that DUT accpets the ACK piggybacked with next transmit packet
5.8.6.18.2 TCP_ACKNOWLEDGEMENT_03: To verify that DUT sends only ACK in case no packet left to send
5.8.6.18.3 TCP_ACKNOWLEDGEMENT_04: To verify that DUT receives ACKs alone (no piggybagging)
5.8.6.19 Control Flags
5.8.6.19.1 TCP_CONTROL_FLAGS_05: To verify that DUT receives TCP data packet in case URG flag is set
5.8.6.19.2 TCP_CONTROL_FLAGS_08: To verify Recovery from Old Duplicate SYN
6 Test Scope Automotive Protocols
6.1 Scalable service-Oriented MiddlewarE over IP Protocol (SOME/IP)
6.1.1 General
6.1.1.1 Referenced specification
6.1.1.2 Simulated topologies
6.1.1.3 Required topology related configuration
6.1.1.4 Coverage
6.1.2 Parameters used in the tests
6.1.2.1 User defined configuration parameters for IUT
6.1.2.2 User defined configuration parameters for TESTER
6.1.3 Terminology used in Test Procedure
6.1.4 Specification of the SOMEIP TestStub Enhanced Testability Service (ETS)
6.1.4.1 Introduction
6.1.4.1.1 Overview
6.1.4.1.2 References
6.1.4.2 Enhanced Testability Service
6.1.4.2.1 Default Service Interface Description
6.1.4.3 SOME/IP Service Discovery (SOME/IP-SD)
6.1.4.3.1 Suspending an SOME/IP Interface: suspendInterface()
6.1.4.3.2 Testing Client Interaction
6.1.4.4 SOME/IP Serialization
6.1.4.4.1 Checking the Byte Order: checkByteOrder()
6.1.4.4.1 Common Data Types: echoCommonDatatypes()
6.1.4.4.2 Echoing data types
6.1.4.4.3 Testing Events
6.1.4.4.4 Testing fields (getter, setter, notify)
6.1.5 Test Cases SOME/IP Server
6.1.5.1 Message Format
6.1.5.1.1 SOMEIPSRV_FORMAT_01: Client ID
6.1.5.1.2 SOMEIPSRV_FORMAT_02: Session ID
6.1.5.1.3 SOMEIPSRV_FORMAT_03: Protocol Version
6.1.5.1.4 SOMEIPSRV_FORMAT_04: Interface Version
6.1.5.1.5 SOMEIPSRV_FORMAT_05: Message Type
6.1.5.1.6 SOMEIPSRV_FORMAT_06: Return Code
6.1.5.1.7 SOMEIPSRV_FORMAT_07: Reboot Flag
6.1.5.1.8 SOMEIPSRV_FORMAT_08: Unicast Flag
6.1.5.1.9 SOMEIPSRV_FORMAT_09: Undefined bits in the Flag field
6.1.5.1.10 SOMEIPSRV_FORMAT_10: Reserved bits
6.1.5.1.11 SOMEIPSRV_FORMAT_11: Length of the Type 1 Entry
6.1.5.1.12 SOMEIPSRV_FORMAT_12: Index First Option Run of the Type 1 Entry
6.1.5.1.13 SOMEIPSRV_FORMAT_13: Number of Option 1 of the Type 1 Entry
6.1.5.1.14 SOMEIPSRV_FORMAT_14: Service ID field of the Type 1 Entry
6.1.5.1.15 SOMEIPSRV_FORMAT_15: Instance ID field of the Type 1 Entry
6.1.5.1.16 SOMEIPSRV_FORMAT_16: Major Version field of the Type 1 Entry
6.1.5.1.17 SOMEIPSRV_FORMAT_17: TTL field of the Type 1 Entry
6.1.5.1.18 SOMEIPSRV_FORMAT_18: Minor Version field of the Type 1 Entry
6.1.5.1.19 SOMEIPSRV_FORMAT_19: Type field of the Type 2 Entry
6.1.5.1.20 SOMEIPSRV_FORMAT_20: Length of Type 2 Entries
6.1.5.1.21 SOMEIPSRV_FORMAT_21: Index First Option Run field of the Type 2 Entry
6.1.5.1.22 SOMEIPSRV_FORMAT_23: Service ID field of the Type 2 Entry
6.1.5.1.23 SOMEIPSRV_FORMAT_24: Instance ID field of the Type 2 Entry
6.1.5.1.24 SOMEIPSRV_FORMAT_25: Major Version field of the Type 2 Entry
6.1.5.1.25 SOMEIPSRV_FORMAT_26: TTL field of the Type 2 Entry Entry
6.1.5.1.26 SOMEIPSRV_FORMAT_27: Reserved field, which follows the TTL field of the Type 2 Entry
6.1.5.1.27 SOMEIPSRV_FORMAT_28: Eventgroup ID field of the Type 2 Entry
6.1.5.2 Options Array
6.1.5.2.1 SOMEIPSRV_OPTIONS_01: Length field of the IPv4 Endpoint Option
6.1.5.2.2 SOMEIPSRV_OPTIONS_02: Type field of the IPv4 Endpoint Option
6.1.5.2.3 SOMEIPSRV_OPTIONS_03: Reserved field of the IPv4 Endpoint Option
6.1.5.2.4 SOMEIPSRV_OPTIONS_04: IPv4-Address field of the IPv4 Endpoint Option
6.1.5.2.5 SOMEIPSRV_OPTIONS_05: Reserved field of the IPv4 Endpoint Option
6.1.5.2.6 SOMEIPSRV_OPTIONS_06: Layer 4 Protocol field of the IPv4 Endpoint Option
6.1.5.2.7 SOMEIPSRV_OPTIONS_07: Port Number field of the IPv4 Endpoint Option
6.1.5.2.8 SOMEIPSRV_OPTIONS_08: Length field of the IPv4 Multicast Option
6.1.5.2.9 SOMEIPSRV_OPTIONS_09: Type field of the IPv4 Multicast Option
6.1.5.2.10 SOMEIPSRV_OPTIONS_10: Reserved field after IPv4 Address of the IPv4 Multicast Option
6.1.5.2.11 SOMEIPSRV_OPTIONS_11: IPv4-Address field of the IPv4 Multicast Option
6.1.5.2.12 SOMEIPSRV_OPTIONS_12: Reserved field of the IPv4 Multicast Option
6.1.5.2.13 SOMEIPSRV_OPTIONS_13: Layer 4 Protocol field of the IPv4 Multicast Option for UDP
6.1.5.2.14 SOMEIPSRV_OPTIONS_14: Port Number field of the IPv4 Multicast Option
6.1.5.2.15 SOMEIPSRV_OPTIONS_15: Layer 4 Protocol field of the IPv4 Endpoint Option for TCP
6.1.5.3 Service Discovery Messages
6.1.5.3.1 SOMEIPSRV_SD_MESSAGE_01: Instance ID if all service instances shall be returned
6.1.5.3.2 SOMEIPSRV_SD_MESSAGE_02: Instance ID if a specific instance shall be returned
6.1.5.3.3 SOMEIPSRV_SD_MESSAGE_03: Major Version when any version shall be returned
6.1.5.3.4 SOMEIPSRV_SD_MESSAGE_04: Major Version when a specific version shall be returned
6.1.5.3.5 SOMEIPSRV_SD_MESSAGE_05: Minor Version when any version shall be returned
6.1.5.3.6 SOMEIPSRV_SD_MESSAGE_06: Minor Version when a specific version shall be returned
6.1.5.3.7 SOMEIPSRV_SD_MESSAGE_07: TTL and the lifetime of a service instance
6.1.5.3.8 SOMEIPSRV_SD_MESSAGE_08: Offer Service entries for IPv4
6.1.5.3.9 SOMEIPSRV_SD_MESSAGE_09: Endpoint Options Port Numer
6.1.5.3.10 SOMEIPSRV_SD_MESSAGE_11: Subscribe Eventgroup entry type
6.1.5.3.11 SOMEIPSRV_SD_MESSAGE_13: Subscribe Eventgroup Acknowledgment entry type
6.1.5.3.12 SOMEIPSRV_SD_MESSAGE_14: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.3.13 SOMEIPSRV_SD_MESSAGE_15: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.3.14 SOMEIPSRV_SD_MESSAGE_16: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.3.15 SOMEIPSRV_SD_MESSAGE_17: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.3.16 SOMEIPSRV_SD_MESSAGE_18: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.3.17 SOMEIPSRV_SD_MESSAGE_19: Subscribe Eventgroup Negative Acknowledgment entry type
6.1.5.4 Service Discovery Communication Behavior
6.1.5.4.1 SOMEIPSRV_SD_BEHAVIOR_01: After messages in the Repetition Phase the delay is doubled
6.1.5.4.2 SOMEIPSRV_SD_BEHAVIOR_02: Main Phase Offer Messages and Publish Messages cyclically
6.1.5.4.3 SOMEIPSRV_SD_BEHAVIOR_03: Response if the last offer was more than half of cyclic offer delay
6.1.5.4.4 SOMEIPSRV_SD_BEHAVIOR_04: Response for Find messages with Unicast Flag set to 0
6.1.5.5 SOME/IP Basic Functionality
6.1.5.5.1 SOMEIPSRV_BASIC_01: Define service using the Service ID
6.1.5.5.2 SOMEIPSRV_BASIC_02: Reserved values for Service Instance IDs
6.1.5.5.3 SOMEIPSRV_BASIC_03: Method ID of a notification has highest bit set to 1
6.1.5.6 Specification of the SOME/IP on-wire format
6.1.5.6.1 SOMEIPSRV_ONWIRE_01: IP addresses and port number of the Reponse message
6.1.5.6.2 SOMEIPSRV_ONWIRE_02: MSB of Method ID in Response Message.
6.1.5.6.3 SOMEIPSRV_ONWIRE_03: Copy Request ID from the request to the response message.
6.1.5.6.4 SOMEIPSRV_ONWIRE_04: Request IDs may be reused if response arrived
6.1.5.6.5 SOMEIPSRV_ONWIRE_05: Protocol Version
6.1.5.6.6 SOMEIPSRV_ONWIRE_06: Interface Version
6.1.5.6.7 SOMEIPSRV_ONWIRE_07: Message Type and Response after a Request
6.1.5.6.8 SOMEIPSRV_ONWIRE_10: Message Type and Unkown Service ID
6.1.5.6.9 SOMEIPSRV_ONWIRE_11: Return code for normal request response
6.1.5.6.10 SOMEIPSRV_ONWIRE_12: Return code for an Unknown Method ID error
6.1.5.7 RPC Protocol specification
6.1.5.7.1 SOMEIPSRV_RPC_01: Use a single TCP connection for all Methods
6.1.5.7.2 SOMEIPSRV_RPC_02: Use a single TCP connection for all Notifications
6.1.5.7.3 SOMEIPSRV_RPC_03: Getter of a field method
6.1.5.7.4 SOMEIPSRV_RPC_04: Fire & forget requests
6.1.5.7.5 SOMEIPSRV_RPC_05: Fire & forget requests shall return no error
6.1.5.7.6 SOMEIPSRV_RPC_06: Error handling the the bits of the return code
6.1.5.7.7 SOMEIPSRV_RPC_07: Ignore the two most significant bits from return code
6.1.5.7.8 SOMEIPSRV_RPC_08: Do not reply to messages already carrying an error
6.1.5.7.9 SOMEIPSRV_RPC_09: No payload in Error message
6.1.5.7.10 SOMEIPSRV_RPC_10: Do not return an error if Message Type is incorrect
6.1.5.7.11 SOMEIPSRV_RPC_11: Setter of a field and payload
6.1.5.7.12 SOMEIPSRV_RPC_13: Different services can share the same port
6.1.5.7.13 SOMEIPSRV_RPC_14: Different instances of the same service must use different ports
6.1.5.7.14 SOMEIPSRV_RPC_17: Multiple instances use multiple TCP connections
6.1.5.7.15 SOMEIPSRV_RPC_18: In Response copy Message ID
6.1.5.7.16 SOMEIPSRV_RPC_19: In Response copy Request ID
6.1.5.7.17 SOMEIPSRV_RPC_20: In Response copy Interface Version
6.1.6 Test Cases ETS
6.1.6.1.1 SOMEIP_ETS_001: Array_Length_longer_as_message_length_allows_it
6.1.6.1.2 SOMEIP_ETS_002: Array_Length_too_long
6.1.6.1.3 SOMEIP_ETS_003: Array_Length_too_short_strips_Payload
6.1.6.1.4 SOMEIP_ETS_004: Burst_Test
6.1.6.1.5 SOMEIP_ETS_005: checkByteOrder
6.1.6.1.6 SOMEIP_ETS_007: echoBitfields
6.1.6.1.7 SOMEIP_ETS_008: echoCommonDatatypes
6.1.6.1.8 SOMEIP_ETS_009: echoENUM
6.1.6.1.9 SOMEIP_ETS_019: echoFLOAT64
6.1.6.1.10 SOMEIP_ETS_021: echoINT8
6.1.6.1.11 SOMEIP_ETS_022: echoStaticUINT8Array_One_Dimensional
6.1.6.1.12 SOMEIP_ETS_027: echoUINT8
6.1.6.1.13 SOMEIP_ETS_028: echoUINT8Array
6.1.6.1.14 SOMEIP_ETS_029: echoUINT8Array16Bitlength
6.1.6.1.15 SOMEIP_ETS_030: echoUINT8Array2Dim
6.1.6.1.16 SOMEIP_ETS_031: echoUINT8Array8Bitlength
6.1.6.1.17 SOMEIP_ETS_032: echoUINT8ArrayMinSize
6.1.6.1.18 SOMEIP_ETS_033: echoUINT8ArrayMinSize_too_short
6.1.6.1.19 SOMEIP_ETS_034: echoUINT8E2E
6.1.6.1.20 SOMEIP_ETS_035: echoUINT8RELIABLE
6.1.6.1.21 SOMEIP_ETS_037: echoUINT8RELIABLE_client_closes_TCP_connection_automatically
6.1.6.1.22 SOMEIP_ETS_038: echoUNION
6.1.6.1.23 SOMEIP_ETS_039: echoUTF16DYNAMIC
6.1.6.1.24 SOMEIP_ETS_040: echoUTF16DYNAMIC_length_too_long_for_String
6.1.6.1.25 SOMEIP_ETS_041: echoUTF16DYNAMIC_length_too_short_for_malformed_String
6.1.6.1.26 SOMEIP_ETS_042: echoUTF16DYNAMIC_length_too_short_for_String
6.1.6.1.27 SOMEIP_ETS_043: echoUTF16DYNAMIC_odd_number_before_termination
6.1.6.1.28 SOMEIP_ETS_044: echoUTF16DYNAMIC_with_odd_number_after_termination
6.1.6.1.29 SOMEIP_ETS_045: echoUTF16DYNAMIC_wrong_BOM
6.1.6.1.30 SOMEIP_ETS_046: echoUTF16FIXED
6.1.6.1.31 SOMEIP_ETS_047: echoUTF16FIXED_with_odd_number
6.1.6.1.32 SOMEIP_ETS_048: echoUTF8DYNAMIC
6.1.6.1.33 SOMEIP_ETS_049: echoUTF8DYNAMIC_length_too_long_for_String
6.1.6.1.34 SOMEIP_ETS_050: echoUTF8DYNAMIC_length_too_short_for_malformed_String
6.1.6.1.35 SOMEIP_ETS_051: echoUTF8DYNAMIC_length_too_short_for_String
6.1.6.1.36 SOMEIP_ETS_052: echoUTF8DYNAMIC_wrong_BOM
6.1.6.1.37 SOMEIP_ETS_053: echoUTF8FIXED
6.1.6.1.38 SOMEIP_ETS_054: Length_equals_0_Test
6.1.6.1.39 SOMEIP_ETS_055: Length_smaller_than_8_Test
6.1.6.1.40 SOMEIP_ETS_058: Length_way_too_long
6.1.6.1.41 SOMEIP_ETS_059: ResetInterface_wrong_Fire_and_forget_package_get_No_Error_back
6.1.6.1.42 SOMEIP_ETS_060: SD_Discover_Port_and_IP
6.1.6.1.43 SOMEIP_ETS_061: Sending_two_SOMEIP_Messages_in_a_row
6.1.6.1.44 SOMEIP_ETS_063: String_UTF16FIXED_too_long
6.1.6.1.45 SOMEIP_ETS_064: String_UTF16FIXED_too_short
6.1.6.1.46 SOMEIP_ETS_065: String_UTF8FIXED_too_long
6.1.6.1.47 SOMEIP_ETS_066: String_UTF8FIXED_too_short
6.1.6.1.48 SOMEIP_ETS_067: UINT8Array_with_Length_0_strips_Payload
6.1.6.1.49 SOMEIP_ETS_068: Unaligned_SOMEIP_Messages_overTCP
6.1.6.1.50 SOMEIP_ETS_069: Unaligned_SOMEIP_Messages_overUDP
6.1.6.1.51 SOMEIP_ETS_070: Union_Length_longer_as_mesage_length_allows_it
6.1.6.1.52 SOMEIP_ETS_071: Union_Length_too_long
6.1.6.1.53 SOMEIP_ETS_072: Union_Length_too_short
6.1.6.1.54 SOMEIP_ETS_073: Union_with_wrong_type_field_for_union_member_Padding
6.1.6.1.55 SOMEIP_ETS_074: Wrong_Interface_Version
6.1.6.1.56 SOMEIP_ETS_075: Wrong_Message_Type
6.1.6.1.57 SOMEIP_ETS_076: Wrong_Method_ID
6.1.6.1.58 SOMEIP_ETS_077: Wrong_Service_ID
6.1.6.1.59 SOMEIP_ETS_078: Wrong_SOMEIP_Protocol_Version
6.1.6.1.60 SOMEIP_ETS_081: ClientServiceActivate_Server_reboot
6.1.6.1.61 SOMEIP_ETS_082: ClientServiceActivate_Server_reboot_2
6.1.6.1.62 SOMEIP_ETS_084: ClientServiceDeactivate
6.1.6.1.63 SOMEIP_ETS_086: Eventgroup_EventsAndFieldsAll_2_TCP
6.1.6.1.64 SOMEIP_ETS_087: Eventgroup_EventsAndFieldsUnreliable_5
6.1.6.1.65 SOMEIP_ETS_088: SD_Answer_multiple_subscribes_together
6.1.6.1.66 SOMEIP_ETS_089: SD_Calling_same_ports_before_and_after_suspendInterface
6.1.6.1.67 SOMEIP_ETS_091: SD_Check_OfferService_Request_ID_incrementation
6.1.6.1.68 SOMEIP_ETS_092: SD_Check_Reaction_to_a_Subscribe_with_ttl_0
6.1.6.1.69 SOMEIP_ETS_093: SD_Check_Reboot_Detection_separate_multicast_and_unicast
6.1.6.1.70 SOMEIP_ETS_094: SD_Check_Reboot_Detection_Server_Side
6.1.6.1.71 SOMEIP_ETS_095: SD_Check_subscribe_eventgroup_ttl_expired
6.1.6.1.72 SOMEIP_ETS_096: SD_Check_TCP_Connection_before_SubscribeEventgroup
6.1.6.1.73 SOMEIP_ETS_097: SD_Client_restarts_tcp_connection
6.1.6.1.74 SOMEIP_ETS_098: SD_ClientService_subscribe_without_method_call
6.1.6.1.75 SOMEIP_ETS_099: SD_ClientServiceActivate
6.1.6.1.76 SOMEIP_ETS_100: SD_ClientServiceActivate_no_FindServices_in_Main_Phase
6.1.6.1.77 SOMEIP_ETS_101: SD_ClientServiceActivate_send_StopOfferService
6.1.6.1.78 SOMEIP_ETS_103: SD_ClientServiceGetLastValueOfEventTCP
6.1.6.1.79 SOMEIP_ETS_104: SD_ClientServiceGetLastValueOfEventUDPMulticast
6.1.6.1.80 SOMEIP_ETS_105: SD_ClientServiceGetLastValueOfEventUDPUnicast
6.1.6.1.81 SOMEIP_ETS_106: SD_ClientServiceSubscribeEventgroup
6.1.6.1.82 SOMEIP_ETS_107: SD_Consider_Entries_Order
6.1.6.1.83 SOMEIP_ETS_108: SD_Deregister_from_Eventgroup
6.1.6.1.84 SOMEIP_ETS_109: SD_Do_not_specify_a_port
6.1.6.1.85 SOMEIP_ETS_110: SD_Do_not_specify_IPv4_Adress
6.1.6.1.86 SOMEIP_ETS_111: SD_Empty_Entries_Array
6.1.6.1.87 SOMEIP_ETS_112: SD_Empty_Option
6.1.6.1.88 SOMEIP_ETS_113: SD_Empty_Options_Array
6.1.6.1.89 SOMEIP_ETS_114: SD_Entries_Length_wrong_combined
6.1.6.1.90 SOMEIP_ETS_115: SD_Entry_references_more_options_than_exist
6.1.6.1.91 SOMEIP_ETS_116: SD_Entry_references_non_existing_option_type
6.1.6.1.92 SOMEIP_ETS_117: SD_Entry_references_options_of_same_kind
6.1.6.1.93 SOMEIP_ETS_118: SD_Ignore_Options_in_FindService
6.1.6.1.94 SOMEIP_ETS_119: SD_Indicate_wrong_l4proto_param
6.1.6.1.95 SOMEIP_ETS_120: SD_Initial_Events_after_Subscribe_with_alternate_IPs
6.1.6.1.96 SOMEIP_ETS_121: SD_Initial_Events_after_SubscribeEventgroup
6.1.6.1.97 SOMEIP_ETS_122: SD_Interface_Version
6.1.6.1.98 SOMEIP_ETS_123: SD_Length_of_Entry_Array_longer_than_message_allows
6.1.6.1.99 SOMEIP_ETS_124: SD_Length_of_Entry_Array_too_long
6.1.6.1.100 SOMEIP_ETS_125: SD_Length_of_Entry_Array_too_short
6.1.6.1.101 SOMEIP_ETS_127: SD_Multicast_FindService
6.1.6.1.102 SOMEIP_ETS_128: SD_Multicast_FindService_Major_Minor_Version_set_to_all
6.1.6.1.103 SOMEIP_ETS_130: SD_Multicast_FindService_with_unicast_Flag_to_0
6.1.6.1.104 SOMEIP_ETS_134: SD_Option_Length_ends_past_Options_Array_Var_A
6.1.6.1.105 SOMEIP_ETS_135: SD_Option_Length_ends_past_Options_Array_Var_B
6.1.6.1.106 SOMEIP_ETS_136: SD_Option_Length_shorter_GT_0_as_specified_for_type
6.1.6.1.107 SOMEIP_ETS_137: SD_Option_shorter_with_unaligned_next_option
6.1.6.1.108 SOMEIP_ETS_138: SD_Options_Array_longer_than_message_allows
6.1.6.1.109 SOMEIP_ETS_139: SD_Options_Array_too_short
6.1.6.1.110 SOMEIP_ETS_140: SD_Request_non_existing_EventgroupID
6.1.6.1.111 SOMEIP_ETS_141: SD_Request_non_existing_InstanceID
6.1.6.1.112 SOMEIP_ETS_142: SD_Request_non_existing_Major_Version
6.1.6.1.113 SOMEIP_ETS_143: SD_Request_non_existing_ServiceID
6.1.6.1.114 SOMEIP_ETS_144: SD_Reserved_Field_Endpoint_Option_set
6.1.6.1.115 SOMEIP_ETS_146: SD_ResetInterface
6.1.6.1.116 SOMEIP_ETS_147: SD_Send_triggerEventUINT8_Eventgroup_2
6.1.6.1.117 SOMEIP_ETS_148: SD_Send_triggerEventUINT8Array_Eventgroup_2
6.1.6.1.118 SOMEIP_ETS_149: SD_Send_triggerEventUINT8E2E_Eventgroup_2
6.1.6.1.119 SOMEIP_ETS_150: SD_Send_triggerEventUINT8Multicast_Eventgroup_6
6.1.6.1.120 SOMEIP_ETS_151: SD_Send_triggerEventUINT8Reliable_Eventgroup_2
6.1.6.1.121 SOMEIP_ETS_152: SD_Session_ID_is_one_after_wrapping
6.1.6.1.122 SOMEIP_ETS_153: SD_SOMEIP_Length_shorter_as_expected
6.1.6.1.123 SOMEIP_ETS_154: SD_Specify_an_unexisting_IPv4_Address
6.1.6.1.124 SOMEIP_ETS_155: SD_Subscribe_after_StopSubscribe
6.1.6.1.125 SOMEIP_ETS_162: SD_SubscribeEventgroup_with_unallowed_option_ip
6.1.6.1.126 SOMEIP_ETS_164: SD_SubscribeEventgroup_with_unallowed_option_ip_2
6.1.6.1.127 SOMEIP_ETS_163: SD_SuspendInterface
6.1.6.1.128 SOMEIP_ETS_166: SD_TestFieldUINT8
6.1.6.1.129 SOMEIP_ETS_167: SD_TestFieldUINT8Array
6.1.6.1.130 SOMEIP_ETS_168: SD_TestFieldUINT8Reliable
6.1.6.1.131 SOMEIP_ETS_171: SD_ Unicast_FindService
6.1.6.1.132 SOMEIP_ETS_172: SOMEIP_ETS_173: SD_Unicast_SubscribeEventgroup
6.1.6.1.133 SOMEIP_ETS_174: SD_Unknown_Option_type
6.1.6.1.134 SOMEIP_ETS_175: SD_ Unreferenced_option
6.1.6.1.135 SOMEIP_ETS_176: SD_Unused_data_after_Options_Array
6.1.6.1.136 SOMEIP_ETS_177: SD_ Unused_data_after_Options_Array_wrong_length
6.1.6.1.137 SOMEIP_ETS_178: Subscribe_using_wrong_SOMEIP_MessageID