[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ba156f62-975d-bfbf-0912-e470ce9143b3@cumulusnetworks.com>
Date: Mon, 30 Jan 2017 17:41:43 -0700
From: David Ahern <dsa@...ulusnetworks.com>
To: Robert Shearman <rshearma@...cade.com>, davem@...emloft.net
Cc: netdev@...r.kernel.org, roopa <roopa@...ulusnetworks.com>,
ebiederm@...ssion.com
Subject: Re: [PATCH net-next] mpls: allow TTL propagation to/from IP packets
to be configured
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 <rshearma@...cade.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.
Powered by blists - more mailing lists