net: rmnet_data: validate csum in SW

Do SW checksum validation if rmnet_data checksum
validation fails.

Change-Id: Ifff229dc1e7eb592d58fc66ea278debb292b89aa
Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org>
Signed-off-by: Tejaswi Tanikella <tejaswit@codeaurora.org>
This commit is contained in:
Ashwanth Goli 2017-06-27 10:29:06 +05:30 committed by Gerrit - the friendly Code Review server
parent c1b3ec77ab
commit 088a4e5beb

View file

@ -476,10 +476,12 @@ static rx_handler_result_t _rmnet_map_ingress_handler(struct sk_buff *skb,
if (likely((ckresult == RMNET_MAP_CHECKSUM_OK) if (likely((ckresult == RMNET_MAP_CHECKSUM_OK)
|| (ckresult == RMNET_MAP_CHECKSUM_SKIPPED))) || (ckresult == RMNET_MAP_CHECKSUM_SKIPPED)))
skb->ip_summed |= CHECKSUM_UNNECESSARY; skb->ip_summed |= CHECKSUM_UNNECESSARY;
else if (ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_IP_VERSION else if (ckresult !=
&& ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_TRANSPORT RMNET_MAP_CHECKSUM_ERR_UNKNOWN_IP_VERSION &&
&& ckresult != RMNET_MAP_CHECKSUM_VALID_FLAG_NOT_SET ckresult != RMNET_MAP_CHECKSUM_VALIDATION_FAILED &&
&& ckresult != RMNET_MAP_CHECKSUM_FRAGMENTED_PACKET) { ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_TRANSPORT &&
ckresult != RMNET_MAP_CHECKSUM_VALID_FLAG_NOT_SET &&
ckresult != RMNET_MAP_CHECKSUM_FRAGMENTED_PACKET) {
rmnet_kfree_skb(skb, rmnet_kfree_skb(skb,
RMNET_STATS_SKBFREE_INGRESS_BAD_MAP_CKSUM); RMNET_STATS_SKBFREE_INGRESS_BAD_MAP_CKSUM);
return RX_HANDLER_CONSUMED; return RX_HANDLER_CONSUMED;