On Wed, Mar 06, 2013 at 02:57:59PM -0800, Ben Pfaff wrote: > RFC 3443 says that an outgoing MPLS TTL of zero is invalid, so we must send > packets that have such a TTL post-decrement to the controller rather than > allowing them to continue through the OpenFlow tables. > > Here is the text from RFC 3443 that implies this behavior: > > oTTL: This is the TTL value used as the outgoing TTL value (see > section 3.5 for exception). It is always (iTTL - 1) unless otherwise > stated. > > oTTL Check: Check if oTTL is greater than 0. If the oTTL Check is > false, then the packet is not forwarded. Note that the oTTL check is > performed only if any outgoing TTL (either IP or MPLS) is set to oTTL > (see section 3.5 for exception). > > That is, the output TTL is one less than the input TTL, and a packet with > an output TTL of 0 must not be forwarded. > > CC: Bruce Davie <b...@nicira.com> > Signed-off-by: Ben Pfaff <b...@nicira.com>
No objections here. Reviewed-by: Simon Horman <ho...@verge.net.au> > --- > I swear I sent this out earlier, but I don't see it in the archive > or in my inbox. > > ofproto/ofproto-dpif.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c > index 10e4e23..38b8e55 100644 > --- a/ofproto/ofproto-dpif.c > +++ b/ofproto/ofproto-dpif.c > @@ -6062,7 +6062,7 @@ execute_dec_mpls_ttl_action(struct action_xlate_ctx > *ctx) > return false; > } > > - if (ttl > 0) { > + if (ttl > 1) { > ttl--; > set_mpls_lse_ttl(&ctx->flow.mpls_lse, ttl); > return false; > -- > 1.7.2.5 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev