<p>There is an SDN extension for INET, see <a href="https://arxiv.org/abs/1609.04554" rel="nofollow noreferrer">this paper</a> and the corresponding code on <a href="https://github.com/marco-tiloca-sics/INET_SDN_dev" rel="nofollow noreferrer">github</a>.</p>

<p>Regarding <code>UDPEchoApp</code>: this behavior is intended. An echo application responds to whatever request is sent; if you send the request to the controller (as in your config), and run the EchoApp on the controller, your UDP packet will be responded to from the controller. However, you don't need a controller for a non-SDN scenario at all (you'd just use <code>client-&gt;switch-&gt;host2</code>).</p>
implementation of SDN controller on OMNet
<p>I'm trying to create SDN model on OMNet v5.2.1. However, there is no SDN controller module in INET. That's why I use standartHost module as controller. Can I obtain reasonable result?</p>

<p>In addition, I use UDP protocol on my network. <em>Since I want sending packet to follow this path:</em><br>
<strong>client -> switch -> controller -> switch -> host2</strong>  ,</p>

<p>I defined client's protocol as UDPBasicApp and controller's protocol as UDPEcho. However UDPEcho protocol makes the path :<br>
<strong>client -> switch -> controller -> switch -> client</strong> </p>

<p>To sum up, client gets the packet which he sends.. How can I fix it?</p>

<p>I'm enclosing the part of .INI file related to UDP protocols </p>

<hr>

<pre><code>[Config Step1]
network = Test

description = "Fully automatic static routing table configuration"

*.client.numUdpApps = 1       
*.client.udpApp[0].typename = "UDPBasicApp"      
*.client.udpApp[0].destAddresses = "controller"       
*.client.udpApp[0].destPort = 5000          
*.client.udpApp[0].messageLength = 1000B     
*.client.udpApp[0].sendInterval = exponential(12ms)   
*.client.udpApp[0].packetName = "UDPData"


*.controller.numUdpApps = 1     
*.controller.udpApp[0].typename = "UDPEchoApp"      
*.controller.udpApp[0].localPort = 5000                   
*.controller.pingApp[*].destAddr = "host2"   
</code></pre>