Browse Source

qcacmn: Add CDP intf to flush fragments for a particular peer

Add CDP interface support for flushing fragments for a
particular peer.

Change-Id: Ic59843408037b9c858599be13727422c2e3031cd
CRs-Fixed: 2875946
Yeshwanth Sriram Guntuka 4 years ago
parent
commit
817481b5e3
2 changed files with 23 additions and 1 deletions
  1. 2 0
      dp/inc/cdp_txrx_ops.h
  2. 21 1
      dp/inc/cdp_txrx_peer_ops.h

+ 2 - 0
dp/inc/cdp_txrx_ops.h

@@ -1375,6 +1375,8 @@ struct cdp_peer_ops {
 					 uint8_t *peer_mac, bool val);
 	void (*set_peer_as_tdls_peer)(struct cdp_soc_t *soc, uint8_t vdev_id,
 				      uint8_t *peer_mac, bool val);
+	void (*peer_flush_frags)(struct cdp_soc_t *soc_hdl,
+				 uint8_t vdev_id, uint8_t *peer_mac);
 };
 
 /**

+ 21 - 1
dp/inc/cdp_txrx_peer_ops.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -569,4 +569,24 @@ cdp_peer_set_tdls_offchan_enabled(ol_txrx_soc_handle soc, uint8_t vdev_id,
 							     peer_mac, val);
 }
 
+/**
+ * cdp_peer_flush_frags() - Flush frags on peer
+ * @soc - data path soc handle
+ * @vdev_id - virtual interface id
+ * @peer_mac - peer mac addr
+ *
+ * Return: None
+ */
+static inline void
+cdp_peer_flush_frags(ol_txrx_soc_handle soc, uint8_t vdev_id, uint8_t *peer_mac)
+{
+	if (!soc || !soc->ops || !soc->ops->peer_ops) {
+		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
+			  "%s invalid instance", __func__);
+		return;
+	}
+
+	if (soc->ops->peer_ops->peer_flush_frags)
+		soc->ops->peer_ops->peer_flush_frags(soc, vdev_id, peer_mac);
+}
 #endif /* _CDP_TXRX_PEER_H_ */