-
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
vb.memory = "512"
end
# run our bootstrapping for the system
+ config.vm.provision 'shell', path: 'bootstrap.sh', :args => odl
num_nodes = (ENV['NUM_NODES'] || 1).to_i
# ip configuration
vm_ip = ips[n]
vm_ip_sflow = ips_sflow[n]
vm_index = n+1
- compute.vm.box = "alagalah/gbpsfc-trusty64"
- compute.vm.box_version = "1.0.1"
+ compute.vm.box = "ubuntu/trusty64"
+ compute.vm.box_version = "20160729.0.0"
compute.vm.hostname = "gbpsfc#{vm_index}"
compute.vm.network "private_network", ip: "#{vm_ip}"
compute.vm.network "private_network", ip: "#{vm_ip_sflow}"
compute.vm.provider :virtualbox do |vb|
- vb.memory = 512
- vb.customize ["modifyvm", :id, "--ioapic", "on"]
+ vb.memory = 2048
+ vb.customize ["modifyvm", :id, "--ioapic", "on"]
vb.cpus = 1
end
end
end
-end
+end
\ No newline at end of file
docker pull alagalah/odlpoc_ovs230
# OVS
-curl https://raw.githubusercontent.com/pritesh/ovs/nsh-v8/third-party/start-ovs-deb.sh | bash
+curl https://raw.githubusercontent.com/yyang13/ovs_nsh_patches/master/start-ovs-deb.sh | bash
# this part is just for local spinup DON'T copy it to releng bootstrap.sh
pip install ipaddr
from requests.auth import HTTPBasicAuth
import sys
import os
+import time
from subprocess import check_output
from infrastructure_config import *
PASSWORD='admin'
def get(host, port, uri):
+ proxies = {
+ "http": None,
+ "https": None
+ }
+
url='http://'+host+":"+port+uri
#print url
- r = requests.get(url, auth=HTTPBasicAuth(USERNAME, PASSWORD))
+ r = requests.get(url, proxies=proxies, auth=HTTPBasicAuth(USERNAME, PASSWORD))
jsondata=json.loads(r.text)
return jsondata
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw1'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw6'},
- {'name': 'h35_5',
+ {'name': 'h35-5',
'ip': '10.0.35.5/24',
'mac': '00:00:00:00:35:05',
'switch': 'sw6'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw1'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw1'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw6'},
- {'name': 'h36_5',
+ {'name': 'h36-5',
'ip': '10.0.36.5/24',
'mac': '00:00:00:00:36:05',
'switch': 'sw6'}
"ip": "192.168.50.71"
},
"service-function-forwarder-ovs:ovs-options": {
+ "exts": "gpe",
"remote-ip": "flow",
"dst-port": "6633",
"key": "flow",
"ip": "192.168.50.73"
},
"service-function-forwarder-ovs:ovs-options": {
+ "exts": "gpe",
"remote-ip": "flow",
"dst-port": "6633",
"key": "flow",
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
-"port-name": "vethl-h35_2",
+"port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
fi
sudo ovs-vsctl add-br $sw
-sudo ovs-vsctl add-port $sw $sw-vxlangpe-0 -- set interface $sw-vxlangpe-0 type=vxlan options:remote_ip=flow options:dst_port=6633 options:nshc1=flow options:nshc2=flow options:nshc3=flow options:nshc4=flow options:nsp=flow options:nsi=flow options:key=flow
+sudo ovs-vsctl add-port $sw $sw-vxlangpe-0 -- set interface $sw-vxlangpe-0 type=vxlan options:exts=gpe options:remote_ip=flow options:dst_port=6633 options:nshc1=flow options:nshc2=flow options:nshc3=flow options:nshc4=flow options:nsp=flow options:nsi=flow options:key=flow
# delete NORMAL, if present
nsphex=`printf "%x\n" $nsp`
sudo ovs-ofctl --strict del-flows $sw priority=0
-sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],set_nsi:254,IN_PORT" -OOpenFlow13
-sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],set_nsi:253,IN_PORT" -OOpenFlow13
+sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_MDTYPE[]->NXM_NX_NSH_MDTYPE[],move:NXM_NX_NSH_NP[]->NXM_NX_NSH_NP[],move:NXM_NX_NSP[]->NXM_NX_NSP[],load:254->NXM_NX_NSI[],move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],load:0x4->NXM_NX_TUN_GPE_NP[],IN_PORT" -OOpenFlow13
+sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_MDTYPE[]->NXM_NX_NSH_MDTYPE[],move:NXM_NX_NSH_NP[]->NXM_NX_NSH_NP[],move:NXM_NX_NSP[]->NXM_NX_NSP[],load:253->NXM_NX_NSI[],move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],load:0x4->NXM_NX_TUN_GPE_NP[],IN_PORT" -OOpenFlow13
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw2'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw4'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw1'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw2'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw4'}
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
-"port-name": "vethl-h35_2",
+"port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw2'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw3'},
- {'name': 'h35_5',
+ {'name': 'h35-5',
'ip': '10.0.35.5/24',
'mac': '00:00:00:00:35:05',
'switch': 'sw1'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw2'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw3'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw1'},
- {'name': 'h36_5',
+ {'name': 'h36-5',
'ip': '10.0.36.5/24',
'mac': '00:00:00:00:36:05',
'switch': 'sw2'}
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_2",
+ "port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},{
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw1'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw1'},
- {'name': 'h35_5',
+ {'name': 'h35-5',
'ip': '10.0.35.5/24',
'mac': '00:00:00:00:35:05',
'switch': 'sw1'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw2'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw2'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw2'},
- {'name': 'h36_5',
+ {'name': 'h36-5',
'ip': '10.0.36.5/24',
'mac': '00:00:00:00:36:05',
'switch': 'sw2'}
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_2",
+ "port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},{
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
from requests.auth import HTTPBasicAuth
import sys
import os
+import time
from subprocess import check_output
from infrastructure_config import *
PASSWORD='admin'
def get(host, port, uri):
+ proxies = {
+ "http": None,
+ "https": None
+ }
+
url='http://'+host+":"+port+uri
#print url
- r = requests.get(url, auth=HTTPBasicAuth(USERNAME, PASSWORD))
+ r = requests.get(url, proxies=proxies, auth=HTTPBasicAuth(USERNAME, PASSWORD))
jsondata=json.loads(r.text)
return jsondata
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw1'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw6'},
- {'name': 'h35_5',
+ {'name': 'h35-5',
'ip': '10.0.35.5/24',
'mac': '00:00:00:00:35:05',
'switch': 'sw6'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw1'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw1'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw6'},
- {'name': 'h36_5',
+ {'name': 'h36-5',
'ip': '10.0.36.5/24',
'mac': '00:00:00:00:36:05',
'switch': 'sw6'}
"ip": "192.168.50.71"
},
"service-function-forwarder-ovs:ovs-options": {
+ "exts": "gpe",
"remote-ip": "flow",
"dst-port": "6633",
"key": "flow",
"ip": "192.168.50.73"
},
"service-function-forwarder-ovs:ovs-options": {
+ "exts": "gpe",
"remote-ip": "flow",
"dst-port": "6633",
"key": "flow",
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
-"port-name": "vethl-h35_2",
+"port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
fi
sudo ovs-vsctl add-br $sw
-sudo ovs-vsctl add-port $sw $sw-vxlangpe-0 -- set interface $sw-vxlangpe-0 type=vxlan options:remote_ip=flow options:dst_port=6633 options:nshc1=flow options:nshc2=flow options:nshc3=flow options:nshc4=flow options:nsp=flow options:nsi=flow options:key=flow
+sudo ovs-vsctl add-port $sw $sw-vxlangpe-0 -- set interface $sw-vxlangpe-0 type=vxlan options:exts=gpe options:remote_ip=flow options:dst_port=6633 options:nshc1=flow options:nshc2=flow options:nshc3=flow options:nshc4=flow options:nsp=flow options:nsi=flow options:key=flow
# delete NORMAL, if present
nsphex=`printf "%x\n" $nsp`
sudo ovs-ofctl --strict del-flows $sw priority=0
-sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],set_nsi:254,IN_PORT" -OOpenFlow13
-sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],set_nsi:253,IN_PORT" -OOpenFlow13
+sudo ovs-ofctl add-flow $sw "priority=1000,nsi=255 actions=move:NXM_NX_NSH_MDTYPE[]->NXM_NX_NSH_MDTYPE[],move:NXM_NX_NSH_NP[]->NXM_NX_NSH_NP[],move:NXM_NX_NSP[]->NXM_NX_NSP[],load:254->NXM_NX_NSI[],move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],load:0x4->NXM_NX_TUN_GPE_NP[],IN_PORT" -OOpenFlow13
+sudo ovs-ofctl add-flow $sw "priority=1000,nsi=254 actions=move:NXM_NX_NSH_MDTYPE[]->NXM_NX_NSH_MDTYPE[],move:NXM_NX_NSH_NP[]->NXM_NX_NSH_NP[],move:NXM_NX_NSP[]->NXM_NX_NSP[],load:253->NXM_NX_NSI[],move:NXM_NX_NSH_C1[]->NXM_NX_NSH_C1[],move:NXM_NX_NSH_C2[]->NXM_NX_NSH_C2[],move:NXM_NX_TUN_ID[0..31]->NXM_NX_TUN_ID[0..31],load:$TUNNEL->NXM_NX_TUN_IPV4_DST[],load:0x4->NXM_NX_TUN_GPE_NP[],IN_PORT" -OOpenFlow13
#Note that tenant name and endpointGroup name come from policy_config.py
-hosts = [{'name': 'h35_2',
+hosts = [{'name': 'h35-2',
'mac': '00:00:00:00:35:02',
'ip': '10.0.35.2/24',
'switch': 'sw1'},
- {'name': 'h35_3',
+ {'name': 'h35-3',
'ip': '10.0.35.3/24',
'mac': '00:00:00:00:35:03',
'switch': 'sw2'},
- {'name': 'h35_4',
+ {'name': 'h35-4',
'ip': '10.0.35.4/24',
'mac': '00:00:00:00:35:04',
'switch': 'sw4'},
- {'name': 'h36_2',
+ {'name': 'h36-2',
'ip': '10.0.36.2/24',
'mac': '00:00:00:00:36:02',
'switch': 'sw1'},
- {'name': 'h36_3',
+ {'name': 'h36-3',
'ip': '10.0.36.3/24',
'mac': '00:00:00:00:36:03',
'switch': 'sw2'},
- {'name': 'h36_4',
+ {'name': 'h36-4',
'ip': '10.0.36.4/24',
'mac': '00:00:00:00:36:04',
'switch': 'sw4'}
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_2",
+ "port-name": "vethl-h36-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
-"port-name": "vethl-h35_2",
+"port-name": "vethl-h35-2",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_3",
+ "port-name": "vethl-h35-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_3",
+ "port-name": "vethl-h36-3",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_4",
+ "port-name": "vethl-h36-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_4",
+ "port-name": "vethl-h35-4",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h35_5",
+ "port-name": "vethl-h35-5",
"tenant": "tenant-red"
}
},
"l3-context": "l3-context-vrf-red"
}
],
- "port-name": "vethl-h36_5",
+ "port-name": "vethl-h36-5",
"tenant": "tenant-red"
}
}]
cmd = ['ovs-vsctl', 'add-port', sw, ifaceName,
'--', 'set', 'Interface', ifaceName,
'type=vxlan',
+ 'options:exts=gpe',
'options:remote_ip=flow',
'options:dst_port=6633',
'options:nshc1=flow',