summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorRobert Shearman <rshearma@brocade.com>2017-03-10 20:43:24 +0000
committerDavid S. Miller <davem@davemloft.net>2017-03-13 15:29:22 -0700
commit5b441ac8784c1e7f3c619f14da4c3f52e87348d5 (patch)
treec35721449202da3758d6ed7c6ec4cee19803352a /Documentation
parentb66239b6824f387361bf18747a7e93760ac3c0fb (diff)
downloadlinux-exynos-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.tar.gz
linux-exynos-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.tar.bz2
linux-exynos-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.zip
mpls: allow TTL propagation to IP packets to be configured
Provide the ability to control on a per-route basis whether the TTL value from an MPLS packet is propagated to an IPv4/IPv6 packet when the last label is popped as per the theoretical model in RFC 3443 through a new route attribute, RTA_TTL_PROPAGATE which can be 0 to mean disable propagation and 1 to mean enable propagation. In order to provide the ability to change the behaviour for packets arriving with IPv4/IPv6 Explicit Null labels and to provide an easy way for a user to change the behaviour for all existing routes without having to reprogram them, a global knob is provided. This is done through the addition of a new per-namespace sysctl, "net.mpls.ip_ttl_propagate", which defaults to enabled. If the per-route attribute is set (either enabled or disabled) then it overrides the global configuration. Signed-off-by: Robert Shearman <rshearma@brocade.com> Acked-by: David Ahern <dsa@cumulusnetworks.com> Tested-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/networking/mpls-sysctl.txt11
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/networking/mpls-sysctl.txt b/Documentation/networking/mpls-sysctl.txt
index 15d8d16934fd..9badd1d6685f 100644
--- a/Documentation/networking/mpls-sysctl.txt
+++ b/Documentation/networking/mpls-sysctl.txt
@@ -19,6 +19,17 @@ 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 / RFC 3443 [Short] Pipe Model
+ 1 - enabled / RFC 3443 Uniform Model (default)
+
conf/<interface>/input - BOOL
Control whether packets can be input on this interface.