说明:mininet1(192.168.1.209),mininet2(192.168.1.211),odl(192.168.1.217)为三台虚机,在同一网段,其中odl虚机安装了opendaylight-boron-sr3,mininet1和mininet2都安装了mininet
1.让mininet1和mininet2链接上odl,并设置manager
mininet1和mininet2进行操作(这里是设置监听管理端口):
sh ovs-vsctl set-manager ptcp:6640
说明:下面的remote-ip为需要设置manager的mininet的ip
ODL主机发送以下Rest请求到mininet1:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1
Method:PUT
Bady:
{
"node": [
{
"node-id": "ovsdb://HOST1",
"ovsdb:connection-info": {
"remote-ip": "192.168.1.209",
"remote-port": "6640"
}
}
]
}
ODL主机发送以下Rest请求到mininet2:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2
Method:PUT
Bady:
{
"node": [
{
"node-id": "ovsdb://HOST2",
"ovsdb:connection-info": {
"remote-ip": "192.168.1.211",
"remote-port": "6640"
}
}
]
}
2.建立网桥
在HOST1上创建网桥:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1%2Fbridge%2Fbrtest
Method:PUT
Body:
{
"node": [
{
"node-id": "ovsdb://HOST1/bridge/brtest",
"ovsdb:bridge-name": "brtest",
"ovsdb:protocol-entry": [
{
"protocol": "ovsdb:ovsdb-bridge-protocol-openflow-13"
}
],
"ovsdb:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST1']",
"hwvtep:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST1']"
}
]
}
在HOST2上创建网桥:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2%2Fbridge%2Fbrtest
Method:PUT
Body:
{
"node": [
{
"node-id": "ovsdb://HOST2/bridge/brtest",
"ovsdb:bridge-name": "brtest",
"ovsdb:protocol-entry": [
{
"protocol": "ovsdb:ovsdb-bridge-protocol-openflow-13"
}
],
"ovsdb:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST2']",
"hwvtep:managed-by": "/network-topology:network-topology/network-topology:topology[network-topology:topology-id='ovsdb:1']/network-topology:node[network-topology:node-id='ovsdb://HOST2']"
}
]
}
3.建立端口
说明:mininet1中body里面value的值为mininet2的ip
在mininet1上创建vxlan port:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST1%2Fbridge%2Fbrtest/termination-point/testport
Methos:put
Body:
{
"termination-point": [
{
"tp-id": "testport",
"ovsdb:name": "testport",
"ovsdb:interface-type": "ovsdb:interface-type-vxlan",
"ovsdb:options": [
{
"option": "remote_ip",
"value": "192.168.1.211"
}
]
}
]
}
在mininet2上创建vxlan port:
url:http://192.168.1.217:8181/restconf/config/network-topology:network-topology/topology/ovsdb:1/node/ovsdb:%2F%2FHOST2%2Fbridge%2Fbrtest/termination-point/testport
Methos:put
Body:
{
"termination-point": [
{
"tp-id": "testport",
"ovsdb:name": "testport",
"ovsdb:interface-type": "ovsdb:interface-type-vxlan",
"ovsdb:options": [
{
"option": "remote_ip",
"value": "192.168.1.209"
}
]
}
]
}
4.给mininet1和mininet2中的网桥设置ip(命令行执行:ifconfig brtest 30.0.0.3/8 up
和ifconfig brtest 30.0.0.2/8 up
)
(ip为同子网不需要设置路由,非同子网自行设置路由)
5.验证:
在mininet1上用ping测试:ping 30.0.0.2
注意:要么同时odl发指令,要么同时手动配,否则建立的vxlan是无法通信的