Hi Chaudhry,
I finally verified test case 2) "Use OF1.3 tunnel-id match and action to read VxLAN incoming packet tunnel-id and write VxLAN outgoing packet tunnel-id":
First you need to specify in the vxlan TP configuration tunnel-id will be set by openflow, for that just use a body like this example:
{
"network-topology:termination-point": [
{
"ovsdb:options": [
{
"ovsdb:option": "remote_ip",
"ovsdb:value" : "192.168.0.10"
},
{
"ovsdb:option": "key",
"ovsdb:value" : "flow"
}
],
"ovsdb:interface-type": "ovsdb:interface-type-vxlan",
"ovsdb:name": "vxlanport",
"tp-id": "vxlanport",
"ofport": 2
}
]
}
Second you can use the following flow bodies to send traffic from/to the tunnel:
From VxLAN tunnel-id 2 to port 1:
<flow xmlns="urn:opendaylight:flow:inventory">
<priority>2</priority>
<flow-name>flow1</flow-name>
<match>
<tunnel>
<tunnel-id>2</tunnel-id>
</tunnel>
<in-port>openflow:1:2</in-port>
</match>
<id>1</id>
<table_id>0</table_id>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<output-action>
<output-node-connector>1</output-node-connector>
</output-action>
</action>
</apply-actions>
</instruction>
</instructions>
</flow>
From port 1 to VxLAN tunnel-id 2:
<flow xmlns="urn:opendaylight:flow:inventory">
<hard-timeout>0</hard-timeout>
<idle-timeout>0</idle-timeout>
<priority>2</priority>
<flow-name>flow2</flow-name>
<match>
<in-port>openflow:1:1</in-port>
</match>
<id>2</id>
<table_id>0</table_id>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<set-field>
<tunnel>
<tunnel-id>2</tunnel-id>
</tunnel>
</set-field>
</action>
<action>
<order>2</order>
<output-action>
<output-node-connector>2</output-node-connector>
</output-action>
</action>
</apply-actions>
</instruction>
</instructions>
</flow>
Please work on a system test for this while I verify the next test case 3) "Use OF Nicira extensions to match VxLAN incoming packet tunnel-src and tunnel-id and write VxLAN outgoing packet tunnel-id and tunnel-dst"
BR/Luis
On Jul 5, 2015, at 8:14 PM, Luis Gomez <
ecelgp@...> wrote:
So here is my idea for vxlan testing:
- We bring 2 mininet (OVS) VMs
- We start a modified version of mininet that creates 1 switch + 1 host per VM
- We setup VxLAN tunnel using OVSDB REST API
And now 3 use cases to redirect traffic from/to the tunnel:
1) Use a regular OpenFlow port match and action to direct traffic from/to the VxLAN tunnel
2) Use OF1.3 tunnel-id match and action to read VxLAN incoming packet tunnel-id and write VxLAN outgoing packet tunnel-id
3) Use OF Nicira extensions to match VxLAN incoming packet tunnel-src and tunnel-id and write VxLAN outgoing packet tunnel-id and tunnel-dst
- Finally a ping from host to host will verify the VxLAN transport
I will be sending examples of 2) and 3) very shortly (1 is very straight forward).
BR/Luis
Yes Ravi, Luis will be back from PTO on 6th of July and sure we will let you know. Thanks