From f87f2e57ebcc6a3ad508256b1827535290cdb3c1 Mon Sep 17 00:00:00 2001 From: OdSazib Date: Fri, 12 Nov 2021 20:08:28 +0600 Subject: [PATCH] Merge tag 'LA.UM.10.2.1.r1-02700-sdm660.0' of https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/data-ipa-cfg-mgr into 12-4.19 "LA.UM.10.2.1.r1-02700-sdm660.0" Signed-off-by: OdSazib Change-Id: Ib2decfac960d6a2c58150fb533f88cfe30fde09d Signed-off-by: pix106 --- data-ipa-cfg-mgr/hal/Android.bp | 1 + .../hal/src/CtUpdateAmbassador.cpp | 2 +- data-ipa-cfg-mgr/hal/src/HAL.cpp | 2 +- data-ipa-cfg-mgr/hal/src/IpaEventRelay.cpp | 2 +- data-ipa-cfg-mgr/hal/src/LocalLogBuffer.cpp | 2 +- data-ipa-cfg-mgr/ipacm/Android.bp | 4 +-- .../ipacm/inc/IPACM_ConntrackClient.h | 3 +++ .../ipacm/inc/IPACM_ConntrackListener.h | 3 +++ data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h | 1 - data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h | 3 +++ .../ipacm/src/IPACM_ConntrackClient.cpp | 3 +++ data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp | 8 +++--- data-ipa-cfg-mgr/ipacm/src/IPACM_Wan.cpp | 25 +++++++++++++++++++ data-ipa-cfg-mgr/ipacm/src/IPACM_Xml.cpp | 3 +++ data-ipa-cfg-mgr/ipacm/src/ipacm.rc | 10 +++----- data-ipa-cfg-mgr/ipacm_vendor_product.mk | 6 +++++ data-ipa-cfg-mgr/ipanat/Android.bp | 2 +- data-ipa-cfg-mgr/ipanat/test/Android.mk | 5 ++-- 18 files changed, 65 insertions(+), 20 deletions(-) diff --git a/data-ipa-cfg-mgr/hal/Android.bp b/data-ipa-cfg-mgr/hal/Android.bp index f7aa0b15..14d37457 100644 --- a/data-ipa-cfg-mgr/hal/Android.bp +++ b/data-ipa-cfg-mgr/hal/Android.bp @@ -12,6 +12,7 @@ cc_library_shared { shared_libs: [ "libhidlbase", "liblog", + "libcutils", "libdl", "libbase", "libutils", diff --git a/data-ipa-cfg-mgr/hal/src/CtUpdateAmbassador.cpp b/data-ipa-cfg-mgr/hal/src/CtUpdateAmbassador.cpp index b5e60e28..eba6b930 100644 --- a/data-ipa-cfg-mgr/hal/src/CtUpdateAmbassador.cpp +++ b/data-ipa-cfg-mgr/hal/src/CtUpdateAmbassador.cpp @@ -33,7 +33,7 @@ /* External Includes */ #include -#include +#include /* HIDL Includes */ #include diff --git a/data-ipa-cfg-mgr/hal/src/HAL.cpp b/data-ipa-cfg-mgr/hal/src/HAL.cpp index 6c1ec104..f18767a5 100644 --- a/data-ipa-cfg-mgr/hal/src/HAL.cpp +++ b/data-ipa-cfg-mgr/hal/src/HAL.cpp @@ -39,7 +39,7 @@ #include /* External Includes */ -#include +#include #include #include #include diff --git a/data-ipa-cfg-mgr/hal/src/IpaEventRelay.cpp b/data-ipa-cfg-mgr/hal/src/IpaEventRelay.cpp index 484355a5..137092fb 100644 --- a/data-ipa-cfg-mgr/hal/src/IpaEventRelay.cpp +++ b/data-ipa-cfg-mgr/hal/src/IpaEventRelay.cpp @@ -28,7 +28,7 @@ */ #define LOG_TAG "IPAHALService/IpaEventRelay" /* External Includes */ -#include +#include /* HIDL Includes */ #include diff --git a/data-ipa-cfg-mgr/hal/src/LocalLogBuffer.cpp b/data-ipa-cfg-mgr/hal/src/LocalLogBuffer.cpp index 50fa91ce..f556e40c 100644 --- a/data-ipa-cfg-mgr/hal/src/LocalLogBuffer.cpp +++ b/data-ipa-cfg-mgr/hal/src/LocalLogBuffer.cpp @@ -29,7 +29,7 @@ #define LOG_TAG "IPAHALService/dump" /* External Includes */ -#include +#include #include #include #include diff --git a/data-ipa-cfg-mgr/ipacm/Android.bp b/data-ipa-cfg-mgr/ipacm/Android.bp index eb030003..0ce21f79 100644 --- a/data-ipa-cfg-mgr/ipacm/Android.bp +++ b/data-ipa-cfg-mgr/ipacm/Android.bp @@ -3,9 +3,9 @@ cc_binary { name: "ipacm", local_include_dirs: ["src"] + ["inc"], - header_libs: ["generated_kernel_headers"], + header_libs: ["qti_kernel_headers"], - cflags: ["-DFEATURE_IPA_ANDROID"] + ["-DFEATURE_IPACM_RESTART"] + [ + cflags: ["-v"] + ["-DFEATURE_IPA_ANDROID"] + ["-DFEATURE_IPACM_RESTART"] + [ "-DFEATURE_IPACM_HAL", "-DDEBUG", "-Wall", diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackClient.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackClient.h index 16d5b9c3..4ceff434 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackClient.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackClient.h @@ -33,6 +33,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#ifndef in_addr_t +typedef uint32_t in_addr_t; +#endif #include #include #include diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackListener.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackListener.h index 2977af70..110fdccb 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackListener.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_ConntrackListener.h @@ -35,6 +35,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#ifndef in_addr_t +typedef uint32_t in_addr_t; +#endif #include #include #include diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h index 81f19683..ae3ab3fc 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Netlink.h @@ -52,7 +52,6 @@ extern "C" #include #include #include -#include #define sockaddr_storage __kernel_sockaddr_storage #include #include diff --git a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h index 64c00ede..5954e1bb 100644 --- a/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h +++ b/data-ipa-cfg-mgr/ipacm/inc/IPACM_Xml.h @@ -45,6 +45,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#ifndef in_addr_t +typedef uint32_t in_addr_t; +#endif #include #include #include diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_ConntrackClient.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_ConntrackClient.cpp index 29afd504..a9536261 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_ConntrackClient.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_ConntrackClient.cpp @@ -31,6 +31,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#ifndef in_addr_t +typedef uint32_t in_addr_t; +#endif #include #include #include diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp index c83a729f..9bcbac4b 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Lan.cpp @@ -3335,7 +3335,7 @@ fail: /* install UL filter rule from Q6 */ int IPACM_Lan::handle_uplink_filter_rule(ipacm_ext_prop *prop, ipa_ip_type iptype, uint8_t xlat_mux_id) { - ipa_flt_rule_add flt_rule_entry; + static ipa_flt_rule_add flt_rule_entry; int len = 0, cnt, ret = IPACM_SUCCESS; ipa_ioc_add_flt_rule *pFilteringTable; ipa_fltr_installed_notif_req_msg_v01 flt_index; @@ -6632,11 +6632,11 @@ int IPACM_Lan::construct_mtu_rule(struct ipa_flt_rule *rule, ipa_ip_type iptype, &flt_eq.eq_attrib, sizeof(rule->eq_attrib)); //add IHL offsets -#ifdef FEATURE_IPA_V3 + if(IPACM_Iface::ipacmcfg->GetIPAVer() >= IPA_HW_v3_0) rule->eq_attrib.rule_eq_bitmap |= (1<<10); -#else + else rule->eq_attrib.rule_eq_bitmap |= (1<<4); -#endif + rule->eq_attrib.num_ihl_offset_range_16 = 1; if (iptype == IPA_IP_v4) rule->eq_attrib.ihl_offset_range_16[0].offset = 0x82; diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Wan.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Wan.cpp index f17eb037..a36fa4af 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Wan.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Wan.cpp @@ -134,6 +134,10 @@ IPACM_Wan::IPACM_Wan(int iface_index, is_ipv6_frag_firewall_flt_rule_installed = false; ipv6_frag_firewall_flt_rule_hdl = 0; + icmpv6_exception_hdl = 0; + tcp_fin_hdl = 0; + tcp_rst_hdl = 0; + mtu_v4 = DEFAULT_MTU_SIZE; mtu_v4_set = false; mtu_v6 = DEFAULT_MTU_SIZE; @@ -7580,6 +7584,13 @@ int IPACM_Wan::add_offload_frag_rule() uint8_t mux_id; ipa_ioc_add_flt_rule *pFilteringTable = NULL; + /* Return if rules are there */ + if (mhi_dl_v4_frag_hdl) + { + IPACMERR("frag rule have not been deleted. Don't install again\n"); + return IPACM_FAILURE; + } + mux_id = ext_prop->ext[0].mux_id; /* contruct filter rules to pcie modem */ struct ipa_flt_rule_add flt_rule_entry; @@ -7721,6 +7732,13 @@ int IPACM_Wan::add_icmpv6_exception_rule() uint8_t mux_id; ipa_ioc_add_flt_rule *pFilteringTable = NULL; + /* Return if rules are there */ + if (icmpv6_exception_hdl) + { + IPACMERR("icmpv6 rule have not been deleted. Don't install again\n"); + return IPACM_FAILURE; + } + mux_id = ext_prop->ext[0].mux_id; /* contruct filter rules to pcie modem */ struct ipa_flt_rule_add flt_rule_entry; @@ -7858,6 +7876,13 @@ int IPACM_Wan::add_tcp_fin_rst_exception_rule() uint8_t mux_id; ipa_ioc_add_flt_rule *pFilteringTable = NULL; + /* Return if rules are there */ + if (tcp_fin_hdl || tcp_rst_hdl) + { + IPACMERR("tcp RST/FIN rules have not been deleted. Don't install again\n"); + return IPACM_FAILURE; + } + mux_id = ext_prop->ext[0].mux_id; /* contruct filter rules to pcie modem */ struct ipa_flt_rule_add flt_rule_entry; diff --git a/data-ipa-cfg-mgr/ipacm/src/IPACM_Xml.cpp b/data-ipa-cfg-mgr/ipacm/src/IPACM_Xml.cpp index d59bbb0d..9c4af416 100644 --- a/data-ipa-cfg-mgr/ipacm/src/IPACM_Xml.cpp +++ b/data-ipa-cfg-mgr/ipacm/src/IPACM_Xml.cpp @@ -39,6 +39,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include +#ifndef in_addr_t +typedef uint32_t in_addr_t; +#endif #include #include "IPACM_Xml.h" diff --git a/data-ipa-cfg-mgr/ipacm/src/ipacm.rc b/data-ipa-cfg-mgr/ipacm/src/ipacm.rc index 8a63b46f..6b3bf98d 100644 --- a/data-ipa-cfg-mgr/ipacm/src/ipacm.rc +++ b/data-ipa-cfg-mgr/ipacm/src/ipacm.rc @@ -25,12 +25,10 @@ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# msm specific files that need to be created on /data -on post-fs-data - mkdir /data/vendor/ipa 0770 radio radio - chmod 0770 /data/vendor/ipa - service vendor.ipacm /system/vendor/bin/ipacm - class late_start + class main user radio group radio inet + +on post-fs-data + start vendor.ipacm diff --git a/data-ipa-cfg-mgr/ipacm_vendor_product.mk b/data-ipa-cfg-mgr/ipacm_vendor_product.mk index f225a303..969d537c 100644 --- a/data-ipa-cfg-mgr/ipacm_vendor_product.mk +++ b/data-ipa-cfg-mgr/ipacm_vendor_product.mk @@ -1,9 +1,11 @@ TARGET_DISABLE_IPACM := false +ifneq ($(TARGET_BOARD_SUFFIX),_au) #IPACM_DATA IPACM_DATA += IPACM_cfg.xml IPACM_DATA += ipacm IPACM_DATA += ipacm.rc +endif ifeq ($(TARGET_USES_QMAA),true) ifneq ($(TARGET_USES_QMAA_OVERRIDE_DATA),true) @@ -12,6 +14,7 @@ endif #TARGET_USES_QMAA_OVERRIDE_DATA endif #TARGET_USES_QMAA BOARD_IPA_LOW_RAM_EXCP_LIST := bengal +BOARD_IPA_LOW_RAM_EXCP_LIST += monaco ifeq ($(TARGET_HAS_LOW_RAM),true) ifneq ($(call is-board-platform-in-list,$(BOARD_IPA_LOW_RAM_EXCP_LIST)),true) @@ -25,6 +28,9 @@ BOARD_PLATFORM_LIST += msm8916 BOARD_PLATFORM_LIST += msm8917 BOARD_PLATFORM_LIST += qm215 BOARD_PLATFORM_LIST += msm8937 +ifeq ($(TARGET_BOARD_SUFFIX),_au) +BOARD_PLATFORM_LIST += msmnile +endif BOARD_IPAv3_LIST := msm8998 BOARD_IPAv3_LIST += sdm845 BOARD_IPAv3_LIST += sdm710 diff --git a/data-ipa-cfg-mgr/ipanat/Android.bp b/data-ipa-cfg-mgr/ipanat/Android.bp index 3c8f9775..310304d6 100644 --- a/data-ipa-cfg-mgr/ipanat/Android.bp +++ b/data-ipa-cfg-mgr/ipanat/Android.bp @@ -3,7 +3,7 @@ cc_library_shared { name: "libipanat", - header_libs: ["generated_kernel_headers"], + header_libs: ["qti_kernel_headers"], srcs: [ "src/ipa_nat_drv.c", diff --git a/data-ipa-cfg-mgr/ipanat/test/Android.mk b/data-ipa-cfg-mgr/ipanat/test/Android.mk index a6bb4b03..b8ae6a4b 100644 --- a/data-ipa-cfg-mgr/ipanat/test/Android.mk +++ b/data-ipa-cfg-mgr/ipanat/test/Android.mk @@ -10,7 +10,8 @@ include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(LOCAL_PATH)/ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../ipanat/inc -LOCAL_HEADER_LIBRARIES := generated_kernel_headers +LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include +LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_MODULE := ipa_nat_test LOCAL_SRC_FILES := ipa_nat_test000.c \ @@ -41,7 +42,7 @@ LOCAL_SRC_FILES := ipa_nat_test000.c \ LOCAL_SHARED_LIBRARIES := libipanat -LOCAL_MODULE_TAGS := tests +LOCAL_MODULE_TAGS := debug LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)/kernel-tests/ip_accelerator include $(BUILD_EXECUTABLE)