<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>
<p class="p1">Hello,</p>
<p class="p2"><br>
</p>
<p class="p1">We have compiled and installed the openvswitch in the android platform. Following is the version details of the Android and the OpenvSwitch</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Android version: &nbsp;4.2.2 (jelly bean)</p>
<p class="p1"><span class="Apple-tab-span"></span>&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">
</span>&nbsp;&nbsp;Android source git: https://android.googlesource.com/device/lge/mako-kernel</p>
<p class="p1"><span class="Apple-tab-span"></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Android Kernel source git: https://android.googlesource.com/kernel/msm.git</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Kernel version: &nbsp;3.4&nbsp;<span class="Apple-tab-span"> </span>
</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Android Build: full_mako-usedebug 4.2.2 JDQ39</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Openvswitch Kernel Module version: Open vSwitch switching datapath 1.11.90</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Openvswitch version: (Open vSwitch) 1.11.90&nbsp;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OpenFlow versions 0x1:0x4 (from $ ./ovs-ofctl -V)</p>
<p class="p1"><span class="Apple-tab-span"></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OpenvSwitch source git: git clone git://openvswitch.org/openvswitch</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;OpenvSwitch git commit: c985ec94a2fe051f083a55d67311e643a432a7ae &nbsp;</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p1">However we have been facing some problems to run some of the user commands in Android, for example,</p>
<p class="p2"><br>
</p>
<p class="p1">#this command runs fine</p>
<p class="p1">$ ./ovs-vsctl --verbose add-br br0 &nbsp; &nbsp;</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p1">#this command actually hang. Then we apply &nbsp;ctl&#43;z to stop</p>
<p class="p1">$ ./ovs-vsctl --verbose add-port br0 wlan0 &nbsp; &nbsp; &nbsp;</p>
<p class="p2"><br>
</p>
<p class="p1">#this command also hang. &nbsp;Then we apply ctl&#43;z to stop</p>
<p class="p1">$ ovs-vsctl add-port br0 vif1.0</p>
<p class="p1">&nbsp;</p>
<p class="p1">#this command runs fine</p>
<p class="p1">$ ./ovs-vsctl show&nbsp;</p>
<p class="p2"><br>
</p>
<p class="p1">&nbsp;&nbsp;aff90ca3-aabd-4bf9-84e5-a8b81e6e8a8e</p>
<p class="p1">&nbsp;&nbsp; &nbsp;Bridge &quot;br0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Port &quot;vif1.0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Interface &quot;vif1.0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Port &quot;wlan0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Interface &quot;wlan0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;Port &quot;br0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Interface &quot;br0&quot;</p>
<p class="p1">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type: internal</p>
<p class="p2"><br>
</p>
<p class="p1">#this command shows error</p>
<p class="p1">$ ./ovs-ofctl --verbose dump-flows br0</p>
<p class="p1">ovs-ofctl: /data/local/tmp/run/openvswitch/br0.mgmt: failed to open socket (Connection refused)</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p1">Can you please help on explaining the possible reason of such error?</p>
<p class="p2"><br>
</p>
<p class="p1">Here is more details about the files in &quot;/data/local/tmp/run/openvswitch/&quot;</p>
<p class="p2"><br>
</p>
<p class="p1">shell@android:/data/local/tmp # ls -l /data/local/tmp/run/openvswitch/&nbsp;</p>
<p class="p1">srwx------ root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2013-06-12 20:17 br0.mgmt</p>
<p class="p1">srwx------ root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2013-06-12 20:17 br0.snoop</p>
<p class="p1">srwx------ root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2013-06-12 20:16 db.sock</p>
<p class="p1">srwx------ root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2013-06-12 20:17 ovs-vswitchd.1703.ctl</p>
<p class="p1">-rw-rw-rw- root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5 2013-06-12 20:17 ovs-vswitchd.pid</p>
<p class="p1">srwx------ root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2013-06-12 20:16 ovsdb-server.1691.ctl</p>
<p class="p1">-rw-rw-rw- root &nbsp; &nbsp; root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;5 2013-06-12 20:16 ovsdb-server.pid</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p2"><br>
</p>
<p class="p1">The attached file &quot;verbosecmd.txt&quot; shows the output of the above commands with verbose enable.</p>
<p class="p2"><br>
</p>
<p class="p1">The details of building and installing openvswitch for android can be found in the file &quot;Build-Openvswitch.txt&quot;.</p>
<p class="p1">In order build the openvswitch a patch file &quot;ovs_android.patch&quot; and a script file &quot;envsetup.sh&quot; is required. More details about using these two files can be found in &quot;Build-Openvswitch.txt&quot;.</p>
<p class="p1"><br>
</p>
<p class="p1">Regards</p>
<p class="p1">Mostafa Uddin</p>
<p class="p1">http://cs.odu.edu/~muddin</p>
</div>
</div>
</body>
</html>