Support transit VN to provide transitive connectivity between VNs/VPNs
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R1.1 |
Fix Released
|
Wishlist
|
Nischal Sheth | |||
Trunk |
Fix Released
|
Wishlist
|
Nischal Sheth | |||
OpenContrail |
Fix Released
|
Wishlist
|
Nischal Sheth |
Bug Description
This tracks a feature request to support the notion of a transit VN.
Consider 2 regular VNs VN1 and VN2 and a transit VN VNx. If VN1
and VN2 are connected to VNx using a policy, either directly or via
a service chain, VN1 and VN2 must be able to communicate with
each other. Further, traffic between these VNs should behave as
though it were traversing the transit network VNx. It must pass
through any service chains configured between VN1/VN2 and VNx.
All of the following cases need to be supported, where SC denotes
a service chain:
a) VN1---VNx---VN2
b) VN1---SC1x-
c) VN1---SC1x-
d) VN1---VNx-
There should be no fixed limit on the number of regular VNs that can
obtain connectivity to each other through a transit VN in this manner.
It's desirable to also allow transit VNs to connect to each other and
provide transitive connectivity to regular VNs that are connected to
them. An example would be VN1---VNx-
VN2 are regular VNs and VNx and VNy are transit VNs.
Two design options are being considered:
1. Routes that are imported into a transit VN get re-originated with
a new RD and RTs for the transit VN. This is similar to service chaining
except that the nexthop and label are not changed.
This approach requires almost no changes to regular VN functionality.
However, new RDs need to be manufactured and loop detection checks
need to tweaked/relaxed, especially in a multi-AS scenario.
2. Manipulate the export RTs of regular VNs so that they also contain
export RTs of transit VNs when appropriate. This is somewhat similar
to how logical-router is implemented, except that service chaining also
needs to supported.
This approach does not require any tweaks to bgp loop detection logic.
However, it does require careful manipulation/
extended community to ensure that ACLs allow traffic to go through.
This becomes tricker if we also want to support transitive connectivity
via multiple transit VNs.
tags: |
added: contrail-control removed: control-node |
Changed in juniperopenstack: | |
importance: | Undecided → High |
assignee: | nobody → Nischal Sheth (nsheth) |
Changed in opencontrail: | |
assignee: | nobody → Nischal Sheth (nsheth) |
tags: | added: config |
Changed in opencontrail: | |
status: | New → In Progress |
Changed in opencontrail: | |
status: | In Progress → Fix Committed |
Changed in opencontrail: | |
status: | Fix Committed → Fix Released |
Changed in opencontrail: | |
importance: | High → Wishlist |
Case a) seems to be already supported: if we configure "regular" policies (w/o service instances) matching any source and destination networks, routes from VN1 are propagated to VN2 through VNx.