[ovs-discuss] system at dp0: execute 0, 1 failed (Invalid argument) on packet

Jesse Gross jesse at nicira.com
Fri Sep 2 20:46:15 UTC 2011

On Fri, Sep 2, 2011 at 10:56 AM, Nicholas Bastin <nick.bastin at gmail.com> wrote:
> On Thu, Sep 1, 2011 at 20:02, Jesse Gross <jesse at nicira.com> wrote:
>> That's the cause of the problem.  OVS is rejecting the packet out
>> because it is being sent from an out-of-range port.  It's not entirely
>> clear to me whether this is allowed by the OpenFlow spec and should be
>> supported.  In this case, I believe that OFPP_NONE is the correct port
>> to use, although OVS will not like that either.
> Other datapath implementations definitely allow the in_port on a packet_out
> to be set to OFPP_CONTROLLER.  The spec is silent on valid in_port values,
> which I take to mean that anything is legal - this is especially important
> when you want to make sure the output: IN_PORT action works properly on
> other flows that might be in your table (e.g. if an output action is set to
> IN_PORT, I would expect this packet back at the controller - with the
> appropriate reason field set - and more importantly, I would expect to NOT
> get a packet back due to another output: OFPP_CONTROLLER action).

Even before when OVS was less picky about the input port, it didn't
implement the behavior that you're describing in terms self forwarding
checks on virtual ports.  For most of the virtual ports, it's fairly
non-nonsensical and spec actually specifies that you should use
OFPP_NONE if you don't have a real port to give.

More information about the discuss mailing list