Posted on November 5, 2021 9:11 am
 |  Asked by Taeil Nam
Print Friendly, PDF & Email

Hello everyone,


I have some questions about Control Plane and Data Plane.


As far as I know the Control Plane makes the RIB(Routing Information Base) through static route and routing protocol.

The Control Plane then creates a FIB consisting of only the best path and we call the FIB a routing table.

This is software based, and uses the CPU.


The Data Plane forwards the data packets between incoming and outgoing interface connections.

The Data Plane need to provide a high speed and low latency path.

To achieve this, the Data Plane implementation is in hardware.


  • Questions
    1. Is the FIB the Control Plane or the Data Plane?
    2. Is the Data Plane use ASIC?
    3. In case of VxLAN with EVPN, why we call VxLAN is the Data Plane and EVPN is the Control Plane?

I’m not quite sure about Data Plane and Control Plane.

Posted by Massimo Magnani
Answered on November 10, 2021 11:27 am

Ciao Taeil,

I will try to reply to your questions below. Please take into consideration that, being these topics quite big, I will give you a simplified view of the various points but that can help to understand a little bit better how those things work:

  1. Is the FIB the Control Plane or the Data Plane: short answer, the FIB is the data plane forwarding database. Indeed, it stays for "Forwarding Information Base" and it is used by the dataplane components to forward traffic. It is composed of entries like destinations -> interfaces, it is very simple and compact to optimize dataplane scaling. FIB destinations are usually IP/IPv6 prefixes (there is not just a sigle FIB, for instance the DB containing MPLS labels is usually called "LIB", Label Information Base) that point to egress interface (or interfaces in case of ECMP, many times a concept of "priority" or equivalent are implemented in the FIB to handle equal cost multipath forwarding and local repair machineries). I am oversimplifying here as the interface can also be a next-hop pointer that can include not only the interface ID but also the operation that must be done to correctly encapsulate the packet. Please take also in consideration that an "image" of the FIB must be maintained in the control plane as well as in modern devices, the data plane is programmed by the control plane. In very simplified way you can think to the following process that involve both planes: Control Plane learns information about a certain prefix by any mean (static, routing protocol and so on), it puts it in the RIB (routing information base, where others info are stored as well, such as source protocols, admin distance, cost and so on), then it copies the route in the FIB in the right format (for instance, the source protocol is not relevant, the cost is not either and so on) and then it pushes it in the data plane forwarding DB. At this point the data plane component can forward traffic destined to that prefix;
  2. Does the Data Plane use ASICs? From a pure theoretical standpoint, the two things are disjoint. If you consider a Virtual Network Function, for instance our CloudEOS-Lab, it does have a dataplane component which is a software that implements the functionalities that are handled by a specialized component in the hardware device. But, even though it's software, CloudEOS-Lab has a dataplane component. Of course, if you want to have enough performance to forward multiple 100GE or 400GE ports, you do need an Application Specific Integrated Circuit (ASIC). So, it's true that a so-called ASIC implements Data Plane, but not the other way around, a data plane can be implemented without the use of an ASIC;
  3. In case of VXLAN with EVPN, why do we call VxLAN Dataplane and EVPN control plane? If we go straight to the point, what is EVPN and what is VXLAN? EVPN is another BGP address family/Sub Address Family  (AFI=25 SAFI=70), so at the end of the day, it is still BGP, the routing protocol, just carrying specific information. And as BGP is a routing protocol that populates control plane databases (e.g.: RIB for instance) it is used by EVPN to learn and distribute control plane information that will be used to program the dataplane for actual traffic forwarding. VXLAN on the other hand, is just a data plane encapsulation machinery, a tunnel technology. But it can't work on its own, as it has no "intelligence" whatsoever, it only defines a way to take traffic and encapsulate it, but it needs some mean to know where to send the traffic for instance. It needs a control plane and that is exactly where EVPN chimes in. Indeed, EVPN can support multiple encapsulations as the standard itself is tunnel techonology agnostic, where the most popular encapsulation methodologies are VXLAN and MPLS.

I hope this helps to clarify.



Posted by Taeil Nam
Answered on December 3, 2021 9:56 am

Hello Massimo,


Thank you for your explanation.

It was so helpful for me!


Thank you!

Post your Answer

You must be logged in to post an answer.