Contrail vRouter is composed of the Contrail components on the compute node/host shown in Figure 1. For a compute node in the default Docker setup, containers on the same host communicate with each other, as well as with other containers and services hosted on the other host with a Docker bridge. In Contrail networking, on each compute node the vRouter creates a VRF table per virtual network, offering a long list of features.
From the perspective of the control plane, the Contrail vRouter:
Receives low-level configuration (routing instances and forwarding policy).
Installs forwarding state into the forwarding plane.
Reports analytics (logs, statistics, and events).
From the prospective of the data plane, the Contrail vRouter:
Assigns received packets from the overlay network to a routing instance based on the MPLS label or Virtual Network Identifier (VNI).
Proxies DHCP, ARP, and DNS.
Applies forwarding policy for the first packet of each new flow then programs the action to the flow entry in the flow table of the forwarding plane.
Forwards the packetst after a destination address lookup (IP or MAC) in the Forwarding Information Base (FIB), encapsulating/decapsulating packets sent to or received from the overlay network.