Bläddra i källkod

qcacld-3.0: Do not intrabss fwd frag EAPOL frames in HL

Do not intrabss forward fragmented EAPOL frames that have
DA different from the SAP vdev mac addr when high latency
is enabled.

Change-Id: Idb6e6c001f4dae51c2181e70ab9adbbb964f0ee3
CRs-Fixed: 2942096
Yeshwanth Sriram Guntuka 4 år sedan
förälder
incheckning
7ccead5da9
1 ändrade filer med 8 tillägg och 1 borttagningar
  1. 8 1
      core/dp/txrx/ol_rx_fwd.c

+ 8 - 1
core/dp/txrx/ol_rx_fwd.c

@@ -149,6 +149,7 @@ ol_rx_fwd_check(struct ol_txrx_vdev_t *vdev,
 	while (msdu) {
 		struct ol_txrx_vdev_t *tx_vdev;
 		void *rx_desc;
+		uint16_t off = 0;
 		/*
 		 * Remember the next list elem, because our processing
 		 * may cause the MSDU to get linked into a different list.
@@ -203,8 +204,14 @@ ol_rx_fwd_check(struct ol_txrx_vdev_t *vdev,
 				continue;
 			}
 
+			if (pdev->cfg.is_high_latency)
+				off = htt_rx_msdu_rx_desc_size_hl(
+								 pdev->htt_pdev,
+								 rx_desc);
+
 			if (vdev->opmode == wlan_op_mode_ap &&
-			    qdf_nbuf_is_ipv4_eapol_pkt(msdu) &&
+			    __qdf_nbuf_data_is_ipv4_eapol_pkt(
+						   qdf_nbuf_data(msdu) + off) &&
 			    qdf_mem_cmp(qdf_nbuf_data(msdu) +
 					QDF_NBUF_DEST_MAC_OFFSET,
 					vdev->mac_addr.raw,