summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Kunz <georg.kunz@ericsson.com>2016-06-28 17:36:09 +0200
committerGeorg Kunz <georg.kunz@ericsson.com>2016-07-11 16:48:54 +0200
commit91370a6c8267a16c0ae42e3c296ac5a0d0ecf2e3 (patch)
tree14abad9d590f896648544f12b3c3ed3377fbdb18
parent360cc560871a92b533afe8bc37f9b6c036f57e08 (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>
-rw-r--r--docs/requirements/use_cases/l3vpn_ecmp.rst54
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``