利用ODL创建VxLAN网络

来源:互联网 发布:vmware 8.5 mac破解版 编辑:程序博客网 时间:2024/05/19 03:23

说明: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 upifconfig brtest 30.0.0.2/8 up
(ip为同子网不需要设置路由,非同子网自行设置路由)
5.验证:
在mininet1上用ping测试:ping 30.0.0.2

注意:要么同时odl发指令,要么同时手动配,否则建立的vxlan是无法通信的