diff options
| author | Leo Chang <schang@qca.qualcomm.com> | 2014-08-26 11:16:35 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-09-16 13:37:03 -0700 |
| commit | 21e10ab319202d1eb76be9f2db7f986fc2f3122a (patch) | |
| tree | 13eb8ace72d33381db8f80838330942bc815a796 | |
| parent | 110e6f488065b8fc71be3678af88c2d12d8ea2f1 (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.c | 9 |
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); |
