I am a last year student at university and my thesis defense is about P4-programmable data plane. In this beginning period, I’ve just only read about basic concepts of P4-programming and I’ve bumped into a question that make me really confused, which is the title of this topic. I think it is important to me to have this confusion clarified before I continue to study more.
In my understanding, P4 lets us customize how packets are processed by the Data Plane, but when we define new rules in our P4 programs to the data plane, is there any conflict between P4 programs and the functionality of the Control plane?
For example, the Control Plane uses algorithms to form the routing table and apply its logic to the Data Plane to forward packets. Then in a P4-program, we also have a match-action table to forward packets too.
So what I don’t understand here is how the Control Plane and a P4-programmable Data Plane work together. What are the “actual tasks” of the Control Plane in this context? Or do we need a Control Plane any more?
Any clarification or helpful information is greatly appreciated.
Thank you very much!