Home » Bury the hatchet » Draft Martini, Draft Kompella and L2VPN services

Draft Martini, Draft Kompella and L2VPN services

Draft Martini and Draft Kompella were the starting points toward standardizing the Layer2 VPN architectures using pseudowire emulation, both drafts addressed setting up pseudowire emulation over MPLS-based networks in order to offer Layer 2 VPN services, but each draft proposed a different approach. Members of the networking community divided themselves into two camps based on the different design philosophies that were embedded in the two drafts. This resulted in many drafts and debates until things converged time by time.

I’ll try to simply describe both drafts, and how things eventually went out.

Draft Martini: Named after its author Luca Martini (worked for Level 3 at this time), simply uses LDP for signaling to establish point-to-point Layer 2 VPN over MPLS backbone, with no suggestion for auto-discovery.

Draft Kompella: Named after its author Kireeti Kompella (worked for Juniper at this time), simply uses BGP for both signaling and auto-discovery to establish multipoint (To be more specific it is fully meshed point-to-point pseudowires) Layer 2 VPN over MPLS backbone.

Both drafts uses the same encapsulation; Provider’s Layer 2 header + Tunnel Label + VC Label + Control Word + Payload (L2 Frame), the encapsulation details for each Layer 2 protocol was described in several RFCs.

As a quick comparison, Draft Martini suffers scalability issues due to configuration overhead in the absence of auto-discovery when dealing with fully meshed topologies between the edge routers, which is not the case with Draft Kompella leveraging auto-discovery and complex signaling, however Draft Martini leverages simplicity and straightforwardness.

While Juniper claimed that Draft Kompella scales better than Draft Martini (which is technically justifiable), most vendors such as Cisco have standardized based on Draft Martini (simply using LDP for signaling), and efforts and new solutions have been worked on to overcome the auto-discovery issue with Draft Martini.

The terms draft-martini and draft-kompella are used as labels for the two different L2VPN services methodologies (in a couple of words definition; LDP Vs BGP for signaling). The actual drafts do not exist in IETF anymore.

NOTE According to the IETF; Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

Draft Martini evolved until being RFC 4906 (Categorized as Historic), however it has since been superseded by the Pseudowire Emulation Edge to Edge (PWE3) Working Group specifications described in RFC 4447 and related documents. On the other hand draft-kompella is obsolete and was not standardized.

Cisco has come up with a separate IETF draft that builds upon Draft Martini and incorporates pieces of Draft Kompella. Eric Rosen (worked for Cisco at this time), the author of what is known as “The Autodiscovery Draft Extension to LDP,” proposed establishing Layer 2 MPLS tunnels using LDP, as it’s described in Draft Martini, but like Juniper he suggests using BGP for auto-discovery.

Eric Rosen was later one of the authors of one of the RFCs I found very comprehensive; RFC 4664 – Framework for Layer 2 Virtual Private Networks (L2VPN), it describes the framework for L2VPNs (VPWS, VPLS and IPLS). This framework is intended to aid in standardizing protocols and mechanisms to support interoperable L2VPNs. Requirements for L2VPNs can be found in RFC 4665 – Service Requirements for Layer 2 Provider-Provisioned Virtual Private Networks.

Marc Lasserre (worked for Riverstone Networks at this time) and Vach Kompella (worked for Timetra Networks at this time – who happens to be the brother of Juniper’s engineer Kireeti Kompella) are the two main authors of Lasserre-V.Kompella Draft. This draft has gained official support from vendors such as Cisco for their VPLS implementation, it evolved until it was standardized as RFC 4762.

All this was consolidated, and the L2VPN Working Group produced two separate documents, RFC 4761 and RFC 4762, both offered VPLS but using different signaling protocols:

Kireeti Kompella and Yakov Rekhter published “Virtual Private LAN Service (VPLS) Using BGP for Auto-discovery and Signaling” RFC 4761 in January 2007.

Marc Lasserre and Vach Kompella published “Virtual Private LAN Service (VPLS) Using Label Distribution Protocol (LDP) Signaling” RFC 4762 in January 2007.

NOTE RFC 4762 stated the following regarding auto-discovery; “The capability to manually configure the addresses of the remote PEs is REQUIRED. However, the use of manual configuration is not necessary if an auto-discovery procedure is used.  A number of auto-discovery procedures are compatible with this document ([RADIUS-DISC], [BGP-DISC]).”

I know that it is very daunting to follow up all of this, I hope that I was able to illustrate this area a little bit, as much as I could follow up my self 🙂

Mohammed Mahmoud.


  1. Hi,
    I am looking for information on draft kompella and its implementation at juniper. Could someone give me some advice where to find some theoretical documentations on draft kompella?
    (Background: I have to compare draft martini and draft kompella for university.)

    Thanks a lot,

  2. mmahmoud

    Hi Christian,

    You can visit Juniper’s website for more information regarding their implementation, and if you are excited in the standards it self I recommend that you revise the standards I highlighted in the post, you’ll also for sure find a couple of posts on the internet for people doing the same exercise as yours.

    Have a nice day.

    Mohammed Mahmoud.

  3. Ahmed Meselhy

    Dear Mohamed,

    Really, very nice article and that’s was we expect from you.

    Keep it up.

    Ahmed Meselhy.

  4. bgopi

    Its a good article on two implementations. I have worked on martini implementation before and i agree, Martini implementation does not specify the tunnel and autodiscovery suggestions which makes it difficult for making certain decisions.

  5. Osmel


    I found you article because i need to set up a L2VPN over MPLS, so i´m studying that protocol and i really need some biography about all the methods of implementation that exist in order to find the best one for my enterprise. It would be great if you could guide me on that way, because I´ve been trying to find good documentation, but it´s very difficult to find it. I will aprecciate a lot if you could help me, please contact me to my e-mail address ([email protected]). Thanks, kind regards,


    PD: Escuse my English, but i´m Cuban.

  6. mmahmoud

    Hi Osmel,

    I am very delighted that you found the article helpful, and I’d be happy to guide you through, until we have our discussion please do enjoy.

    Have a nice day.

    Mohammed Mahmoud.

  7. Masagung

    hi i already make an example for the l2vpn and l3vpn with Juniper Equipment.
    if anyone want to see my configuration don’t hesitate to email me at : [email protected]

    -sharing is caring-

  8. Ahmed Moshref

    A very good article that you have to read from time to time for refreshing 🙂 well done.

    PS I didn’t Break ur bag

  9. Ashley Magavagava

    your article was great and it helped me a lot,thank you