Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python在带有OpenDayLight控制器的mininet中添加流_Python_Mininet_Openflow_Sdn_Opendaylight - Fatal编程技术网

如何使用Python在带有OpenDayLight控制器的mininet中添加流

如何使用Python在带有OpenDayLight控制器的mininet中添加流,python,mininet,openflow,sdn,opendaylight,Python,Mininet,Openflow,Sdn,Opendaylight,我正在使用一个简单的mininet拓扑,试图学习如何使用ODL控制器操纵流。拓扑结构是: Host1--开关1--开关2--主机2--开关3--开关4--主机3 我试图在默认情况下实现从Host1到Host3的无连接,但是,一旦运行python脚本,就会添加一个允许Host1 ping Host3的流 我刚刚开始学习ODL,似乎无法让这个基本项目正常工作。流可以通过Opendaylight控制器REST api创建,而这反过来又会反映在OVS交换机中,在OVS交换机中,网络模拟是使用minine

我正在使用一个简单的mininet拓扑,试图学习如何使用ODL控制器操纵流。拓扑结构是:

Host1--开关1--开关2--主机2--开关3--开关4--主机3

我试图在默认情况下实现从Host1到Host3的无连接,但是,一旦运行python脚本,就会添加一个允许Host1 ping Host3的流


我刚刚开始学习ODL,似乎无法让这个基本项目正常工作。

流可以通过Opendaylight控制器REST api创建,而这反过来又会反映在OVS交换机中,在OVS交换机中,网络模拟是使用mininet完成的

请参考以下步骤在ODL中创建流,并在ODL和OVS中进行验证:

1) ODL流创建

curl -u admin:admin -H 'Content-Type: application/yang.data+xml' -X PUT -d @flow_data.xml http://192.168.1.196:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/10
flow_date.xml文件内容:

<flow xmlns="urn:opendaylight:flow:inventory"> <priority>14865</priority> <flow-name>jpsampleFlow</flow-name> <idle-timeout>12000</idle-timeout> <match> <ethernet-match> <ethernet-type> <type>2048</type> </ethernet-type> </ethernet-match> <ipv4-source>10.0.0.1/32</ipv4-source><ipv4-destination>10.0.0.2/32</ipv4-destination><ip-match><ip-dscp>28</ip-dscp> </ip-match></match> <id>9</id> <table_id>0</table_id> <instructions> <instruction> <order>6555</order> </instruction> <instruction> <order>0</order> <apply-actions> <action> <order>0</order><drop-action/> <output-action> <output-node-connector>1</output-node-connector> </output-action> </action> </apply-actions> </instruction> </instructions> </flow>
3) 验证OVS中的相同内容:

sudo ovs-ofctl dump-flows <switch_id>
sudo ovs ofctl转储流

请参阅了解ODL中有关流创建的更多信息。Opendaylight控制器REST api可以创建流,而Opendaylight控制器REST api反过来会反映在OVS交换机中,在OVS交换机中使用mininet进行网络模拟

请参考以下步骤在ODL中创建流,并在ODL和OVS中进行验证:

1) ODL流创建

curl -u admin:admin -H 'Content-Type: application/yang.data+xml' -X PUT -d @flow_data.xml http://192.168.1.196:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/0/flow/10
flow_date.xml文件内容:

<flow xmlns="urn:opendaylight:flow:inventory"> <priority>14865</priority> <flow-name>jpsampleFlow</flow-name> <idle-timeout>12000</idle-timeout> <match> <ethernet-match> <ethernet-type> <type>2048</type> </ethernet-type> </ethernet-match> <ipv4-source>10.0.0.1/32</ipv4-source><ipv4-destination>10.0.0.2/32</ipv4-destination><ip-match><ip-dscp>28</ip-dscp> </ip-match></match> <id>9</id> <table_id>0</table_id> <instructions> <instruction> <order>6555</order> </instruction> <instruction> <order>0</order> <apply-actions> <action> <order>0</order><drop-action/> <output-action> <output-node-connector>1</output-node-connector> </output-action> </action> </apply-actions> </instruction> </instructions> </flow>
3) 验证OVS中的相同内容:

sudo ovs-ofctl dump-flows <switch_id>
sudo ovs ofctl转储流
请参阅了解ODL中有关流创建的更多信息