blob: 5a20934a1b47d58d2144b5233ca3819d9896fe33 [file] [log] [blame]
armando-migliacciocabc60c2013-05-09 11:33:16 -07001# Nicira NVP
2# ----------
3
4# This third-party addition can be used to configure connectivity between a DevStack instance
5# and an NVP Gateway in dev/test environments. In order to use this correctly, the following
6# env variables need to be set (e.g. in your localrc file):
7#
8# * enable_service nicira --> to execute this third-party addition
9# * PUBLIC_BRIDGE --> bridge used for external connectivity, typically br-ex
10# * NVP_GATEWAY_NETWORK_INTERFACE --> interface used to communicate with the NVP Gateway
11# * NVP_GATEWAY_NETWORK_CIDR --> CIDR to configure br-ex, e.g. 172.24.4.211/24
12
13# Save trace setting
14MY_XTRACE=$(set +o | grep xtrace)
15set +o xtrace
16
17# This is the interface that connects the Devstack instance
18# to an network that allows it to talk to the gateway for
19# testing purposes
20NVP_GATEWAY_NETWORK_INTERFACE=${NVP_GATEWAY_NETWORK_INTERFACE:-eth2}
21
22function configure_nicira() {
23 :
24}
25
26function init_nicira() {
27 die_if_not_set $LINENO NVP_GATEWAY_NETWORK_CIDR "Please, specify CIDR for the gateway network interface."
28 # Make sure the interface is up, but not configured
29 sudo ifconfig $NVP_GATEWAY_NETWORK_INTERFACE up
30 sudo ip addr flush $NVP_GATEWAY_NETWORK_INTERFACE
31 # Use the PUBLIC Bridge to route traffic to the NVP gateway
32 # NOTE(armando-migliaccio): if running in a nested environment this will work
33 # only with mac learning enabled, portsecurity and security profiles disabled
34 sudo ovs-vsctl -- --may-exist add-port $PUBLIC_BRIDGE $NVP_GATEWAY_NETWORK_INTERFACE
35 nvp_gw_net_if_mac=$(ip link show $NVP_GATEWAY_NETWORK_INTERFACE | awk '/ether/ {print $2}')
36 sudo ifconfig $PUBLIC_BRIDGE $NVP_GATEWAY_NETWORK_CIDR hw ether $nvp_gw_net_if_mac
37}
38
39function install_nicira() {
40 :
41}
42
43function start_nicira() {
44 :
45}
46
47function stop_nicira() {
48 :
49}
50
51# Restore xtrace
52$MY_XTRACE