mac80211: support GTK rekey offload
[deliverable/linux.git] / net / mac80211 / driver-trace.h
index 45aab80738e272c3b9b1a25c71bb14201b643c14..31a9dfa81f6529292a6a8cde4337d91ed26d6fa9 100644 (file)
@@ -55,6 +55,70 @@ DECLARE_EVENT_CLASS(local_only_evt,
        TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG)
 );
 
+DECLARE_EVENT_CLASS(local_sdata_addr_evt,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               VIF_ENTRY
+               __array(char, addr, 6)
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               VIF_ASSIGN;
+               memcpy(__entry->addr, sdata->vif.addr, 6);
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT  VIF_PR_FMT " addr:%pM",
+               LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr
+       )
+);
+
+DECLARE_EVENT_CLASS(local_u32_evt,
+       TP_PROTO(struct ieee80211_local *local, u32 value),
+       TP_ARGS(local, value),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               __field(u32, value)
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               __entry->value = value;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT " value:%d",
+               LOCAL_PR_ARG, __entry->value
+       )
+);
+
+DECLARE_EVENT_CLASS(local_sdata_evt,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               VIF_ENTRY
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               VIF_ASSIGN;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT VIF_PR_FMT,
+               LOCAL_PR_ARG, VIF_PR_ARG
+       )
+);
+
 DEFINE_EVENT(local_only_evt, drv_return_void,
        TP_PROTO(struct ieee80211_local *local),
        TP_ARGS(local)
@@ -74,6 +138,21 @@ TRACE_EVENT(drv_return_int,
        TP_printk(LOCAL_PR_FMT " - %d", LOCAL_PR_ARG, __entry->ret)
 );
 
+TRACE_EVENT(drv_return_bool,
+       TP_PROTO(struct ieee80211_local *local, bool ret),
+       TP_ARGS(local, ret),
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               __field(bool, ret)
+       ),
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               __entry->ret = ret;
+       ),
+       TP_printk(LOCAL_PR_FMT " - %s", LOCAL_PR_ARG, (__entry->ret) ?
+                 "true" : "false")
+);
+
 TRACE_EVENT(drv_return_u64,
        TP_PROTO(struct ieee80211_local *local, u64 ret),
        TP_ARGS(local, ret),
@@ -93,33 +172,25 @@ DEFINE_EVENT(local_only_evt, drv_start,
        TP_ARGS(local)
 );
 
+DEFINE_EVENT(local_only_evt, drv_suspend,
+       TP_PROTO(struct ieee80211_local *local),
+       TP_ARGS(local)
+);
+
+DEFINE_EVENT(local_only_evt, drv_resume,
+       TP_PROTO(struct ieee80211_local *local),
+       TP_ARGS(local)
+);
+
 DEFINE_EVENT(local_only_evt, drv_stop,
        TP_PROTO(struct ieee80211_local *local),
        TP_ARGS(local)
 );
 
-TRACE_EVENT(drv_add_interface,
+DEFINE_EVENT(local_sdata_addr_evt, drv_add_interface,
        TP_PROTO(struct ieee80211_local *local,
                 struct ieee80211_sub_if_data *sdata),
-
-       TP_ARGS(local, sdata),
-
-       TP_STRUCT__entry(
-               LOCAL_ENTRY
-               VIF_ENTRY
-               __array(char, addr, 6)
-       ),
-
-       TP_fast_assign(
-               LOCAL_ASSIGN;
-               VIF_ASSIGN;
-               memcpy(__entry->addr, sdata->vif.addr, 6);
-       ),
-
-       TP_printk(
-               LOCAL_PR_FMT  VIF_PR_FMT " addr:%pM",
-               LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr
-       )
+       TP_ARGS(local, sdata)
 );
 
 TRACE_EVENT(drv_change_interface,
@@ -150,27 +221,10 @@ TRACE_EVENT(drv_change_interface,
        )
 );
 
-TRACE_EVENT(drv_remove_interface,
-       TP_PROTO(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata),
-
-       TP_ARGS(local, sdata),
-
-       TP_STRUCT__entry(
-               LOCAL_ENTRY
-               VIF_ENTRY
-               __array(char, addr, 6)
-       ),
-
-       TP_fast_assign(
-               LOCAL_ASSIGN;
-               VIF_ASSIGN;
-               memcpy(__entry->addr, sdata->vif.addr, 6);
-       ),
-
-       TP_printk(
-               LOCAL_PR_FMT  VIF_PR_FMT " addr:%pM",
-               LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr
-       )
+DEFINE_EVENT(local_sdata_addr_evt, drv_remove_interface,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata)
 );
 
 TRACE_EVENT(drv_config,
@@ -400,27 +454,28 @@ TRACE_EVENT(drv_update_tkip_key,
        )
 );
 
-TRACE_EVENT(drv_hw_scan,
+DEFINE_EVENT(local_sdata_evt, drv_hw_scan,
        TP_PROTO(struct ieee80211_local *local,
-                struct ieee80211_sub_if_data *sdata,
-                struct cfg80211_scan_request *req),
-
-       TP_ARGS(local, sdata, req),
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata)
+);
 
-       TP_STRUCT__entry(
-               LOCAL_ENTRY
-               VIF_ENTRY
-       ),
+DEFINE_EVENT(local_sdata_evt, drv_cancel_hw_scan,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata)
+);
 
-       TP_fast_assign(
-               LOCAL_ASSIGN;
-               VIF_ASSIGN;
-       ),
+DEFINE_EVENT(local_sdata_evt, drv_sched_scan_start,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata)
+);
 
