我正在使用OpenDayLight作为OpenFlow控制器,我有2台主机连接到支持OpenFlow的路由器(wr1043ndv4),控制器可以很好地查看拓扑清单,但是当我想从一台主机ping到另一台主机时,我不能。我已经按照ICMPv4指南进行了流程。
根据这里的一些帖子,目的地址的子网掩码必须是/32的,所以我将流放在流表中,但主机无法相互ping,我甚至尝试将主机上的子网掩码设置为/32,以匹配我放入流中的内容,但仍然不起作用。
下面是我的xml代码,我在指南网站上做了一些修改:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<dec-nw-ttl/>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>235</table_id>
<id>100</id>
<cookie_mask>255</cookie_mask>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>e8:06:88:xx:xx:xx</address>
</ethernet-destination>
<ethernet-source>
<address>e8:06:88:xx:xx:xx</address>
</ethernet-source>
</ethernet-match>
<ipv4-source>192.168.1.100/32</ipv4-source>
<ipv4-destination>192.168.5.100/32</ipv4-destination>
<ip-match>
<ip-protocol>1</ip-protocol>
<ip-dscp>27</ip-dscp>
<ip-ecn>3</ip-ecn>
</ip-match>
<icmpv4-match>
<icmpv4-type>6</icmpv4-type>
<icmpv4-code>3</icmpv4-code>
</icmpv4-match>
<in-port>3</in-port>
</match>
<hard-timeout>1200</hard-timeout>
<cookie>11</cookie>
<idle-timeout>3400</idle-timeout>
<flow-name>flowicmp1</flow-name>
<priority>2</priority>
</flow>这里是流程表中显示的结果:
{
"flow-node-inventory:table": [
{
"id": 235,
"opendaylight-flow-table-statistics:flow-table-statistics": {
"active-flows": 3,
"packets-looked-up": 0,
"packets-matched": 0
},
"flow": [
{
"id": "100",
"priority": 2,
"opendaylight-flow-statistics:flow-statistics": {
"packet-count": 0,
"byte-count": 0,
"duration": {
"nanosecond": 589000000,
"second": 12
}
},
"table_id": 235,
"cookie_mask": 0,
"hard-timeout": 1200,
"match": {
"ethernet-match": {
"ethernet-source": {
"address": "e8:06:88:xx:xx:xx"
},
"ethernet-type": {
"type": 2048
},
"ethernet-destination": {
"address": "e8:06:88:xx:xx:xx"
}
},
"icmpv4-match": {
"icmpv4-code": 3,
"icmpv4-type": 6
},
"ip-match": {
"ip-dscp": 27,
"ip-protocol": 1,
"ip-ecn": 3
},
"ipv4-destination": "192.168.5.100/32",
"ipv4-source": "192.168.1.100/32",
"in-port": "3"
},
"cookie": 11,
"flags": "",
"instructions": {
"instruction": [
{
"order": 0,
"apply-actions": {
"action": [
{
"order": 0,
"dec-nw-ttl": {}
}
]
}
}
]
},
"idle-timeout": 3400
},我做错什么了?我希望主机能够在我完成流程推送后相互ping通。
发布于 2019-05-12 11:29:02
您的流的操作似乎只是递减ttl。是否希望该操作从另一个端口转发出去?
另外,您为流表提供的输出是来自配置数据存储还是可操作?如果您添加一个流(例如,通过REST),它将在配置数据存储中结束。但是,如果从未在openflow交换机上对流进行编程,则它将不会在可操作的数据存储中结束。操作数据存储反映网络的实际状态,而配置数据存储反映“所需”状态。
https://stackoverflow.com/questions/56092562
复制相似问题