Implement transit network functionality for service chaining
Following changes have been implemented in control-node:
- Schema change to add allow-transit to VirtualNetworkType
- BGP instance config keeps track of allow-transit attribute
- RoutingInstance is updated with allow-transit from config
- Tweak service chaining code to re-originate routes that are
in the dest routing instance, even if their OriginVn is not
the same as dest instance. This exception is made only if
the VN of the dest instance is a transit VN. The OriginVn
for such routes is set to be the VN for the dest instance.
- Handle changes in allow-transit attribute
- Add tests for the new functionality
Limitations (to be enforced in API server via follow-up commit):
- A VN cannot be connected directly to a transit VN - it must
be connected via a chain of 1 or more services.
- The allow-transit attribtue can only be set when creating a
VN, it cannot be updated later.
Reviewed: https:/ /review. opencontrail. org/3280 github. org/Juniper/ contrail- controller/ commit/ 3c0f26f1756bf91 61dbb330115078d 6e478a5570
Committed: http://
Submitter: Zuul
Branch: master
commit 3c0f26f1756bf91 61dbb330115078d 6e478a5570
Author: Nischal Sheth <email address hidden>
Date: Wed Sep 24 22:34:58 2014 -0700
Implement transit network functionality for service chaining
Following changes have been implemented in control-node:
- Schema change to add allow-transit to VirtualNetworkType
- BGP instance config keeps track of allow-transit attribute
- RoutingInstance is updated with allow-transit from config
- Tweak service chaining code to re-originate routes that are
in the dest routing instance, even if their OriginVn is not
the same as dest instance. This exception is made only if
the VN of the dest instance is a transit VN. The OriginVn
for such routes is set to be the VN for the dest instance.
- Handle changes in allow-transit attribute
- Add tests for the new functionality
Limitations (to be enforced in API server via follow-up commit):
- A VN cannot be connected directly to a transit VN - it must
be connected via a chain of 1 or more services.
- The allow-transit attribtue can only be set when creating a
VN, it cannot be updated later.
Change-Id: I9c81ba61a3bf0e 8db04577b09ee26 aa5aa60ad4d
Partial-Bug: 1365277