-       TP_printk(
-               LOCAL_PR_FMT VIF_PR_FMT,
-               LOCAL_PR_ARG,VIF_PR_ARG
-       )
+DEFINE_EVENT(local_sdata_evt, drv_sched_scan_stop,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata),
+       TP_ARGS(local, sdata)
 );
 
 DEFINE_EVENT(local_only_evt, drv_sw_scan_start,
@@ -489,46 +544,14 @@ TRACE_EVENT(drv_get_tkip_seq,
        )
 );
 
-TRACE_EVENT(drv_set_frag_threshold,
+DEFINE_EVENT(local_u32_evt, drv_set_frag_threshold,
        TP_PROTO(struct ieee80211_local *local, u32 value),
-
-       TP_ARGS(local, value),
-
-       TP_STRUCT__entry(
-               LOCAL_ENTRY
-               __field(u32, value)
-       ),
-
-       TP_fast_assign(
-               LOCAL_ASSIGN;
-               __entry->value = value;
-       ),
-
-       TP_printk(
-               LOCAL_PR_FMT " value:%d",
-               LOCAL_PR_ARG, __entry->value
-       )
+       TP_ARGS(local, value)
 );
 
-TRACE_EVENT(drv_set_rts_threshold,
+DEFINE_EVENT(local_u32_evt, drv_set_rts_threshold,
        TP_PROTO(struct ieee80211_local *local, u32 value),
-
-       TP_ARGS(local, value),
-
-       TP_STRUCT__entry(
-               LOCAL_ENTRY
-               __field(u32, value)
-       ),
-
-       TP_fast_assign(
-               LOCAL_ASSIGN;
-               __entry->value = value;
-       ),
-
-       TP_printk(
-               LOCAL_PR_FMT " value:%d",
-               LOCAL_PR_ARG, __entry->value
-       )
+       TP_ARGS(local, value)
 );
 
 TRACE_EVENT(drv_set_coverage_class,
@@ -964,11 +987,71 @@ TRACE_EVENT(drv_get_ringparam,
        )
 );
 
+DEFINE_EVENT(local_only_evt, drv_tx_frames_pending,
+       TP_PROTO(struct ieee80211_local *local),
+       TP_ARGS(local)
+);
+
 DEFINE_EVENT(local_only_evt, drv_offchannel_tx_cancel_wait,
        TP_PROTO(struct ieee80211_local *local),
        TP_ARGS(local)
 );
 
+TRACE_EVENT(drv_set_bitrate_mask,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata,
+                const struct cfg80211_bitrate_mask *mask),
+
+       TP_ARGS(local, sdata, mask),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               VIF_ENTRY
+               __field(u32, legacy_2g)
+               __field(u32, legacy_5g)
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               VIF_ASSIGN;
+               __entry->legacy_2g = mask->control[IEEE80211_BAND_2GHZ].legacy;
+               __entry->legacy_5g = mask->control[IEEE80211_BAND_5GHZ].legacy;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT  VIF_PR_FMT " 2G Mask:0x%x 5G Mask:0x%x",
+               LOCAL_PR_ARG, VIF_PR_ARG, __entry->legacy_2g, __entry->legacy_5g
+       )
+);
+
+TRACE_EVENT(drv_set_rekey_data,
+       TP_PROTO(struct ieee80211_local *local,
+                struct ieee80211_sub_if_data *sdata,
+                struct cfg80211_gtk_rekey_data *data),
+
+       TP_ARGS(local, sdata, data),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+               VIF_ENTRY
+               __array(u8, kek, NL80211_KEK_LEN)
+               __array(u8, kck, NL80211_KCK_LEN)
+               __array(u8, replay_ctr, NL80211_REPLAY_CTR_LEN)
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+               VIF_ASSIGN;
+               memcpy(__entry->kek, data->kek, NL80211_KEK_LEN);
+               memcpy(__entry->kck, data->kck, NL80211_KCK_LEN);
+               memcpy(__entry->replay_ctr, data->replay_ctr,
+                      NL80211_REPLAY_CTR_LEN);
+       ),
+
+       TP_printk(LOCAL_PR_FMT VIF_PR_FMT,
+                 LOCAL_PR_ARG, VIF_PR_ARG)
+);
+
 /*
  * Tracing for API calls that drivers call.
  */
