2017-08-29 13:16:57 -07:00
# 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 , ETH_ALEN )
__field ( u16 , vid )
__field ( u16 , nlh_flags )
) ,
TP_fast_assign (
__assign_str ( dev , dev - > name ) ;
memcpy ( __entry - > addr , addr , ETH_ALEN ) ;
__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 %04x ndm_flags %02x " ,
__get_str ( dev ) , __entry - > addr [ 0 ] , __entry - > addr [ 1 ] ,
__entry - > addr [ 2 ] , __entry - > addr [ 3 ] , __entry - > addr [ 4 ] ,
__entry - > addr [ 5 ] , __entry - > vid ,
__entry - > nlh_flags , __entry - > ndm_flags )
) ;
TRACE_EVENT ( br_fdb_external_learn_add ,
TP_PROTO ( struct net_bridge * br , struct net_bridge_port * p ,
const unsigned char * addr , u16 vid ) ,
TP_ARGS ( br , p , addr , vid ) ,
TP_STRUCT__entry (
__string ( br_dev , br - > dev - > name )
__string ( dev , p ? p - > dev - > name : " null " )
__array ( unsigned char , addr , ETH_ALEN )
__field ( u16 , vid )
) ,
TP_fast_assign (
__assign_str ( br_dev , br - > dev - > name ) ;
__assign_str ( dev , p ? p - > dev - > name : " null " ) ;
memcpy ( __entry - > addr , addr , ETH_ALEN ) ;
__entry - > vid = vid ;
) ,
TP_printk ( " br_dev %s port %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u " ,
__get_str ( br_dev ) , __get_str ( dev ) , __entry - > addr [ 0 ] ,
__entry - > addr [ 1 ] , __entry - > addr [ 2 ] , __entry - > addr [ 3 ] ,
__entry - > addr [ 4 ] , __entry - > addr [ 5 ] , __entry - > vid )
) ;
TRACE_EVENT ( fdb_delete ,
TP_PROTO ( struct net_bridge * br , struct net_bridge_fdb_entry * f ) ,
TP_ARGS ( br , f ) ,
TP_STRUCT__entry (
__string ( br_dev , br - > dev - > name )
__string ( dev , f - > dst ? f - > dst - > dev - > name : " null " )
__array ( unsigned char , addr , ETH_ALEN )
__field ( u16 , vid )
) ,
TP_fast_assign (
__assign_str ( br_dev , br - > dev - > name ) ;
__assign_str ( dev , f - > dst ? f - > dst - > dev - > name : " null " ) ;
2017-12-12 16:02:50 +02:00
memcpy ( __entry - > addr , f - > key . addr . addr , ETH_ALEN ) ;
__entry - > vid = f - > key . vlan_id ;
2017-08-29 13:16:57 -07:00
) ,
TP_printk ( " br_dev %s dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u " ,
__get_str ( br_dev ) , __get_str ( dev ) , __entry - > addr [ 0 ] ,
__entry - > addr [ 1 ] , __entry - > addr [ 2 ] , __entry - > addr [ 3 ] ,
__entry - > addr [ 4 ] , __entry - > addr [ 5 ] , __entry - > vid )
) ;
2017-08-30 22:18:13 -07:00
TRACE_EVENT ( br_fdb_update ,
TP_PROTO ( struct net_bridge * br , struct net_bridge_port * source ,
2019-11-01 14:46:37 +02:00
const unsigned char * addr , u16 vid , unsigned long flags ) ,
2017-08-30 22:18:13 -07:00
2019-11-01 14:46:37 +02:00
TP_ARGS ( br , source , addr , vid , flags ) ,
2017-08-30 22:18:13 -07:00
TP_STRUCT__entry (
__string ( br_dev , br - > dev - > name )
__string ( dev , source - > dev - > name )
__array ( unsigned char , addr , ETH_ALEN )
__field ( u16 , vid )
2019-11-01 14:46:37 +02:00
__field ( unsigned long , flags )
2017-08-30 22:18:13 -07:00
) ,
TP_fast_assign (
__assign_str ( br_dev , br - > dev - > name ) ;
__assign_str ( dev , source - > dev - > name ) ;
memcpy ( __entry - > addr , addr , ETH_ALEN ) ;
__entry - > vid = vid ;
2019-11-01 14:46:37 +02:00
__entry - > flags = flags ;
2017-08-30 22:18:13 -07:00
) ,
2019-11-01 14:46:37 +02:00
TP_printk ( " br_dev %s source %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u flags 0x%lx " ,
2017-08-30 22:18:13 -07:00
__get_str ( br_dev ) , __get_str ( dev ) , __entry - > addr [ 0 ] ,
__entry - > addr [ 1 ] , __entry - > addr [ 2 ] , __entry - > addr [ 3 ] ,
__entry - > addr [ 4 ] , __entry - > addr [ 5 ] , __entry - > vid ,
2019-11-01 14:46:37 +02:00
__entry - > flags )
2017-08-30 22:18:13 -07:00
) ;
2017-08-29 13:16:57 -07:00
# endif /* _TRACE_BRIDGE_H */
/* This part must be outside protection */
# include <trace/define_trace.h>