title: ovs-ofctl add a flow to allow only ARP ethernet frames
body: <p>I am starting to learn SDN with ovs-ofctl and mininet, and I am configuring a switch following some tutorials, but there's something I don't catch.</p>
  <p>When I start my topology with:</p>
  <p><code>sudo mn --topo single,2 --controller remote --switch ovsk</code></p>
  <p>Now if I want to add a simple flow between h1 and h5, I do:</p>
  <pre><code>sh ovs-ofctl add-flow s1 in_port=1,actions=output:2
  sh ovs-ofctl add-flow s1 in_port=2,actions=output:1
  </code></pre>
  <p>And if I test the connectivity between hosts all is ok.</p>
  <p>But now, deleting all flows, if I try:</p>
  <pre><code>sh ovs-ofctl add-flow s1 in_port=1,dl_type=0x806,nw_dst=10.0.0.2,actions=output:2
  sh ovs-ofctl add-flow s1 in_port=2,dl_type=0x806,nw_dst=10.0.0.1,actions=output:1
  </code></pre>
  <p>Now if I try to ping, there is no reachability, but if I execute:</p>
  <pre><code>sh ovs-ofctl add-flow s1 action=NORMAL
  </code></pre>
  <p>Now I can ping again between hosts.</p>
  <p>What am I missing here? Specifying <code>dl_type=0x806</code> in the command is not enough to allow <strong>only</strong> ethernet using ARP traffic? Why ping fails there?</p>