summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJustin Iurman <justin.iurman@uliege.be>2024-02-26 16:14:12 +0300
committerDavid S. Miller <davem@davemloft.net>2024-02-28 14:19:41 +0300
commitf655c78d6225f585ef60a9d93ffb79d507ff3ad3 (patch)
tree7226198c4d1378517a6cbefdc952dbbc15150ab9 /net
parent67c8e4bb4f54ad22ca0ce4700c8728ffd73acb66 (diff)
downloadlinux-f655c78d6225f585ef60a9d93ffb79d507ff3ad3.tar.xz
net: exthdrs: ioam6: send trace event
If we're processing an IOAM Pre-allocated Trace Option-Type (the only one supported currently), then send the trace as an ioam6 event to the netlink multicast group. This way, user space apps will be able to collect IOAM data. Reviewed-by: David Ahern <dsahern@kernel.org> Signed-off-by: Justin Iurman <justin.iurman@uliege.be> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv6/exthdrs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c
index 02e9ffb63af1..727792907d6c 100644
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -50,6 +50,7 @@
#endif
#include <net/rpl.h>
#include <linux/ioam6.h>
+#include <linux/ioam6_genl.h>
#include <net/ioam6.h>
#include <net/dst_metadata.h>
@@ -954,6 +955,9 @@ static bool ipv6_hop_ioam(struct sk_buff *skb, int optoff)
+ optoff + sizeof(*hdr));
ioam6_fill_trace_data(skb, ns, trace, true);
+
+ ioam6_event(IOAM6_EVENT_TRACE, dev_net(skb->dev),
+ GFP_ATOMIC, (void *)trace, hdr->opt_len - 2);
break;
default:
break;