[ovs-discuss] OFPP_CONTROLLER in ofp_packet_out

Ben Pfaff blp at nicira.com
Tue Nov 1 16:07:44 UTC 2011

On Tue, Nov 01, 2011 at 12:11:01PM +0100, Pino de Candia wrote:
> Until we upgraded to v1.2.2 we were unnecessarily setting
> in_port=OFPP_CONTROLLER in ofp_packet_out messages (with a single
> action ofp_action_output to a non-virtual port number). v1.2.2 these
> packets and its log shows a message like:
> Oct 31 06:41:46|03045|dpif|WARN|system at mido0: execute 1 failed
> (Invalid argument) on packet 66:48:9c:a3:8d:a4 > 52:54:00:12:34:56,
> ethertype ARP (0x0806), length 42: Reply is-at
> 66:48:9c:a3:8d:a4, length 28
> Setting in_port=OFPP_NONE fixes the problem. I just wanted to
> confirm my understanding of this behavior because the OpenFlow 1.0
> spec seems to say that in_port is ignored unless the actions include
> an output to OFPP_TABLE: "If OFPP_TABLE is spec- ified as the output
> port of an action, the in_port in the packet_out message is used in
> the flow table lookup."
> Is OVS now enforcing that in_port=OFPP_NONE when OFPP_TABLE is not
> one of the output actions?

It's now enforcing that the in_port is a valid port number or
OFPP_NONE, because the comment on in_port in struct ofp_packet_out
    uint16_t in_port; /* Packet's input port (OFPP_NONE if none). */

More information about the discuss mailing list