root/include/trace/events/bridge.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 #undef TRACE_SYSTEM
   2 #define TRACE_SYSTEM bridge
   3 
   4 #if !defined(_TRACE_BRIDGE_H) || defined(TRACE_HEADER_MULTI_READ)
   5 #define _TRACE_BRIDGE_H
   6 
   7 #include <linux/netdevice.h>
   8 #include <linux/tracepoint.h>
   9 
  10 #include "../../../net/bridge/br_private.h"
  11 
  12 TRACE_EVENT(br_fdb_add,
  13 
  14         TP_PROTO(struct ndmsg *ndm, struct net_device *dev,
  15                  const unsigned char *addr, u16 vid, u16 nlh_flags),
  16 
  17         TP_ARGS(ndm, dev, addr, vid, nlh_flags),
  18 
  19         TP_STRUCT__entry(
  20                 __field(u8, ndm_flags)
  21                 __string(dev, dev->name)
  22                 __array(unsigned char, addr, ETH_ALEN)
  23                 __field(u16, vid)
  24                 __field(u16, nlh_flags)
  25         ),
  26 
  27         TP_fast_assign(
  28                 __assign_str(dev, dev->name);
  29                 memcpy(__entry->addr, addr, ETH_ALEN);
  30                 __entry->vid = vid;
  31                 __entry->nlh_flags = nlh_flags;
  32                 __entry->ndm_flags = ndm->ndm_flags;
  33         ),
  34 
  35         TP_printk("dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u nlh_flags %04x ndm_flags %02x",
  36                   __get_str(dev), __entry->addr[0], __entry->addr[1],
  37                   __entry->addr[2], __entry->addr[3], __entry->addr[4],
  38                   __entry->addr[5], __entry->vid,
  39                   __entry->nlh_flags, __entry->ndm_flags)
  40 );
  41 
  42 TRACE_EVENT(br_fdb_external_learn_add,
  43 
  44         TP_PROTO(struct net_bridge *br, struct net_bridge_port *p,
  45                  const unsigned char *addr, u16 vid),
  46 
  47         TP_ARGS(br, p, addr, vid),
  48 
  49         TP_STRUCT__entry(
  50                 __string(br_dev, br->dev->name)
  51                 __string(dev, p ? p->dev->name : "null")
  52                 __array(unsigned char, addr, ETH_ALEN)
  53                 __field(u16, vid)
  54         ),
  55 
  56         TP_fast_assign(
  57                 __assign_str(br_dev, br->dev->name);
  58                 __assign_str(dev, p ? p->dev->name : "null");
  59                 memcpy(__entry->addr, addr, ETH_ALEN);
  60                 __entry->vid = vid;
  61         ),
  62 
  63         TP_printk("br_dev %s port %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u",
  64                   __get_str(br_dev), __get_str(dev), __entry->addr[0],
  65                   __entry->addr[1], __entry->addr[2], __entry->addr[3],
  66                   __entry->addr[4], __entry->addr[5], __entry->vid)
  67 );
  68 
  69 TRACE_EVENT(fdb_delete,
  70 
  71         TP_PROTO(struct net_bridge *br, struct net_bridge_fdb_entry *f),
  72 
  73         TP_ARGS(br, f),
  74 
  75         TP_STRUCT__entry(
  76                 __string(br_dev, br->dev->name)
  77                 __string(dev, f->dst ? f->dst->dev->name : "null")
  78                 __array(unsigned char, addr, ETH_ALEN)
  79                 __field(u16, vid)
  80         ),
  81 
  82         TP_fast_assign(
  83                 __assign_str(br_dev, br->dev->name);
  84                 __assign_str(dev, f->dst ? f->dst->dev->name : "null");
  85                 memcpy(__entry->addr, f->key.addr.addr, ETH_ALEN);
  86                 __entry->vid = f->key.vlan_id;
  87         ),
  88 
  89         TP_printk("br_dev %s dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u",
  90                   __get_str(br_dev), __get_str(dev), __entry->addr[0],
  91                   __entry->addr[1], __entry->addr[2], __entry->addr[3],
  92                   __entry->addr[4], __entry->addr[5], __entry->vid)
  93 );
  94 
  95 TRACE_EVENT(br_fdb_update,
  96 
  97         TP_PROTO(struct net_bridge *br, struct net_bridge_port *source,
  98                  const unsigned char *addr, u16 vid, bool added_by_user),
  99 
 100         TP_ARGS(br, source, addr, vid, added_by_user),
 101 
 102         TP_STRUCT__entry(
 103                 __string(br_dev, br->dev->name)
 104                 __string(dev, source->dev->name)
 105                 __array(unsigned char, addr, ETH_ALEN)
 106                 __field(u16, vid)
 107                 __field(bool, added_by_user)
 108         ),
 109 
 110         TP_fast_assign(
 111                 __assign_str(br_dev, br->dev->name);
 112                 __assign_str(dev, source->dev->name);
 113                 memcpy(__entry->addr, addr, ETH_ALEN);
 114                 __entry->vid = vid;
 115                 __entry->added_by_user = added_by_user;
 116         ),
 117 
 118         TP_printk("br_dev %s source %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u added_by_user %d",
 119                   __get_str(br_dev), __get_str(dev), __entry->addr[0],
 120                   __entry->addr[1], __entry->addr[2], __entry->addr[3],
 121                   __entry->addr[4], __entry->addr[5], __entry->vid,
 122                   __entry->added_by_user)
 123 );
 124 
 125 
 126 #endif /* _TRACE_BRIDGE_H */
 127 
 128 /* This part must be outside protection */
 129 #include <trace/define_trace.h>

/* [<][>][^][v][top][bottom][index][help] */