The MPLS Topology Server infers Layer 3 VPNs from VRF and RouteTarget instances and the relationships between the instances. It infers and creates the following types of VPNs:
The MPLS Topology Server creates a full-mesh VPN for each RouteTarget (R1, for example) that has the same set of VRFs in its Imports/ImportedBy and Exports/ExportedBy relationship sets. The VPN is ImplementedBy R1 and is ComposedOf the VRFs that are ExportedBy (and ImportedBy) R1.
The MPLS Topology Server creates a hub-and-spoke VPN for each pair of RouteTargets (R2 and R3, for example) that has the following characteristics:
The R2 relationship ImportedBy is identical to the R3 relationship ExportedBy.
The set of VRFs that export R2 but do not import R2 is identical to the set of VRFs that import R3 but do not export R3.
The R2 relationship ExportedBy is not identical to the R3 relationship ImportedBy, or at least one VRF exists that both Imports and Exports R2, or both conditions are true.
The VPN is ImplementedBy the two RouteTargets R2 and R3. The VPN is ComposedOf all the VRFs in the R2 relationship ImportedBy and the R2 relationship ExportedBy. VPN relationship Spokes is the set of VRFs in the R2 relationship ExportedBy but not in the R2 relationship ImportedBy. VPN relationship Hubs includes the rest of the VRFs.
The MPLS Topology Server accesses certain MIB objects in the JUNIPER-MPLS-MIB to determine whether the VPN is a unicast VPN or a multicast VPN. If the VPN is associated with a P2MP LSP, the MPLS Topology Server models (represents) the VPN as an instance of the MulticastVPN class. Otherwise, the MPLS Topology Server models the VPN as an instance of the VPN class.
A unicast VPN has a LayeredOver one-to-many relationship to one or more TE tunnels or LDP LSPs. A multicast VPN has a LayeredOver one-to-many relationship to one or more P2MP LSPs.