Deep Dive Q&A - ganeshahv/Contrail_SRE GitHub Wiki
1]. Task scheduling
Contrail vRouter-agent and control use TBB library for task scheduling, task queuing.
Equal priority is assigned to all tasks.
Contrail code manages exclusion only.
Rest everything is borrowed from the TBB library .
Since TBB is platform independent, the same behaviour holds good on AMD platform too.
2]. Choosing the active controller and control-node
In the conf file, the list of controllers is randomised and the first entry is picked.
3]. pkt1, pkt2, pkt3
pNIC ---> pkt2(for RPS) ---> pkt1/3(for GRO) ---> VMI
4]. Packet Replication
- 
1]. JunOS supports Ingress/Source Replication.
 - 
2]. Contrail supports Edge Replication. Each BUM packet is replicated to only 4 devices at max.
 - 
3]. A BUM packet from a Edge Replication Device is sent to :
a). other Edge Replication Devices.
b). Local interfaces.
 - 
4]. A BUM packet from a Source Replication Device is sent to :
a). Only to Local Interfaces.
 
5]. MTU of the vhost0
VM to VM traffic across computes is not affected by the vhost0's MTU.
It is only traffic directed to the vhost0(host traffic) that undergoes frag.
So changing vhost0 MTU is harmless in the context of overlay traffic
VM1 eth0 <----> Compute1 eth0 <---> Compute2 eth0 <---> VM2 eth0
No vhost0 in this path.
6]. Composite Multicast NHs and thier Component NHs.
COMPOSITE_FABRIC (nexthop towards other computes running vrouter)
COMPOSITE_EVPN (nexthop towards QFX running EVPN)
COMPOSITE_TOR (nexthop towards TSN)
Local_ENCAP (nexthop towards other VMs)
7]. Switchover of the active mcast_controller
The standby mcast_controller should become the active mcast_controller.