summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Iface.cpp
diff options
context:
space:
mode:
authorMohammed Javid <mjavid@codeaurora.org>2018-08-27 13:06:49 +0530
committerMohammed Javid <mjavid@codeaurora.org>2018-08-30 12:38:10 +0530
commitada76e45c840024e231e6460f903dfc1f63ea6e0 (patch)
tree7c2be5a981d96dcc4ab440b76d0c43d79deb82bf /ipacm/src/IPACM_Iface.cpp
parent9171636762cf5574f919772164180fe34dcc7d80 (diff)
downloadipacfg-mgr-ada76e45c840024e231e6460f903dfc1f63ea6e0.tar.gz
ipacm: Update tcp fragment rule for IPv6
Update TCP fragment rule attribute for IPv6. Change-Id: I6c2a7c1b6f6ed7638497eb220ad5f5d6462c838e
Diffstat (limited to 'ipacm/src/IPACM_Iface.cpp')
-rw-r--r--ipacm/src/IPACM_Iface.cpp28
1 files changed, 6 insertions, 22 deletions
diff --git a/ipacm/src/IPACM_Iface.cpp b/ipacm/src/IPACM_Iface.cpp
index ce3d738..468f9ad 100644
--- a/ipacm/src/IPACM_Iface.cpp
+++ b/ipacm/src/IPACM_Iface.cpp
@@ -851,29 +851,13 @@ int IPACM_Iface::init_fl_rule(ipa_ip_type iptype)
#ifdef FEATURE_IPA_ANDROID
/* Add the ipv6 tcp fragment filtering rule. */
- memset(&flt_rule_entry, 0, sizeof(struct ipa_flt_rule_add));
- flt_rule_entry.at_rear = true;
- flt_rule_entry.flt_rule_hdl = -1;
- flt_rule_entry.status = -1;
- flt_rule_entry.rule.retain_hdr = 1;
- flt_rule_entry.rule.to_uc = 0;
- flt_rule_entry.rule.eq_attrib_type = 1;
- flt_rule_entry.rule.action = IPA_PASS_TO_EXCEPTION;
-#ifdef FEATURE_IPA_V3
- flt_rule_entry.rule.hashable = true;
-#endif
- flt_rule_entry.rule.eq_attrib.rule_eq_bitmap |= (1<<1);
- flt_rule_entry.rule.eq_attrib.protocol_eq_present = 1;
- flt_rule_entry.rule.eq_attrib.protocol_eq = IPACM_FIREWALL_IPPROTO_TCP;
- flt_rule_entry.rule.attrib.u.v6.next_hdr = (uint8_t)IPACM_FIREWALL_IPPROTO_TCP;
- /* Configuring Fragment Filtering Rule */
- memcpy(&flt_rule_entry.rule.attrib,
- &rx_prop->rx[0].attrib,
- sizeof(flt_rule_entry.rule.attrib));
- /* remove meta data mask since we only install default flt rules once for all modem
- PDN*/
- flt_rule_entry.rule.attrib.attrib_mask &= ~((uint32_t)IPA_FLT_META_DATA);
+ IPACMDBG_H("Adding IPv6 TCP fragment filter rule\n");
+
+ flt_rule_entry.rule.attrib.attrib_mask &= ~((uint32_t)IPA_FLT_DST_ADDR);
+
+ flt_rule_entry.rule.attrib.attrib_mask |= IPA_FLT_NEXT_HDR;
+ flt_rule_entry.rule.attrib.u.v6.next_hdr = IPACM_FIREWALL_IPPROTO_TCP;
flt_rule_entry.rule.attrib.attrib_mask |= IPA_FLT_FRAGMENT;