An XNET IP stack is an implementation of the TCP/IP protocol suite. The IP stack provides tools to create everything required for TCP and UDP communication, independent from the limitations of the IP stack native to your operating system (OS). A test application typically uses a single XNET IP Stack for each XNET Interface (physical port), but more complex configurations are possible.

For example, suppose that you are testing eight identical instances of an ECU, each instance connected to a distinct XNET Interface (e.g., two 4-port Automotive Ethernet Interface Modules). For each of the eight repeated test setups, you could use the same static IP address for each XNET Interface, and communicate with the same static IP address in the ECU. This configuration is difficult to achieve using the native Windows or Linux IP stack, because the OS assumes that each interface uses a different unicast IP address.

As another example, to fully test a physical ECU, suppose you need to simulate six real ECUs that are part of a single in-vehicle network. (This is sometimes called "restbus simulation.") The XNET IP stack enables you to configure six distinct virtual interfaces in the IP stack to represent multiple simulated ECUs. These virtual interfaces can all run on the IP stack associated with a single XNET Interface (physical port) that is connected to your real ECU under test.

After you configure the IP stacks as needed for your test, you can use the Automotive Ethernet Socket API for TCP and/or UDP communication. The Socket API is analogous to LabVIEW's built-in TCP/UDP palettes for the OS stack, which you can find on the Functions Palette under Data Communication » Protocols. The alignment of these socket APIs is intended to reduce the learning curve and to facilitate re-use of code between stacks.

For a given XNET Interface, TCP and UDP traffic switch from the OS stack to XNET IP Stack when you call XNET IP Stack Create.vi the first time for that XNET Interface. Communication changes back to the OS stack when you call XNET IP Stack Clear.vi the last time for that XNET Interface. When you are viewing traffic on the XNET Interface (e.g., Wireshark on ENET2), you might notice that some protocols run in the OS stack (e.g., Windows running DHCPv6), but those protocols cease after XNET IP Stack Create.vi.