10-18-2011 10:53 PM
I am building a VPLS with a quite a few sites.
The VPLS contains many VLANs, with mac-learning per vlan ('vlan-id all' in the RI).
However, although there are many sites, each VLAN id is only in a few sites.
I have first implemented this with a single RI on each PE, and obviously with a single 'target' community, and 'vrf-target' for default import/export policies.
The main issue to deal with is how BUMs are flooded to all PEs. It is clearly not necessary to flood a BUM frame in a VLAN to a PE that does not have any interface in that VLAN. Doing so will not cause any broadcast issue within the VPLS service, but it does send too much broadcast on the MPLS backbone.
Now, I tested doing some filtering based on target communities, effectively setting the vrf-export and vrf-import policies based on target values somehow matched to the vlan ids used in each site. However, it appears that VPLS does not "work" when configuring such a partial mesh. It only works with the plain "vrf-target", using the same target community for export and import. Why is that?
MX, Junos 11.1.
Assuming the above limitation stands, there are probably two options for reducing the unnecessary flooding of BUM traffic:
1) Using more RIs, matching these to the VLANs necessary to each spoke site, and many RIs running on the hub sites.
2) Using separate P2MP LSPs for the BUM traffic.
Any general thoughts from anyone?
10-19-2011 03:44 PM
I think what you need to remember is that your VPLS has no concept of the underlying VLANs. All it knows about are PE-Nodes that are members of the VPLS instance (all those RI/VRs).
I don't know of any way you could filter routes between PEs to only carry MACs learnt on a certain VLAN. Either way, it seems like a lot of effort to go to (and probably doesn't scale that well when you increase the number of VLANs). As you mentioned, the best way to solve this would be to create multiple VPLS instances, or P2MP LSPs.