mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 11:06:41 -05:00
tracing: ipv6: Add flow label to fib6_table_lookup tracepoint
The different parameters affecting the IPv6 route lookup are printed to
the trace buffer by the fib6_table_lookup tracepoint. Add the IPv6 flow
label for better observability as it can affect the route lookup both in
terms of multipath hash calculation and policy based routing (FIB
rules). Example:
# echo 1 > /sys/kernel/tracing/events/fib6/fib6_table_lookup/enable
# ip -6 route get ::1 flowlabel 0x12345 ipproto udp sport 12345 dport 54321 &> /dev/null
# cat /sys/kernel/tracing/trace_pipe
ip-358 [010] ..... 44.897484: fib6_table_lookup: table 255 oif 0 iif 1 proto 17 ::/12345 -> ::1/54321 flowlabel 0x12345 tos 0 scope 0 flags 0 ==> dev lo gw :: err 0
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
committed by
Paolo Abeni
parent
d26b8267d9
commit
002bf68a3b
@@ -22,6 +22,7 @@ TRACE_EVENT(fib6_table_lookup,
|
||||
__field( int, err )
|
||||
__field( int, oif )
|
||||
__field( int, iif )
|
||||
__field( u32, flowlabel )
|
||||
__field( __u8, tos )
|
||||
__field( __u8, scope )
|
||||
__field( __u8, flags )
|
||||
@@ -42,6 +43,7 @@ TRACE_EVENT(fib6_table_lookup,
|
||||
__entry->err = ip6_rt_type_to_error(res->fib6_type);
|
||||
__entry->oif = flp->flowi6_oif;
|
||||
__entry->iif = flp->flowi6_iif;
|
||||
__entry->flowlabel = ntohl(flowi6_get_flowlabel(flp));
|
||||
__entry->tos = ip6_tclass(flp->flowlabel);
|
||||
__entry->scope = flp->flowi6_scope;
|
||||
__entry->flags = flp->flowi6_flags;
|
||||
@@ -76,11 +78,11 @@ TRACE_EVENT(fib6_table_lookup,
|
||||
}
|
||||
),
|
||||
|
||||
TP_printk("table %3u oif %d iif %d proto %u %pI6c/%u -> %pI6c/%u tos %d scope %d flags %x ==> dev %s gw %pI6c err %d",
|
||||
TP_printk("table %3u oif %d iif %d proto %u %pI6c/%u -> %pI6c/%u flowlabel %#x tos %d scope %d flags %x ==> dev %s gw %pI6c err %d",
|
||||
__entry->tb_id, __entry->oif, __entry->iif, __entry->proto,
|
||||
__entry->src, __entry->sport, __entry->dst, __entry->dport,
|
||||
__entry->tos, __entry->scope, __entry->flags,
|
||||
__entry->name, __entry->gw, __entry->err)
|
||||
__entry->flowlabel, __entry->tos, __entry->scope,
|
||||
__entry->flags, __entry->name, __entry->gw, __entry->err)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_FIB6_H */
|
||||
|
||||
Reference in New Issue
Block a user