|
@@ -169,8 +169,9 @@
|
|
|
#define QDF_NBUF_TX_PKT_HIF 7
|
|
|
#define QDF_NBUF_TX_PKT_CE 8
|
|
|
#define QDF_NBUF_TX_PKT_FREE 9
|
|
|
-#define QDF_NBUF_TX_PKT_STATE_MAX 10
|
|
|
-#define QDF_NBUF_TX_PKT_LI_DP 11
|
|
|
+#define QDF_NBUF_TX_PKT_LI_DP 10
|
|
|
+#define QDF_NBUF_TX_PKT_DP 11
|
|
|
+#define QDF_NBUF_TX_PKT_STATE_MAX 12
|
|
|
|
|
|
/* nbuf allocations only come from one domain */
|
|
|
#define QDF_DEBUG_NBUF_DOMAIN 0
|
|
@@ -2213,6 +2214,32 @@ static inline qdf_nbuf_t qdf_nbuf_unshare(qdf_nbuf_t buf)
|
|
|
}
|
|
|
#endif /* NBUF_MEMORY_DEBUG */
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_nbuf_kfree() - Free nbuf using kfree
|
|
|
+ * @buf: Pointer to network buffer
|
|
|
+ *
|
|
|
+ * This function is called to free the skb on failure cases
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static inline void qdf_nbuf_kfree(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ __qdf_nbuf_kfree(buf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_dev_kfree() - Free nbuf using dev based os call
|
|
|
+ * @buf: Pointer to network buffer
|
|
|
+ *
|
|
|
+ * This function is called to free the skb on failure cases
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static inline void qdf_nbuf_dev_kfree(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ __qdf_nbuf_dev_kfree(buf);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* qdf_nbuf_copy_expand_fraglist() - copy and expand nbuf and
|
|
|
* get reference of the fraglist.
|
|
@@ -2542,6 +2569,43 @@ static inline void qdf_nbuf_set_dev_scratch(qdf_nbuf_t buf, unsigned long value)
|
|
|
__qdf_nbuf_set_dev_scratch(buf, value);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_nbuf_set_dev() - set dev in network buffer
|
|
|
+ * @buf: Pointer to network buffer
|
|
|
+ * @dev: netdev to be set in network buffer
|
|
|
+ *
|
|
|
+ * Return: void
|
|
|
+ */
|
|
|
+static inline
|
|
|
+void qdf_nbuf_set_dev(qdf_nbuf_t nbuf, qdf_netdev_t dev)
|
|
|
+{
|
|
|
+ __qdf_nbuf_set_dev(nbuf, dev);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_get_dev_mtu() - get dev mtu in n/w buffer
|
|
|
+ * @buf: Pointer to network buffer
|
|
|
+ *
|
|
|
+ * Return: dev mtu value in nbuf
|
|
|
+ */
|
|
|
+static inline
|
|
|
+unsigned int qdf_nbuf_get_dev_mtu(qdf_nbuf_t nbuf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_get_dev_mtu(nbuf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_set_protocol_eth_tye_trans() - set protocol using eth trans os API
|
|
|
+ * @buf: Pointer to network buffer
|
|
|
+ *
|
|
|
+ * Return: None
|
|
|
+ */
|
|
|
+static inline
|
|
|
+void qdf_nbuf_set_protocol_eth_tye_trans(qdf_nbuf_t nbuf)
|
|
|
+{
|
|
|
+ __qdf_nbuf_set_protocol_eth_type_trans(nbuf);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* qdf_nbuf_peek_header() - return the data pointer & length of the header
|
|
|
* @buf: Network nbuf
|
|
@@ -3786,6 +3850,62 @@ bool qdf_nbuf_is_bcast_pkt(qdf_nbuf_t buf)
|
|
|
return __qdf_nbuf_is_bcast_pkt(buf);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_nbuf_pkt_type_is_mcast() - check if skb pkt type is mcast
|
|
|
+ * @buf: Network buffer
|
|
|
+ *
|
|
|
+ * Return: TRUE if skb pkt type is mcast
|
|
|
+ * FALSE if not
|
|
|
+ */
|
|
|
+static inline
|
|
|
+bool qdf_nbuf_pkt_type_is_mcast(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_pkt_type_is_mcast(buf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_pkt_type_is_bcast() - check if skb pkt type is bcast
|
|
|
+ * @buf: Network buffer
|
|
|
+ *
|
|
|
+ * Return: TRUE if skb pkt type is mcast
|
|
|
+ * FALSE if not
|
|
|
+ */
|
|
|
+static inline
|
|
|
+bool qdf_nbuf_pkt_type_is_bcast(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_pkt_type_is_bcast(buf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_is_mcast_replay() - check if it is multicast replay packet.
|
|
|
+ * @buf: Network buffer
|
|
|
+ *
|
|
|
+ * This func. checks whether packet is multicast replay packet or not.
|
|
|
+ *
|
|
|
+ * Return: TRUE if it is multicast packet
|
|
|
+ * FALSE if not
|
|
|
+ */
|
|
|
+static inline
|
|
|
+bool qdf_nbuf_is_mcast_replay(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_is_mcast_replay(buf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_is_arp_local() - check if it is local or no local arp
|
|
|
+ * @buf: Network buffer
|
|
|
+ *
|
|
|
+ * This func. checks whether packet is local or no local arp.
|
|
|
+ *
|
|
|
+ * Return: TRUE if it is broadcast packet
|
|
|
+ * FALSE if not
|
|
|
+ */
|
|
|
+static inline
|
|
|
+bool qdf_nbuf_is_arp_local(qdf_nbuf_t buf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_is_arp_local(buf);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* qdf_nbuf_reset_num_frags() - decrement the number of fragments
|
|
|
* @buf: Network buffer
|
|
@@ -3883,6 +4003,29 @@ static inline uint16_t qdf_nbuf_get_gso_segs(qdf_nbuf_t nbuf)
|
|
|
return __qdf_nbuf_get_gso_segs(nbuf);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_nbuf_get_gso_size() - Return the number of gso size in
|
|
|
+ * nbuf
|
|
|
+ * @nbuf: Network buffer
|
|
|
+ *
|
|
|
+ * Return: number of gso segments in nbuf
|
|
|
+ */
|
|
|
+static inline unsigned int qdf_nbuf_get_gso_size(qdf_nbuf_t nbuf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_get_gso_size(nbuf);
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_nbuf_set_gso_size() - Set the gso size in nbuf
|
|
|
+ * @skb: Pointer to network buffer
|
|
|
+ *
|
|
|
+ * Return: Return the number of gso segments
|
|
|
+ */
|
|
|
+static inline void qdf_nbuf_set_gso_size(qdf_nbuf_t nbuf, unsigned int val)
|
|
|
+{
|
|
|
+ __qdf_nbuf_set_gso_size(nbuf, val);
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* qdf_nbuf_inc_users() - function to increment the number of
|
|
|
* users referencing this network buffer
|
|
@@ -4058,6 +4201,17 @@ static inline qdf_size_t qdf_nbuf_l2l3l4_hdr_len(qdf_nbuf_t buf)
|
|
|
return __qdf_nbuf_l2l3l4_hdr_len(buf);
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_nbuf_get_tcp_hdr_len() - return TCP header length of the skb
|
|
|
+ * @skb: sk buff
|
|
|
+ *
|
|
|
+ * Return: size of TCP header length
|
|
|
+ */
|
|
|
+static inline size_t qdf_nbuf_get_tcp_hdr_len(qdf_nbuf_t nbuf)
|
|
|
+{
|
|
|
+ return __qdf_nbuf_get_tcp_hdr_len(nbuf);
|
|
|
+}
|
|
|
+
|
|
|
static inline bool qdf_nbuf_is_nonlinear(qdf_nbuf_t buf)
|
|
|
{
|
|
|
return __qdf_nbuf_is_nonlinear(buf);
|