diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2021-07-23 03:44:14 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2021-07-23 03:44:14 -0700 |
commit | 4ae199cdd9e06358651ed62141d485dae3e2e57a (patch) | |
tree | 35d43c77236bd803a8638dda2355a1da3655461e | |
parent | 7cbcfe4b3616c03d48fadb4e25f9976c7bd8d141 (diff) | |
parent | 22cba6c627d222cbf9b0630dce3c6a8053c3c011 (diff) |
Merge 22cba6c627d222cbf9b0630dce3c6a8053c3c011 on remote branch
Change-Id: I48db90188cf3b962c89e862281b871f9a7c595e0
-rw-r--r-- | ipacm/src/IPACM_Wan.cpp | 25 | ||||
-rw-r--r-- | ipacm/src/ipacm.rc | 2 |
2 files changed, 26 insertions, 1 deletions
diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp index f17eb03..a36fa4a 100644 --- a/ipacm/src/IPACM_Wan.cpp +++ b/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/ipacm/src/ipacm.rc b/ipacm/src/ipacm.rc index c1c876b..6b3bf98 100644 --- a/ipacm/src/ipacm.rc +++ b/ipacm/src/ipacm.rc @@ -30,5 +30,5 @@ service vendor.ipacm /system/vendor/bin/ipacm user radio group radio inet -on post-fs +on post-fs-data start vendor.ipacm |