dpif-linux: Always pass an actions attribute in dpif_flow_put().
authorBen Pfaff <blp@nicira.com>
Mon, 31 Jan 2011 23:46:03 +0000 (15:46 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 1 Feb 2011 05:40:07 +0000 (21:40 -0800)
commitd2a23af25132de097060d59f94465c94138c78a1
tree4e8435e98b8097c779301ba70c34aaa706835279
parentb46ccdf582946f30d80735345c533c23a7f035c0
dpif-linux: Always pass an actions attribute in dpif_flow_put().

The kernel expects that ODP_FLOW_NEW always has an ODP_FLOW_ATTR_ACTIONS
attribute, even though that attribute may be empty to drop all of the
packets in the flow.  Similarly, ODP_FLOW_SET as used by
dpif_linux_flow_put() should always have such an attribute, since it is
used by OVS to update the flow's actions.  So make it possible for
dpif_linux_flow_to_ofpbuf() to pass an empty actions attribute, and make
dpif_linux_flow_put() always force that behavior if the actions_len passed
to it is 0.

This fixes EINVAL error creating flows to drop packets.

Acked-by: Jesse Gross <jesse@nicira.com>
lib/dpif-linux.c