I'm using OpenDayLight to be OpenFlow controller, i have 2 hosts that connect to the OpenFlow-enabled router (wr1043ndv4), the controller works fine to see the topology inventory, but when i want to try ping from one host to another i can't. i already made the flow according to the ICMPv4 guide
According to some post in here, the subnet mask for the destination address must /32, so i put the flow and it's in the flow table but the hosts can't ping to one another, i even try to make the subnet mask on the host to /32 to match what i put in the flow but still didn't work.
here my xml code that i changed a bit from the guide site:
<?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>
and here the result that shown on the flow table:
{
"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
},
What did i do wrong? i expect the hosts to be able to ping each other after i made that flow push.