diff options
author | Georg Kunz <georg.kunz@ericsson.com> | 2016-06-28 17:36:09 +0200 |
---|---|---|
committer | Georg Kunz <georg.kunz@ericsson.com> | 2016-07-11 16:48:54 +0200 |
commit | 91370a6c8267a16c0ae42e3c296ac5a0d0ecf2e3 (patch) | |
tree | 14abad9d590f896648544f12b3c3ed3377fbdb18 /docs | |
parent | 360cc560871a92b533afe8bc37f9b6c036f57e08 (diff) |
L3VPN ECMP: more detailed usage of BGPVPN API
Adding more details on how to use the existing BGPVPN API to
realize the use case.
Note: work in progress - don't merge yet
Change-Id: I2c41bad79602d9f8e9de0581495e0ceb93a1b4c6
Signed-off-by: Georg Kunz <georg.kunz@ericsson.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/requirements/use_cases/l3vpn_ecmp.rst | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/docs/requirements/use_cases/l3vpn_ecmp.rst b/docs/requirements/use_cases/l3vpn_ecmp.rst index c115a7a..eec6ab8 100644 --- a/docs/requirements/use_cases/l3vpn_ecmp.rst +++ b/docs/requirements/use_cases/l3vpn_ecmp.rst @@ -58,9 +58,57 @@ Current implementation ~~~~~~~~~~~~~~~~~~~~~~ Support for creating and managing L3VPNs is in general available in OpenStack -Neutron by means of the BGPVPN project [BGPVPN]_. However, the BGPVPN API does -not yet support ECMP, but this feature is on the project roadmap. Hence, it is -currently not possible to configure the networking use case as described above. +Neutron by means of the BGPVPN project [BGPVPN]_. However, the BGPVPN project +does not yet support ECMP. Hence, it is currently not possible to configure the +networking use case as described above. + +Nevertheless, ECMP load balancing is on the roadmap of the BGPVPN project. The +following workflow shows how to realize this particular use case under the +assumption that support for static routes is available in the BGPVPN API. + + +1. Create Neutron network for tenant "Blue" + + ``neutron net-create --tenant-id Blue net1`` + + +2. Create subnet for the network of tenant "Blue" + + ``neutron subnet-create --tenant-id Blue --name subnet1 net1 5.1.1.0/24`` + + +3. Create Neutron ports in the network of tenant "Blue" + + ``neutron port-create --tenant-id Blue --name G1 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.1 net1`` + + ``neutron port-create --tenant-id Blue --name G2 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.2 net1`` + + ``neutron port-create --tenant-id Blue --name G3 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.3 net1`` + + ``neutron port-create --tenant-id Blue --name G4 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.4 net1`` + + ``neutron port-create --tenant-id Blue --name G5 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.5 net1`` + + ``neutron port-create --tenant-id Blue --name G6 --fixed-ip subnet_id=subnet1,ip_address=5.1.1.6 net1`` + + +4. Create a L3VPN for tenant "Blue" + + ``neutron bgpvpn-create --tenant-id Blue --route-target AS:100 vpn1`` + + +5. Associate the BGPVPN with the network of tenant "Blue" + + ``neutron bgpvpn-network-associate --tenant-id Blue --network-id net1 vpn1`` + + +6. Create static routes which point to the same target + + ``neutron bgpvpn-static-route-add --tenant-id Blue --cidr 10.1.1.5/32 --nexthop-ip 5.1.1.1 vpn1`` + + ``neutron bgpvpn-static-route-add --tenant-id Blue --cidr 10.1.1.5/32 --nexthop-ip 5.1.1.2 vpn1`` + + ``neutron bgpvpn-static-route-add --tenant-id Blue --cidr 10.1.1.5/32 --nexthop-ip 5.1.1.3 vpn1`` |