* @buf: Management frame (header + body)
  * @len: length of the frame data
  * @flags: flags, as defined in enum nl80211_rxmgmt_flags
+ * @rx_tstamp: Hardware timestamp of frame RX in nanoseconds
+ * @ack_tstamp: Hardware timestamp of ack TX in nanoseconds
  */
 struct cfg80211_rx_info {
        int freq;
        const u8 *buf;
        size_t len;
        u32 flags;
+       u64 rx_tstamp;
+       u64 ack_tstamp;
 };
 
 /**
 
             nla_put_u32(msg, NL80211_ATTR_RX_SIGNAL_DBM, info->sig_dbm)) ||
            nla_put(msg, NL80211_ATTR_FRAME, info->len, info->buf) ||
            (info->flags &&
-            nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)))
+            nla_put_u32(msg, NL80211_ATTR_RXMGMT_FLAGS, info->flags)) ||
+           (info->rx_tstamp && nla_put_u64_64bit(msg,
+                                                 NL80211_ATTR_RX_HW_TIMESTAMP,
+                                                 info->rx_tstamp,
+                                                 NL80211_ATTR_PAD)) ||
+           (info->ack_tstamp && nla_put_u64_64bit(msg,
+                                                  NL80211_ATTR_TX_HW_TIMESTAMP,
+                                                  info->ack_tstamp,
+                                                  NL80211_ATTR_PAD)))
                goto nla_put_failure;
 
        genlmsg_end(msg, hdr);