summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Chang <schang@qca.qualcomm.com>2014-08-26 11:16:35 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-09-16 13:37:03 -0700
commit21e10ab319202d1eb76be9f2db7f986fc2f3122a (patch)
tree13eb8ace72d33381db8f80838330942bc815a796
parent110e6f488065b8fc71be3678af88c2d12d8ea2f1 (diff)
qca-cld: ipa uc: support ipv6 ipa uc offload
IPA UC offload data path should support IPv6 During header registration, IPv6 header format should be registered. To enable IPv6, ipa configuration change also needed. Change-Id: I15478927b2ae2620e40d6cc1f1568cb97be40ac9 CRs-fixed: 708722
-rw-r--r--CORE/HDD/src/wlan_hdd_ipa.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/CORE/HDD/src/wlan_hdd_ipa.c b/CORE/HDD/src/wlan_hdd_ipa.c
index 42f45d8f1d8c..2f37f3c257d9 100644
--- a/CORE/HDD/src/wlan_hdd_ipa.c
+++ b/CORE/HDD/src/wlan_hdd_ipa.c
@@ -2413,7 +2413,14 @@ static int hdd_ipa_add_header_info(struct hdd_ipa_priv *hdd_ipa,
snprintf(ipa_hdr->hdr[0].name, IPA_RESOURCE_NAME_MAX, "%s%s",
ifname, HDD_IPA_IPV6_NAME_EXT);
- if (!hdd_ipa_uc_is_enabled(hdd_ipa)) {
+#ifdef IPA_UC_OFFLOAD
+ if (hdd_ipa_uc_is_enabled(hdd_ipa)) {
+ /* Set the type to IPV6 in the header*/
+ uc_tx_hdr = (struct hdd_ipa_uc_tx_hdr *)ipa_hdr->hdr[0].hdr;
+ uc_tx_hdr->eth.h_proto = cpu_to_be16(ETH_P_IPV6);
+ } else
+#endif /* IPA_UC_OFFLOAD */
+ {
/* Set the type to IPV6 in the header*/
tx_hdr = (struct hdd_ipa_tx_hdr *)ipa_hdr->hdr[0].hdr;
tx_hdr->llc_snap.eth_type = cpu_to_be16(ETH_P_IPV6);