Просмотр исходного кода

qcacld-3.0: Make the packet LRO ineligible when tcp udp checksum fail

Send the packet to network stack with lro non-eligible
whenever tcp_udp_checksum fail.

Change-Id: I1c4d71fbc4cf7ce2e13d4e6c8dafbafdf76b0c2f
CRs-Fixed: 2068442
Poddar, Siddarth 7 лет назад
Родитель
Сommit
37a302d35e
1 измененных файлов с 8 добавлено и 3 удалено
  1. 8 3
      core/dp/htt/htt_internal.h

+ 8 - 3
core/dp/htt/htt_internal.h

@@ -242,8 +242,13 @@ static inline void htt_print_rx_desc_lro(struct htt_host_rx_desc_base *rx_desc)
 static inline void htt_rx_extract_lro_info(qdf_nbuf_t msdu,
 	 struct htt_host_rx_desc_base *rx_desc)
 {
-	QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) = rx_desc->msdu_end.lro_eligible;
-	if (rx_desc->msdu_end.lro_eligible) {
+	if (rx_desc->attention.tcp_udp_chksum_fail)
+		QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) = 0;
+	else
+		QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu) =
+			rx_desc->msdu_end.lro_eligible;
+
+	if (QDF_NBUF_CB_RX_LRO_ELIGIBLE(msdu)) {
 		QDF_NBUF_CB_RX_TCP_PURE_ACK(msdu) =
 			rx_desc->msdu_start.tcp_only_ack;
 		QDF_NBUF_CB_RX_TCP_CHKSUM(msdu) =
@@ -261,7 +266,7 @@ static inline void htt_rx_extract_lro_info(qdf_nbuf_t msdu,
 		QDF_NBUF_CB_RX_TCP_OFFSET(msdu) =
 			rx_desc->msdu_start.l4_offset;
 		QDF_NBUF_CB_RX_FLOW_ID_TOEPLITZ(msdu) =
-			 rx_desc->msdu_start.flow_id_toeplitz;
+			rx_desc->msdu_start.flow_id_toeplitz;
 	}
 }
 #else