diff options
author | Skylar Chang <chiaweic@codeaurora.org> | 2015-07-28 21:18:49 -0700 |
---|---|---|
committer | Skylar Chang <chiaweic@codeaurora.org> | 2015-07-29 16:29:53 -0700 |
commit | fafb397030dfcc60cbf35a23b550f2e1c38e43ce (patch) | |
tree | 2583efbeb1a6f2d1c522c97be840719d56664b8f /ipacm/src/IPACM_Wlan.cpp | |
parent | 3ca162709eb22e9cf3d652833a80a093d232db93 (diff) | |
download | ipacfg-mgr-fafb397030dfcc60cbf35a23b550f2e1c38e43ce.tar.gz |
IPACM: Fix the nat iface missing when cfg change
In AP+AP mode swtich, IPACM_cfg.xml will be updated
on the fly when netdev interface already up while
IPACM loses the NAT ifaces in its config cache and
resulted in NAT-miss for all these pre-existing
netdev interfaces. Also we see more frequent NETBIOS_NS
embedded traffic on port 138 which exhausted our
nat cache. The fix is to add prot 138 traffic as ALG
port, also did the ALG port checking on NAT cache and
those existing ifaces will add itself to NAT ifaces
when receiving the cfg_change event.
Change-Id: I42921b29d70a345b20a71aaf35711c005849ef31
Diffstat (limited to 'ipacm/src/IPACM_Wlan.cpp')
-rw-r--r-- | ipacm/src/IPACM_Wlan.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ipacm/src/IPACM_Wlan.cpp b/ipacm/src/IPACM_Wlan.cpp index 38f4308..7de85a2 100644 --- a/ipacm/src/IPACM_Wlan.cpp +++ b/ipacm/src/IPACM_Wlan.cpp @@ -823,6 +823,13 @@ void IPACM_Wlan::event_callback(ipa_cm_event_id event, void *param) IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].iface_name, (IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].wlan_mode == 0) ? "full" : "internet", (is_guest_ap == true) ? "internet" : "full"); + /* Add Natting iface to IPACM_Config if there is Rx/Tx property */ + if (rx_prop != NULL || tx_prop != NULL) + { + IPACMDBG_H(" Has rx/tx properties registered for iface %s, add for NATTING \n", dev_name); + IPACM_Iface::ipacmcfg->AddNatIfaces(dev_name); + } + if (is_guest_ap == true && (IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].wlan_mode == FULL)) { is_guest_ap = false; |