On 1/30/17 1:36 PM, Robert Shearman wrote: > It is sometimes desirable to present an MPLS transport network as a > single hop to traffic transiting it because it prevents confusion when > diagnosing failures. An example of where confusion can be generated is > when addresses used in the provider network overlap with addresses in > the overlay network and the addresses get exposed through ICMP errors > generated as packets transit the provider network. > > Therefore, provide the ability to control whether the TTL value from > an MPLS packet is propagated to an IPv4/IPv6 packet when the last > label is popped through the addition of a new per-namespace sysctl: > "net.mpls.ip_ttl_propagate" which defaults to enabled. > > Use the same sysctl to control whether the TTL is propagated from IP > packets into the MPLS header. If the TTL isn't propagated then a > default TTL value is used which can be configured via a new sysctl: > "net.mpls.default_ttl". > > Signed-off-by: Robert Shearman <rshea...@brocade.com> > --- > Documentation/networking/mpls-sysctl.txt | 19 +++++++++ > include/net/netns/mpls.h | 3 ++ > net/mpls/af_mpls.c | 70 > ++++++++++++++++++++++++-------- > net/mpls/mpls_iptunnel.c | 12 +++++- > 4 files changed, 85 insertions(+), 19 deletions(-) > > diff --git a/Documentation/networking/mpls-sysctl.txt > b/Documentation/networking/mpls-sysctl.txt > index 15d8d16934fd..b8f0725ff09e 100644 > --- a/Documentation/networking/mpls-sysctl.txt > +++ b/Documentation/networking/mpls-sysctl.txt > @@ -19,6 +19,25 @@ platform_labels - INTEGER > Possible values: 0 - 1048575 > Default: 0 > > +ip_ttl_propagate - BOOL > + Control whether TTL is propagated from the IPv4/IPv6 header to > + the MPLS header on imposing labels and propagated from the > + MPLS header to the IPv4/IPv6 header on popping the last label. > + > + If disabled, the MPLS transport network will appear as a > + single hop to transit traffic. > + > + 0 - disabled > + 1 - enabled (default) > +
It seems like you are going after RFC 3443 with this change. Can you add comment to that effect? i.e., ip_ttl_propagate enabled is the Uniform Model and ip_ttl_propagate disabled is the Short Pipe Model.