Merge remote-tracking branch 'goog/qcom/release/LA.UM.7.8.9.08.00.00.478.137' into pi-dev Bug: 120390132 Change-Id: I87be8303401a71ce1607294a3a118833a0a3808c
diff --git a/ipacm/src/IPACM_Netlink.cpp b/ipacm/src/IPACM_Netlink.cpp index 9c35497..fa4b8b7 100644 --- a/ipacm/src/IPACM_Netlink.cpp +++ b/ipacm/src/IPACM_Netlink.cpp
@@ -686,7 +686,8 @@ evt_data.evt_data = data_fid; IPACM_EvtDispatcher::PostEvt(&evt_data); } - + /* Andorid platform will use events from usb-driver directly */ +#ifndef FEATURE_IPA_ANDROID /* Add IPACM support for ECM plug-in/plug_out */ /*-------------------------------------------------------------------------- Check if the interface is running.If its a RTM_NEWLINK and the interface @@ -723,7 +724,7 @@ ---------------------------------------------------------------------------*/ evt_data.event = IPA_USB_LINK_UP_EVENT; evt_data.evt_data = data_fid; - IPACMDBG_H("Posting usb IPA_LINK_UP_EVENT with if index: %d\n", + IPACMDBG_H("Posting usb IPA_USB_LINK_UP_EVENT with if index: %d\n", data_fid->if_index); IPACM_EvtDispatcher::PostEvt(&evt_data); } @@ -754,6 +755,7 @@ data_fid->if_index); IPACM_EvtDispatcher::PostEvt(&evt_data); } +#endif /* not defined(FEATURE_IPA_ANDROID)*/ } break;
diff --git a/ipacm/src/IPACM_OffloadManager.cpp b/ipacm/src/IPACM_OffloadManager.cpp index d9a9f4b..4fd6980 100644 --- a/ipacm/src/IPACM_OffloadManager.cpp +++ b/ipacm/src/IPACM_OffloadManager.cpp
@@ -233,8 +233,6 @@ if (cache_need) { IPACMDBG_H("addDownstream name(%s) currently not support in ipa \n", downstream_name); - /* add ipacm restart support */ - push_iface_up(downstream_name, false); /* copy to the cache */ for(int i = 0; i < MAX_EVENT_CACHE ;i++)
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp index 1a34388..0c2c395 100644 --- a/ipacm/src/IPACM_Wan.cpp +++ b/ipacm/src/IPACM_Wan.cpp
@@ -3765,34 +3765,11 @@ memcpy(&(rules[rule_offset + 2]), &flt_rule_entry, sizeof(struct ipa_flt_rule_add)); - /* Add the 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_ROUTING; -#ifdef FEATURE_IPA_V3 - flt_rule_entry.rule.hashable = true; -#endif - flt_rule_entry.rule.rt_tbl_idx = rt_tbl_idx.idx; - 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); - + flt_rule_entry.rule.attrib.attrib_mask &= ~((uint32_t)IPA_FLT_DST_ADDR); flt_rule_entry.rule.attrib.attrib_mask |= IPA_FLT_FRAGMENT; + flt_rule_entry.rule.attrib.attrib_mask |= IPA_FLT_NEXT_HDR; + flt_rule_entry.rule.attrib.u.v6.next_hdr = IPACM_FIREWALL_IPPROTO_TCP; memset(&flt_eq, 0, sizeof(flt_eq)); memcpy(&flt_eq.attrib, &flt_rule_entry.rule.attrib, sizeof(flt_eq.attrib));