@@ -1147,6 +1230,42 @@ TRACE_EVENT(api_scan_completed,
        )
 );
 
+TRACE_EVENT(api_sched_scan_results,
+       TP_PROTO(struct ieee80211_local *local),
+
+       TP_ARGS(local),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT, LOCAL_PR_ARG
+       )
+);
+
+TRACE_EVENT(api_sched_scan_stopped,
+       TP_PROTO(struct ieee80211_local *local),
+
+       TP_ARGS(local),
+
+       TP_STRUCT__entry(
+               LOCAL_ENTRY
+       ),
+
+       TP_fast_assign(
+               LOCAL_ASSIGN;
+       ),
+
+       TP_printk(
+               LOCAL_PR_FMT, LOCAL_PR_ARG
+       )
+);
+
 TRACE_EVENT(api_sta_block_awake,
        TP_PROTO(struct ieee80211_local *local,
                 struct ieee80211_sta *sta, bool block),
@@ -1202,6 +1321,27 @@ DEFINE_EVENT(local_only_evt, api_remain_on_channel_expired,
        TP_ARGS(local)
 );
 
+TRACE_EVENT(api_gtk_rekey_notify,
+       TP_PROTO(struct ieee80211_sub_if_data *sdata,
+                const u8 *bssid, const u8 *replay_ctr),
+
+       TP_ARGS(sdata, bssid, replay_ctr),
+
+       TP_STRUCT__entry(
+               VIF_ENTRY
+               __array(u8, bssid, ETH_ALEN)
+               __array(u8, replay_ctr, NL80211_REPLAY_CTR_LEN)
+       ),
+
+       TP_fast_assign(
+               VIF_ASSIGN;
+               memcpy(__entry->bssid, bssid, ETH_ALEN);
+               memcpy(__entry->replay_ctr, replay_ctr, NL80211_REPLAY_CTR_LEN);
+       ),
+
+       TP_printk(VIF_PR_FMT, VIF_PR_ARG)
+);
+
 /*
  * Tracing for internal functions
  * (which may also be called in response to driver calls)
This page took 0.034429 seconds and 5 git commands to generate.