Skip to content

Latest commit

 

History

History
115 lines (94 loc) · 4.48 KB

evpn_t1_global_rtarget.md

File metadata and controls

115 lines (94 loc) · 4.48 KB

1. Introduction

Implement a user configurable global parameter for T1 route-target.

2. Problem statement

In existing implementation, contrail uses hard coded route target in the form of :7999999 for 2 byte asn and :7999 for 4 byte asn. This approach is not flexible because customer can configure an arbitrary route-target for this purpose. Customer should be able to configure a global route target which should be used for all VNs.

3. Proposed solution

Here are various steps of proposal:

  1. Add a new property to global-systems-config which would indicate number in the route target. It's default value would be 7999999. Whenever customer configures this value, it should be verified by both UI and Api server to make sure that it fits in the range based on existing global asn value.
  2. UI should be modified to provide configurability for this field.
  3. Control node should use this newly added field as ESI rtarget index whenever defined and 7999999 otherwise. In addition, control node should reset all the existing bgp connections and change all corresponding route targets whenever this global index is changed.
  4. Fabric should also be able to ingest this field and use it to configure route targets on connected devices. In addition, fabric should be able to handle change in this field similar to control node.

3.1 Alternatives considered

None

3.2 User workflow impact

None

4. Implementation

Changes are required in many modules. Here is the breakup of work for different modules.

4.1 Schema Changes

A new property evpn-type1-rtarget-number will be added to global-systems-config in schema. This field can be upto 4 bytes wide. Following is the proposed change in schema:

''' diff --git a/schema/vnc_cfg.xsd b/schema/vnc_cfg.xsd index a336c52..209eef1 100644 --- a/schema/vnc_cfg.xsd +++ b/schema/vnc_cfg.xsd @@ -1018,6 +1018,10 @@ targetNamespace="http://www.contrailsystems.com/2012/VNC-CONFIG/0">

+<xsd:element name="evpn-type1-rtarget-number" type="xsd:integer" required='optional' default='7999999'/> +<!--#IFMAP-SEMANTICS-IDL

  • Property('evpn-type1-rtarget-number', 'global-system-config', 'optional', 'CRUD',
    
  •          'Index in Global Route Target for EVPN Type1 routes.') -->
    

<xsd:element name="config-version" type="xsd:string"/>