Skip to content

Commit ff8459b

Browse files
hao022NipaLocal
authored andcommitted
net: add net cookie for net device trace events
In a multi-network card or container environment, this is needed in order to differentiate between trace events relating to net devices that exist in different network namespaces and share the same name. for xmit_timeout trace events: [002] ..s1. 1838.311662: net_dev_xmit_timeout: dev=eth0 driver=virtio_net queue=10 net_cookie=3 [007] ..s1. 1839.335650: net_dev_xmit_timeout: dev=eth0 driver=virtio_net queue=10 net_cookie=4100 [007] ..s1. 1844.455659: net_dev_xmit_timeout: dev=eth0 driver=virtio_net queue=10 net_cookie=3 [002] ..s1. 1850.087647: net_dev_xmit_timeout: dev=eth0 driver=virtio_net queue=10 net_cookie=3 Cc: Eran Ben Elisha <eranbe@mellanox.com> Cc: Jiri Pirko <jiri@mellanox.com> Cc: Cong Wang <xiyou.wangcong@gmail.com> Cc: Jakub Kicinski <kuba@kernel.org> Cc: Eric Dumazet <edumazet@google.com> Cc: Simon Horman <horms@kernel.org> Cc: Paolo Abeni <pabeni@redhat.com> Suggested-by: Ido Schimmel <idosch@idosch.org> Signed-off-by: Tonghao Zhang <tonghao@bamaicloud.com> Reviewed-by: Ido Schimmel <idosch@nvidia.com> Signed-off-by: NipaLocal <nipa@local>
1 parent 2b13448 commit ff8459b

File tree

1 file changed

+27
-10
lines changed
  • include/trace/events

1 file changed

+27
-10
lines changed

include/trace/events/net.h

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ TRACE_EVENT(net_dev_start_xmit,
3535
__field( u16, gso_size )
3636
__field( u16, gso_segs )
3737
__field( u16, gso_type )
38+
__field( u64, net_cookie )
3839
),
3940

4041
TP_fast_assign(
@@ -57,16 +58,18 @@ TRACE_EVENT(net_dev_start_xmit,
5758
__entry->gso_size = skb_shinfo(skb)->gso_size;
5859
__entry->gso_segs = skb_shinfo(skb)->gso_segs;
5960
__entry->gso_type = skb_shinfo(skb)->gso_type;
61+
__entry->net_cookie = dev_net(dev)->net_cookie;
6062
),
6163

62-
TP_printk("dev=%s queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d len=%u data_len=%u network_offset=%d transport_offset_valid=%d transport_offset=%d tx_flags=%d gso_size=%d gso_segs=%d gso_type=%#x",
64+
TP_printk("dev=%s queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d len=%u data_len=%u network_offset=%d transport_offset_valid=%d transport_offset=%d tx_flags=%d gso_size=%d gso_segs=%d gso_type=%#x net_cookie=%llu",
6365
__get_str(name), __entry->queue_mapping, __entry->skbaddr,
6466
__entry->vlan_tagged, __entry->vlan_proto, __entry->vlan_tci,
6567
__entry->protocol, __entry->ip_summed, __entry->len,
6668
__entry->data_len,
6769
__entry->network_offset, __entry->transport_offset_valid,
6870
__entry->transport_offset, __entry->tx_flags,
69-
__entry->gso_size, __entry->gso_segs, __entry->gso_type)
71+
__entry->gso_size, __entry->gso_segs,
72+
__entry->gso_type, __entry->net_cookie)
7073
);
7174

7275
TRACE_EVENT(net_dev_xmit,
@@ -83,17 +86,21 @@ TRACE_EVENT(net_dev_xmit,
8386
__field( unsigned int, len )
8487
__field( int, rc )
8588
__string( name, dev->name )
89+
__field( u64, net_cookie )
8690
),
8791

8892
TP_fast_assign(
8993
__entry->skbaddr = skb;
9094
__entry->len = skb_len;
9195
__entry->rc = rc;
96+
__entry->net_cookie = dev_net(dev)->net_cookie;
9297
__assign_str(name);
9398
),
9499

95-
TP_printk("dev=%s skbaddr=%p len=%u rc=%d",
96-
__get_str(name), __entry->skbaddr, __entry->len, __entry->rc)
100+
TP_printk("dev=%s skbaddr=%p len=%u rc=%d net_cookie=%llu",
101+
__get_str(name), __entry->skbaddr,
102+
__entry->len, __entry->rc,
103+
__entry->net_cookie)
97104
);
98105

