diff options
author | Justin Iurman <justin.iurman@uliege.be> | 2021-10-03 20:45:36 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-10-04 12:53:35 +0100 |
commit | 52d03786459a7cf4d63a68146409f7a2088aefb2 (patch) | |
tree | 56b454364afa8c04e153d0b49073d6cc64575697 /include/net/ioam6.h | |
parent | 9ac936276f8628ef5765bcc2ca7138a803de8aff (diff) |
ipv6: ioam: Distinguish input and output for hop-limit
This patch anticipates the support for the IOAM insertion inside in-transit
packets, by making a difference between input and output in order to determine
the right value for its hop-limit (inherited from the IPv6 hop-limit).
Input case: happens before ip6_forward, the IPv6 hop-limit is not decremented
yet -> decrement the IOAM hop-limit to reflect the new hop inside the trace.
Output case: happens after ip6_forward, the IPv6 hop-limit has already been
decremented -> keep the same value for the IOAM hop-limit.
Signed-off-by: Justin Iurman <justin.iurman@uliege.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ioam6.h')
-rw-r--r-- | include/net/ioam6.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/ioam6.h b/include/net/ioam6.h index 3c2993bc48c8..3f45ba37a2c6 100644 --- a/include/net/ioam6.h +++ b/include/net/ioam6.h @@ -56,7 +56,8 @@ static inline struct ioam6_pernet_data *ioam6_pernet(struct net *net) struct ioam6_namespace *ioam6_namespace(struct net *net, __be16 id); void ioam6_fill_trace_data(struct sk_buff *skb, struct ioam6_namespace *ns, - struct ioam6_trace_hdr *trace); + struct ioam6_trace_hdr *trace, + bool is_input); int ioam6_init(void); void ioam6_exit(void); |