On Thu, 17 Dec 2015, Vivek Venkatraman wrote:

We (@Cumulus) are also extremely interested in this topic and would like to join the deep dive. I concur with Lou that the fundamental aspects of BGP/MPLS L3VPNs (RFC 2547bis -> RFC 4364) are pretty well-defined

Well, if 4364 is "well-defined", then I was hoping for something "extra-well-defined". E.g. 4364 states:

"  How does a PE determine which Route Target attributes to associate
   with a given route?  There are a number of different possible ways.
   The PE might be configured to associate all routes that lead to a
   specified site with a specified Route Target.  Or the PE might be
   configured to associate certain routes leading to a specified site
   with one Route Target, and certain with another."

I could be wrong but that seems to deliberately leave things unspecified.

Basically, in generally we have a routing system that attaches IDs to network-scopes:

  scope-id:[sub-id...]:node-id

The scope being some VPN, the RD in VPNv4? Sub-IDs potentially being the afi/safis, depending on what the node-id is.

And MPLS/VPN seems additionally to have some odd kind of manually-configured routing-information group-casting thing in the route-targets (I don't see any protocol defined to handle managing these, so it seems all quite manual - in which case, yowser).

Things that might be needed:

- some way to relate incoming packets to scopes. So does something in
  Quagga (zebra?) need to support looking up RDs based on some local
  attribute (interface?).

  interface to VRF to RD? Is VRF:RD a 1:1 relationship in both directions?

- on receiving a route, some operation to choose which scopes it may apply
  to.

  This could just be using the RD to look up the right set of tables. Or
  is there more?

- On considering whether a route should be installed into some table, some
  operation to answer this.

  E.g., does the nexthop need to be validated in some way? Presumably
  normal L2 interfaces have to be in the VRF associated with the RD? (see
  first one)

  Then presumably the RT membership of the router has to be checked
  against the route? Are the RT memberships configured per RD?

- Need to configure RTs: How's that done?

- On install of the route to a table, some operations may need to be
  applied. E.g. setting RTs?

- On sending a route, what checks need to be done?

That kind of detail, more succinctly than 4364 and adding in the important implementation details that are being proposed to be added to Quagga which 4364 deliberately doesn't cover.

??

And then, are there other VPN techs that people want?

E.g., I could imagine a L2 VPN technology which additionally required maintaining tables to associate multicast groups to sites... Do these exist? If so do they try map onto the VPNv4 RT stuff, or...?

regards,
--
Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
Fortune:
Most people feel that everyone is entitled to their opinion.


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to