Is XMPP Control- or Management-Plane Protocol?

My readers are consistently asking me whether XMPP and OVSDB are control- or management-plane protocols (to make matters worse, publicly available information tends to be confusing).

For example, one of them wrote…

I came through one of your webinars where you described XMPP as a "Management Plane tool", although I believe it should be and/or "Control Plane tool", since for example with Open Contrail it is used to carry BGP information (prefix, NH, Label, etc.) from the controller to the vRouter.

Guess what – we’re both right. XMPP is Extensible Messaging and Presence Protocol that was designed to (among other things) send chat messages to all clients participating in the same chat room.

Arista uses XMPP to send commands to groups of switches and collect the responses through the chat room server – they use XMPP as management-plane protocol.

Contrail uses XMPP instead of BGP to distribute L3VPN information to vRouters. Every VPN known by the system has its own chat room and every vRouter joins all relevant chat rooms to get real-time customer-to-transport (for example, prefix-to-VTEP) mappings – clearly a control-plane functionality.

Is XMPP a control- or management-plane protocol? It’s both or neither; it’s a tool that you can use to get the job done. It’s like asking is TCP a control- or management-plane protocol because it’s used by BGP and SSH?

Confused by all this new buzzwords? You might find some clarity in my SDN webinars.


  1. Agreed, We selected XMPP since we envision various information that needs go from control-node to vrouter. It is not just BGP, it is also all the configuration.
  2. "It's both or neither (...)". My answer would be "neither": as you wrote, it's simply a tool that gets the job done, which in this case is distributing data among endpoints, in a 1-to-many fashion.
Add comment