...
3.2 Network Device
Standard networks
Standard networks means include those that are overwhelmingly standard not automotive specific, but instead frequently used in the computing world. In other words , any these are typically IP based network, typically with TCP (UDP for certain cases) as transport. While it's not really necessary to put limits on that, the networks, but some of them simulate this level through other means (e.g. vsock which does not use IP addressing). The physical layer is normally some variation of the Ethernet/WiFi standard(s) or WiFi, ) (according to standards 802.*) or other transport that transparently exposes a TCP/IP network interface.
PLACEHOLDER: It is assumed that [VIRTIO] specification is an adequate definition of how to describe virtual platform interface and that operating systems can easily expose physical, virtual and inter-vm networks as network interfaces, i.e. what in Linux might be listed for a physical interface with a name like "eth0".
- Virtual and hardware (pass-through) interfaces shall be exposed as the operating system's standard network interface concept.
- The hypervisor/equivalent shall provide the ability to dedicate and expose any hardware network interface to one virtual machine.
- The hypervisor/equivalent shall(?) be able to configure virtual inter-vm networking interfaces.
Communication between VM and hypervisor. This is described as vsock in the VIRTIO specification. Is there a use case for this?
similar network socket interface
virtio-net = Layer 2 (Ethernet / MAC addresses)
virtio-vsock = Layer 4. Has its own socket type. Optimized by stripping away the IP stack. Possibility to address VMs without using IP addresses. Primary function is Host (HV) to VM communication.
Discussion:
Vsock: Each VM has logical ID but the VM normally does not know about it. Example usage: Running a particular agent in the VM that does something on behalf of the HV. There is also the possibility to use this for VM-to-VM communication, but since this is a special socket type it would involve writing code that is custom for the virtualization case, as opposed to native.
vsock is the application API. Multiple different named transport variations exist in different hypervisors which means the driver implementation differs depending on chosen hypervisor. Virtio-vsock however locks this down to one chosen method.
Requirements:
- If the platform implements virtual networking, it shall also use the virtio-net required interface between drivers and Hypervisor.
- If the platform implements vsock, it shall also use the virtio-vsock required API between drivers and Hypervisor.
- Virtual network interfaces shall be exposed as the operating system's standard network interface concept, i.e. they should show up as a normal network device.
- The hypervisor/equivalent shall provide the ability to dedicate and expose any hardware network interface to one virtual machine.
- The hypervisor/equivalent shall(?) be able to configure virtual inter-vm networking interfaces.
Automotive networks
All traditional in-car networks and buses, such as CAN, FlexRay, LIN, MOST, etc., which are not Ethernet TCP/IP style networks, are treated in the chapter TBD.
...
REQ-1: The device ID MUST be set according to the requirement in chapter 5.7.1 in [VIRTIO-GPU].in chapter 5.7.1 in [VIRTIO-GPU].
---------- > CHECK IF CHAPTER NUMBERS ARE VALID FOR VIRTIO 1.1
Virtqueues.
REQ-2: The virtqueues MUST be set up according to the requirement in chapter 5.7.2 in [VIRTIO-GPU].
...
VGA Compatibility.
REQ-6: VGA compatibility, as described in chapter 5.7.7 in [VIRTIO-GPU], is optionalcompatibility, as described in chapter 5.7.7 in [VIRTIO-GPU], is optional.
3.3.2 GPU Device in 3D Mode
...