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.

⚠️ **GitHub.com Fallback** ⚠️