On Sun, Aug 27, 2017 at 7:11 PM, Florian Fainelli <f.fainelli@xxxxxxxxx> wrote: > On 08/27/2017 02:33 PM, Roopa Prabhu wrote: >> From: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> >> >> Tracepoints to trace bridge forwarding database updates. > > Thanks for adding this! > >> >> Signed-off-by: Roopa Prabhu <roopa@xxxxxxxxxxxxxxxxxxx> >> --- >> include/trace/events/bridge.h | 98 +++++++++++++++++++++++++++++++++++++++++++ >> net/bridge/br_fdb.c | 7 ++++ >> net/core/net-traces.c | 6 +++ >> 3 files changed, 111 insertions(+) >> create mode 100644 include/trace/events/bridge.h >> >> diff --git a/include/trace/events/bridge.h b/include/trace/events/bridge.h >> new file mode 100644 >> index 0000000..e2d52cf >> --- /dev/null >> +++ b/include/trace/events/bridge.h >> @@ -0,0 +1,98 @@ >> +#undef TRACE_SYSTEM >> +#define TRACE_SYSTEM bridge >> + >> +#if !defined(_TRACE_BRIDGE_H) || defined(TRACE_HEADER_MULTI_READ) >> +#define _TRACE_BRIDGE_H >> + >> +#include <linux/netdevice.h> >> +#include <linux/tracepoint.h> >> + >> +#include "../../../net/bridge/br_private.h" >> + >> +TRACE_EVENT(br_fdb_add, >> + >> + TP_PROTO(struct ndmsg *ndm, struct net_device *dev, >> + const unsigned char *addr, u16 vid, u16 nlh_flags), >> + >> + TP_ARGS(ndm, dev, addr, vid, nlh_flags), >> + >> + TP_STRUCT__entry( >> + __field(u8, ndm_flags) >> + __string(dev, dev->name) >> + __array(unsigned char, addr, 6) > > Can you use ETH_ALEN instead of 6 here? > >> + __field(u16, vid) >> + __field(u16, nlh_flags) >> + ), >> + >> + TP_fast_assign( >> + __assign_str(dev, dev->name); >> + memcpy(__entry->addr, addr, 6); > > Likewise > >> + __entry->vid = vid; >> + __entry->nlh_flags = nlh_flags; >> + __entry->ndm_flags = ndm->ndm_flags; >> + ), >> + >> + TP_printk("dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u nlh_flags %x ndm_flags = %x", > > I wonder if we could make %pM work for TP_printk() as this would > simplify the argument list a bitt. Can you use %04x for vid, nlh_flags > and %02x for ndm_flags? one thing here.., i think %u is better for vid. bridge driver debug prints also use %u for vid.