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/3473 github. org/Juniper/ contrail- controller/ commit/ c296fa3ae88e8b6 3e0515c8377d4f6 3a8daedb81
Committed: http://
Submitter: Zuul
Branch: R1.10
commit c296fa3ae88e8b6 3e0515c8377d4f6 3a8daedb81
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