diff options
author | Robert Shearman <rshearma@brocade.com> | 2017-03-10 23:43:24 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-03-14 01:29:22 +0300 |
commit | 5b441ac8784c1e7f3c619f14da4c3f52e87348d5 (patch) | |
tree | c35721449202da3758d6ed7c6ec4cee19803352a /include/uapi/linux/rtnetlink.h | |
parent | b66239b6824f387361bf18747a7e93760ac3c0fb (diff) | |
download | linux-5b441ac8784c1e7f3c619f14da4c3f52e87348d5.tar.xz |
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 'include/uapi/linux/rtnetlink.h')
-rw-r--r-- | include/uapi/linux/rtnetlink.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h index 75fcf5eff093..3dd72aee4d32 100644 --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h @@ -319,6 +319,7 @@ enum rtattr_type_t { RTA_EXPIRES, RTA_PAD, RTA_UID, + RTA_TTL_PROPAGATE, __RTA_MAX }; |