99106
TRACE_EVENT(net_dev_xmit_timeout,
@@ -107,16 +114,19 @@ TRACE_EVENT(net_dev_xmit_timeout,
107114
__string( name, dev->name )
108115
__string( driver, netdev_drivername(dev))
109116
__field( int, queue_index )
117+
__field( u64, net_cookie )
110118
),
111119

112120
TP_fast_assign(
113121
__assign_str(name);
114122
__assign_str(driver);
115123
__entry->queue_index = queue_index;
124+
__entry->net_cookie = dev_net(dev)->net_cookie;
116125
),
117126

118-
TP_printk("dev=%s driver=%s queue=%d",
119-
__get_str(name), __get_str(driver), __entry->queue_index)
127+
TP_printk("dev=%s driver=%s queue=%d net_cookie=%llu",
128+
__get_str(name), __get_str(driver),
129+
__entry->queue_index, __entry->net_cookie)
120130
);
121131

122132
DECLARE_EVENT_CLASS(net_dev_template,
@@ -129,16 +139,20 @@ DECLARE_EVENT_CLASS(net_dev_template,
129139
__field( void *, skbaddr )
130140
__field( unsigned int, len )
131141
__string( name, skb->dev->name )
142+
__field( u64, net_cookie )
132143
),
133144

134145
TP_fast_assign(
135146
__entry->skbaddr = skb;
136147
__entry->len = skb->len;
148+
__entry->net_cookie = dev_net(skb->dev)->net_cookie;
137149
__assign_str(name);
138150
),
139151

140-
TP_printk("dev=%s skbaddr=%p len=%u",
141-
__get_str(name), __entry->skbaddr, __entry->len)
152+
TP_printk("dev=%s skbaddr=%p len=%u net_cookie=%llu",
153+
__get_str(name), __entry->skbaddr,
154+
__entry->len,
155+
__entry->net_cookie)
142156
)
143157

144158
DEFINE_EVENT(net_dev_template, net_dev_queue,
@@ -188,6 +202,7 @@ DECLARE_EVENT_CLASS(net_dev_rx_verbose_template,
188202
__field( unsigned char, nr_frags )
189203
__field( u16, gso_size )
190204
__field( u16, gso_type )
205+
__field( u64, net_cookie )
191206
),
192207

193208
TP_fast_assign(
@@ -214,16 +229,18 @@ DECLARE_EVENT_CLASS(net_dev_rx_verbose_template,
214229
__entry->nr_frags = skb_shinfo(skb)->nr_frags;
215230
__entry->gso_size = skb_shinfo(skb)->gso_size;
216231
__entry->gso_type = skb_shinfo(skb)->gso_type;
232+
__entry->net_cookie = dev_net(skb->dev)->net_cookie;
217233
),
218234

219-
TP_printk("dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x",
235+
TP_printk("dev=%s napi_id=%#x queue_mapping=%u skbaddr=%p vlan_tagged=%d vlan_proto=0x%04x vlan_tci=0x%04x protocol=0x%04x ip_summed=%d hash=0x%08x l4_hash=%d len=%u data_len=%u truesize=%u mac_header_valid=%d mac_header=%d nr_frags=%d gso_size=%d gso_type=%#x net_cookie=%llu",
220236
__get_str(name), __entry->napi_id, __entry->queue_mapping,
221237
__entry->skbaddr, __entry->vlan_tagged, __entry->vlan_proto,
222238
__entry->vlan_tci, __entry->protocol, __entry->ip_summed,
223239
__entry->hash, __entry->l4_hash, __entry->len,
224240
__entry->data_len, __entry->truesize,
225241
__entry->mac_header_valid, __entry->mac_header,
226-
__entry->nr_frags, __entry->gso_size, __entry->gso_type)
242+
__entry->nr_frags, __entry->gso_size,
243+
__entry->gso_type, __entry->net_cookie)
227244
);
228245

229246
DEFINE_EVENT(net_dev_rx_verbose_template, napi_gro_frags_entry,

0 commit comments

Comments
 (0)