[RFE] Add 'technique' column in bgpvpns table in Neutron database.

Bug #1607596 reported by Steve Ruan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-bgpvpn
New
Undecided
Unassigned

Bug Description

The ‘technique’ attribute is already in the bgpvpn plan, not implemented.
For now, we want to use EVPN to connect 2 openstack cloud networking, so 'technique' is a must attribute.

Here's the description from http://docs.openstack.org/developer/networking-bgpvpn/future/attributes.html#technique-attribute
"""The ‘technique’ attribute is optional and can be used by the admin to select one of multiple techniques when more than one is supported by the driver. When no technique is specified, the driver will use a default value. An API call will be available to let the API user know about the types supported by the driver for a said vpn type.

Currently defined techniques are:

for l3:
‘ipvpn’: this corresponds to RFC4364
‘evpn-prefix’: this corresponds to draft-ietf-bess-evpn-prefix-advertisement
for l2:
‘evpn’: this corresponds to RFC7432
API call to list the available techniques, with example answers:

GET /bgpvpn/techniques

{ "techniques": {
   "l3": [ "ipvpn" ],
   "l2": [ "evpn" ]
} }
GET /bgpvpn/techniques/l3

{ "l3": [ "ipvpn"] }
GET /bgpvpn/techniques/l2

{ "l2": [ "evpn"] }
"""

Revision history for this message
Steve Ruan (ruansx) wrote :

In the plan, a bgpvpn will have multiple techniques, it conflict with bgpvpn typ, because there is only 1 bgpvpn type.
There is 3 options:
1. bgpvpn will have ONLY 1 technique.
   In some case, we want a VPN can support L2 EVPN and l3 evpn-prefix. This case can not be met.

2. Remove bgpvpn_type from bgpvpn table, because technique pairs include the type.

3. Add a new bgpvpn type: 'evpn', it support both evpn-prefix and RFC7432.

For me, I prefer to #3.

Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

We want a distinct admin-only field, that a generic non-admin user does not have to take care about.

Another thing is that it is useful to have a field reflecting the type of connectivity being setup (l3vpn and evpn-prefix both provide L3 connectivity).

Revision history for this message
Steve Ruan (ruansx) wrote :

Sorry, I am not clear.

This combination is not correct combination?
{"bgpvpn": {
   "type": "l3",
   "techniques": {
       "l3": [ "ipvpn" ],
       "l2": [ "evpn" ]
}}}

When type is "l3", "techniques" will only be {"l3": [ "ipvpn" ]} or "l3": [ "evpn-prefix"].
When type is "l3", "techniques" will only be {"l2": [ "evpn" ]}.

Is it correct?

Revision history for this message
Thomas Morin (tmmorin-orange) wrote :

>> When type is "l3", "techniques" will only be {"l3": [ "ipvpn" ]} or "l3": [ "evpn-prefix"].
>> When type is "l3", "techniques" will only be {"l2": [ "evpn" ]}.
>>
>> Is it correct?

Yes!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.