diff options
author | Robert Shearman <rshearma@brocade.com> | 2017-03-10 20:43:24 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-13 15:29:22 -0700 |
commit | 5b441ac8784c1e7f3c619f14da4c3f52e87348d5 (patch) | |
tree | c35721449202da3758d6ed7c6ec4cee19803352a /Documentation | |
parent | b66239b6824f387361bf18747a7e93760ac3c0fb (diff) | |
download | linux-stable-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.tar.gz linux-stable-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.tar.bz2 linux-stable-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.txt | 11 |
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. |