On Wed, Apr 23, 2014 at 02:06:12PM +0900, Simon Horman wrote:
> My understanding of the implementation of patch ports is that they
> are rather special, being handled as a special case inside
> compose_output_action__() and do not exist in the datapath.
> 
> A side effect of the implementation of patch ports (though perhaps not the
> portion mentioned above) is that the OFPUTIL_PC_PORT_DOWN bit may not be
> set via a port mod message. In particular, the call to
> netdev_turn_flags_on() in update_port_config() fails.
> 
> There is a test provided by Ryu that test this via port mod and thus fails.
> 
> While that test could be modified or the results ignored it seems to me
> that it would be best if ryu-check used ports which were more fully
> featured and not special cases.
> 
> Thus this patch moves run-ryu to use unix socket backed ports rather than
> patch ports.
> 
> Signed-off-by: Simon Horman <ho...@verge.net.au>

Applied, thanks.

The following seemed good rationale so I folded it into the commit message:

> * I believe a more significant problem with the use of patch ports
>   is that they will require (more) special case code in order to correctly
>   handle recirculation. As Ryu provides many tests that exercise
>   recirculation for MPLS it would be nice if they could be used to exercise
>   recirculation for MPLS (which I have provided patches for separately[1])
>   without the need to add more special-case code for that purpose.
> 
>   I believe that patch ports are also incompatible with recirculation for
>   bonding, which has already been merged, though I have not verified that
>   and it is not strictly related to this patch as I do not believe that Ryu
>   provides any tests to exercise that case.
> 
>   The key problem with patch ports in the context of recirculation is that
>   the ofproto and in_port may change during translation.  And this
>   information is lost by the time that execution occurs.
> 
>   Furthermore the new in_port will not exist in the datapath as it is a
>   patch port. That particular problem may be addressed by executing the
>   actions in user-space, I have posted patches to provide infrastructure
>   for that[1].
> 
>   Overall it is not clear to me that the complexity of supporting
>   recirculation for patch-ports would have sufficient pay-off.
> 
>   [1] [PATCH v3 00/16] Flow-Based Recirculation for MPLS
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to