Networking
Communications Services take ownership of Ethernet and native CAN peripherals. Guest VMs access these peripherals using the virtual interfaces and virtual networks.
Support Platform Boards
The supported hardware boards are as follows:
Board | Board Revisions | Number of Xaviers |
E3550 | B01*, B02, B03 | 2 - Xavier A and Xavier B |
P3479 | B01 | 1 - Xavier A |
* B01 board is NOT supported if Communications and Security Service is enabled. |
Virtual Networks
The supported virtual networks are as follows:
Network | Hardware Device |
IP | 1G eq0 |
CAN over Ethernet | 1G eq0 VLAN 200 |
VLAN200 | 1G eq0 VLAN 200 |
Native CAN | MTT |
IP Network
The network provides the virtual IP interface to communicate to the Ethernet device:
Network IP Assignment
The IP link between the Virtual Machines and the Communication Service is assigned with a static IP. Each VM is on a different subnet connected to the physical Ethernet devices Eq0 on the Communication Service by the QNX packet filter application. Primarily, the packet filter provides the Network Address Translation functionality.
Virtual Machine | IP | Communication IP |
Guest VM | 192.168.10.4 | 192.168.10.1 |
Supported Virtual Machines
The supported VMs are as follows:
Virtual Machine | Supported |
Guest VM | Yes |
10G IP Network
The QNX Guest Virtual Machine uses Sock2/HV0 IP interface as follows:
The Linux Guest Virtual Machine uses HV3 IP interface as follows:
Network IP Assignment
The IP link between the Virtual Machines and the Communication Service is assigned with a Static IP. All VMs are on the same subnet connected to the physical Ethernet devices PCIe on the Communication Service by the QNX bridge application.
Xavier | Virtual Machines | Static IP |
Xavier A | Guest | 192.168.200.10 |
Communication Service | 192.168.200.1 |
Xavier B | Guest | 192.168.200.20 |
Communication Service | 192.168.200.2 |
Supported Virtual Machines
The supported VMs are as follows:
Virtual Machine | Supported |
Guest VM | Yes |
VLAN200 Network
The VLAN200 network provides virtual interface for VLAN200 communication between Xavier SoCs. The packets of the virtual VLAN200 are normal ethernet packets that do not have a VLAN tag. The tagged VLAN200 packet is ONLY between the physical devices such as Xavier A, Xavier B, AURIX, and the ethernet switch that supports VLAN tagging.
The AURIX device is on the physical VLAN200. However, a dedicated virtual network is allocated for communication to AURIX. This is required because AURIX requires point-to-point IP communication. Consult
CAN Over Ethernet Network for details.
Network IP Assignment
Each Virtual Machine on this network has a unique static IP address.
Xavier | Virtual Machines | Static IP |
Xavier A | Guest | 10.42.0.21 |
Communication Service | 10.42.0.28 |
Xavier B | Guest | 10.42.0.41 |
Communication Service | 10.42.0.29 |
Supported Virtual Machines
The supported VMs are as follows:
Virtual Machine | Supported |
Guest VM | Yes |
CAN Over Ethernet Network
The CAN over Ethernet network provides a virtual IP interface to communicate to the AURIX device. The primary purpose of the CAN over Ethernet is to support CAN functionality of the AURIX device to allow VMs, such as Guest OS to share the AURIX device. Other
Supported Applications, that require access to AURIX, are supported by this network.
By design, the Ethernet link between the Xavier SoCs and AURIX require a point-to-point connection. The pre-programmed IP address in the AURIX firmware are as follows:
Device | Valid IP Address |
Xavier A VLAN200 | 10.42.0.28 |
Xavier B VLAN200 | 10.42.0.29 |
AURIX Ethernet | 10.42.0.146 |
AURIX ONLY accepts IP packets with these specified IP addresses. |
Consult the DRIVE OS Development Guide MCU Setup and Configuration > SoC to Microcontroller Communications > Library Usage and Configuration for details on the default configuration file tacp.cfg provided in the root file system.
Since the Communication Service owns the physical Ethernet devices, the application nvcomms_serv on the Communications Service performs the Network Address Translation (NAT) and the port translation. All packets on this network, as long as it is in the correct AURIX UDP format, is translated before sending to the AURIX device.
To simulate the CAN networks, the CAN over Ethernet is a broadcast IP network. On the Communication Service, the IP path from the VMs is connected by Bridge 1 so all VMS are on the same subnet.
The nvcomms_serv application connects the Bridge 1 and VLAN200 for communication to and from the AURIX device.
Supported Applications
The following supported applications require the
tacp.conf configuration that specifies the correct IP addresses to use. The virtual IP address, as identified in
Network IP Assignment, are used in the VMs.
AURIX Application | Supported |
EasyCAN | Yes |
AURIX Firmware Update | Yes |
Camera Control Protocol test application ccp_test_app | Yes |
FAN control | Yes |
Network IP Assignment
The network is on the same subnet and all Virtual Machines are connected on the Communication Service by Bridge 1.
Virtual Machine | IP Address | Communication Service Bridge 1 IP Address |
Guest VM | 172.16.20.11 | 172.16.20.1 |
Supported Virtual Machines
The supported Virtual Machines are as follows:
Virtual Machine | Supported |
Xavier A VLAN200 | 10.42.0.28 |
Xavier B VLAN200 | 10.42.0.29 |
Native CAN Network
The Native CAN network provides virtual interface to communicate to MTT Native CAN devices. There are two MTT Native CAN interfaces on the Xavier SoC. An example of the Native CAN1 virtualization is depicted as follows:
Native CAN Hardware Devices
The Native CAN hardware devices are as follows:
Xavier | Native CAN Device |
Xavier A | Native CAN0, Native CAN1 |
Xavier B | Native CAN0, Native CAN1 |
Virtualized Native CAN Driver
Virtualized Native CAN driver shows up differently, depending on the operating system.
Operating System | Native CAN Device |
QNX | /dev/nvcan/can0 /dev/nvcan/can0 |
Linux | network IF can0 network IF can1 |
Supported Virtual Machines
The supported Virtual Machines are as follows:
Virtual Machine | Supported |
Guest VM | Yes |
Special Network Support
The Communication Service supports Broadcast and Multicast networks.
Broadcast Support
The Communication Service can receive broadcast packets from the external network (eq0) and send to VMs using the virtual IP network.
Multicast Support
The Communication Service receives multicast packets from the external network (eq0) and send to VMs using the virtual IP network.