Skip to content

Commit cf5f55f

Browse files
Tuong Liendavem330
authored andcommitted
tipc: add trace_events for tipc bearer
The commit adds the new trace_event for TIPC bearer, L2 device event: trace_tipc_l2_device_event() Also, it puts the trace at the tipc_l2_device_event() function, then the device/bearer events and related info can be traced out during runtime when needed. Acked-by: Ying Xue <[email protected]> Tested-by: Ying Xue <[email protected]> Acked-by: Jon Maloy <[email protected]> Signed-off-by: Tuong Lien <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent eb18a51 commit cf5f55f

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

net/tipc/bearer.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
#include "bcast.h"
4444
#include "netlink.h"
4545
#include "udp_media.h"
46+
#include "trace.h"
4647

4748
#define MAX_ADDR_STR 60
4849

@@ -608,6 +609,7 @@ static int tipc_l2_device_event(struct notifier_block *nb, unsigned long evt,
608609
if (!b)
609610
return NOTIFY_DONE;
610611

612+
trace_tipc_l2_device_event(dev, b, evt);
611613
switch (evt) {
612614
case NETDEV_CHANGE:
613615
if (netif_carrier_ok(dev) && netif_oper_up(dev)) {

net/tipc/trace.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,17 @@ enum {
113113
{(0xcbe), "SYNCH_BEGIN_EVT" },\
114114
{(0xcee), "SYNCH_END_EVT" })
115115

116+
/* Bearer, net device events: */
117+
#define dev_evt_sym(val) \
118+
__print_symbolic(val, \
119+
{(NETDEV_CHANGE), "NETDEV_CHANGE" },\
120+
{(NETDEV_GOING_DOWN), "NETDEV_GOING_DOWN" },\
121+
{(NETDEV_UP), "NETDEV_UP" },\
122+
{(NETDEV_CHANGEMTU), "NETDEV_CHANGEMTU" },\
123+
{(NETDEV_CHANGEADDR), "NETDEV_CHANGEADDR" },\
124+
{(NETDEV_UNREGISTER), "NETDEV_UNREGISTER" },\
125+
{(NETDEV_CHANGENAME), "NETDEV_CHANGENAME" })
126+
116127
extern unsigned long sysctl_tipc_sk_filter[5] __read_mostly;
117128

118129
int tipc_skb_dump(struct sk_buff *skb, bool more, char *buf);
@@ -378,6 +389,38 @@ DEFINE_EVENT(tipc_fsm_class, fsm_name, \
378389
DEFINE_FSM_EVENT(tipc_link_fsm);
379390
DEFINE_FSM_EVENT(tipc_node_fsm);
380391

392+
TRACE_EVENT(tipc_l2_device_event,
393+
394+
TP_PROTO(struct net_device *dev, struct tipc_bearer *b,
395+
unsigned long evt),
396+
397+
TP_ARGS(dev, b, evt),
398+
399+
TP_STRUCT__entry(
400+
__string(dev_name, dev->name)
401+
__string(b_name, b->name)
402+
__field(unsigned long, evt)
403+
__field(u8, b_up)
404+
__field(u8, carrier)
405+
__field(u8, oper)
406+
),
407+
408+
TP_fast_assign(
409+
__assign_str(dev_name, dev->name);
410+
__assign_str(b_name, b->name);
411+
__entry->evt = evt;
412+
__entry->b_up = test_bit(0, &b->up);
413+
__entry->carrier = netif_carrier_ok(dev);
414+
__entry->oper = netif_oper_up(dev);
415+
),
416+
417+
TP_printk("%s on: <%s>/<%s> oper: %s carrier: %s bearer: %s\n",
418+
dev_evt_sym(__entry->evt), __get_str(dev_name),
419+
__get_str(b_name), (__entry->oper) ? "up" : "down",
420+
(__entry->carrier) ? "ok" : "notok",
421+
(__entry->b_up) ? "up" : "down")
422+
);
423+
381424
#endif /* _TIPC_TRACE_H */
382425

383426
/* This part must be outside protection */

0 commit comments

Comments
 (0)