[ovs-discuss] OVS 2.9.0: priority=0 actions=CONTROLLER flow counts but doesn't output packets to the controller

Ben Pfaff blp at ovn.org
Tue Mar 6 19:20:40 UTC 2018

On Tue, Mar 06, 2018 at 06:54:30AM +0000, Josh Bailey via discuss wrote:
> Hoping I'm missing something obvious!
> I have a flow like this:
> $ grep CONTROLLER sab-dump-flows.log
>  cookie=0x5adc15c0, duration=63.446s, table=3, n_packets=60, n_bytes=3436,
> priority=0 actions=CONTROLLER:96
> I can cause packets to match it, but no packets are output ot the
> controller.
> faucet at faucet:/var/tmp/faucet-tests-1KL3eg/FaucetUntaggedTestZeroPriorityFlowsTest-test_untagged$
> tshark -l -n -Q -d tcp.port==40649,openflow -O openflow_v4 -Y
> "openflow_v4.packet_in.total_len>0" -r fa*cap|wc -l
> 0
> If I specify any priority other than 0, it works (packets are output to
> controller via packet in messages).
> Is there something special about priority=0 flows and the CONTROLLER action?

Yes, in fact OpenFlow specifies special cases for priority=0 flows that
match no fields.  It calls these "table-miss" flows, see e.g. section
5.4 in OpenFlow 1.5.1.  Open vSwitch has some explicit special-case code
for dealing with them.

I can't think of a particular reason why this special case would make a
difference for you.  Maybe there is a bug.  Do you have a way for us to
reproduce it?

Did you try "ofproto/trace"?  Maybe it will show a reason why the packet
is not sent to the controller.

(I'm at a conference this week, so my schedule is weird.)

More information about the discuss mailing list