summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_IfaceManager.cpp
AgeCommit message (Collapse)Author
2018-08-10ipacm: Handle WLAN FW rejuvenate eventsMohammed Javid
Handle WLAN FW SSR event for FW rejuvenate scenario. Change-Id: Ieceaf20a05dd645e56e3fb3b87ffd7cb97453cb0
2018-07-21ipacm: do not post internal link up eventsMohammed Javid
Make a change to not to post internal link up events when IPACM is started from boot. Bug: 10913099 Change-Id: I9438076f576271d164959996821df0b864dfe23d
2017-11-08IPACM: clean wlan NAT ifaces during modem SSRSkylar Chang
Wlan-driver will disconnect/reconnect to IPA after modem SSR and bootup again where framework already send add_downstream to IPA and resulted in offload failed. The workaround is to self delete NAT ifaces for wlan related instances during SSR and cache the downstream event before wlan restarts. Change-Id: I178c418621862b19327f70a077623f14a69a56c6
2017-10-20ipacm: Add flag -Wall -Werror and fix warningsMohammed Javid
Add flag -Wall -Werror in Android.mk and fix all the warnings and errors. Change-Id: I86de057f5cc38ec9944f4988ac87724ba00b2e52 Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com>
2017-05-12IPACM: Add support on IPACM-HAL for Android-OSkylar Chang
Add API for IPACM_HAL to start tethered-traffic offload and get stats from modem and set quota. Change-Id: I7d07c4ce4e7b12c7e088dec94a3d54c7da3a4a8b
2016-08-29IPACM: add STA offload support on Android platformSkylar Chang
Add support on wlan AP+STA mode to use IPA offload data path on Android platform. Change-Id: I1516aa5d152c3d473a0e6b7368f96c10f0f2fb84
2016-08-16ipacm: Fix NULL pointer and boundary checkUtkarsh Saxena
Initialize the pNatIfaces global variable to NULL in constructor. Check iface_ipa_index_query api for valid return of boundary checking. Change-Id: I90abc66361ec16b4f4200e0f4aaeef07834da039
2016-08-12IPACM: Fix the dangling referenceSunil Paidimarri
Delete self event should be always last event to register else end up in dangling reference while processing the events. Change-Id: I28f4b36f408d318ef55024ad8c5a94e2ecf4f8fe CRs-Fixed: 1052543
2016-04-11IPACM: Add Ethernet bridging central controllerValery Gorohovsky
Add central controller for Ethernet bridging. Change-Id: Icb5657f78324e6fe342ba7da18c2b054f678ce96 Signed-off-by: Valery Gorohovsky <valeryg@codeaurora.org>
2016-04-11IPACM: refactoring filtering on LAN/WLAN interfacesSkylar Chang
Refactoring the filtering structure on LAN/WLAN interfaces: 1. unify the handling of Ethernet Bridging on LAN and WLAN 2. remove dummy filtering rules Change-Id: If3c65c3932898ca992728526375fbcdd1d227d9c
2015-10-29IPACM: change src mac to bridge0Skylar Chang
In SW-exception, the src mac of the DL traffic to wifi-client will use bridge0's mac when device is in bridge mode however in IPA-HW path, the src mac of the DL traffic will use netdev's mac instead. This failed in layer2 security check with some special applications. The fix is to make src mac consistent in both SW-exception/IPA-HW cases. Change-Id: I2f248e2f3c265acfbecdeedac58e7e8dac36fec9
2015-09-30IPACM: Add support to get tether statsSkylar Chang
This changes provides the support to to get tether stats. Change-Id: I668a8fa3ffbab2c714d09543e6d2a7e67ff55eff
2015-07-16IPACM: Handle AF_BRIDGE netlink messageSkylar Chang
AF_BRIGE family netlink message should be processed for LE targets. It is used by CPE interface while device is booting with cable connected. But it should be ignored in MSM target to avoid fake USB interface down netlink message. Change-Id: Iafd1f06819cbc010415368e0c919cd4d43e274e0
2015-06-16IPACM: Support android tethering statisticsSkylar Chang
Add support to receive QMI msg from modem via wan-driver and get the pipe/network stats. Also update to CNE module. Change-Id: Ibd87aa3708138ac5a30d93876316c6b8fe52a537
2015-05-18IPACM: Add support for Ethernet bridge ModeSkylar Chang
In ethernet bridge mode, all data traffics are routed directly to modem via IPA HW path from ethernet client and vice-versa. To support, IPACM installs modem uplink and downlink rules with action PASS_TO_ROUTING. Change-Id: Ia743d86e0480528021c4c62025f91df29d09ec38
2015-04-29IPACM: Add initial support for HW path between CPE and USB clientsSkylar Chang
This change is for supporting HW path between CPE and USB clients. LAN-LAN routing table is used for traffic between USB and CPE clients. Filtering, routing table are installed only both CPE and USB interfaces are up. LAN-WLAN routing table is used for traffic between LAN(USB, CPE), and WLAN clients. Change-Id: I5bc28c31a6931dccd6348f7cb8f42e862659e848
2015-03-19IPACM: Add support for AP-AP mode with internet only guest profileSkylar Chang
This change is for AP+AP mode with internet only guest access profile support. Guest AP clients are forbidden from accessing Primary AP, USB clients and embedded applications running on A7. Change-Id: I6bd60c3611559e4bd09cb1b8ea188ace2a386fe5
2015-02-26Merge "IPACM: support CPE<->WLAN through Ethernet Bridging data path"Linux Build Service Account
2015-02-25IPACM: support CPE<->WLAN through Ethernet Bridging data pathSkylar Chang
Previously IPACM supports only USB<->WLAN and WLAN<->WLAN through Ethernet Bridging, now we add a new header processing context for WLAN->CPE and adjust the logic in maintaining header processing context to support CPE<->WLAN data path also. Change-Id: I9db8d6c7cfefaa28b8588c945ccbf04f1d2996d2
2015-02-17IPACM : Add support for the XLAT featureSkylar Chang
IPA needs to support modem CLAT feature which translates ipv4 traffic to ipv6 and vice-versa. In order to acheive this, IPACM needs configure CLAT/XLAT rules if the embedded PDN is CLAT PDN, otherwise it should construct the rules for normal internet PDN.interface Change-Id: Ia0ce20fbe0463cb5ac6d25a066be4c50c0303da2
2015-02-10Merge "IPACM: eMBMS traffic take offload path on ODU only"Linux Build Service Account
2015-02-02IPACM: add support for cradle in msmzircSkylar Chang
Add IPACM support for cradle LAN/WAN ROUTER/BRIDGE modes in msmzirc. Change-Id: I166cac09614f5a3a1da340c04bcdf97c8002ebaa
2015-01-28IPACM: eMBMS traffic take offload path on ODU onlySkylar Chang
The eMBMS traffic in CPE mode will take SW-path instead of IPA-HW because there might be embms traffic initiated from wifi-client. Only in ODU mode, the eMBMS traffic will take IPA-HW offload path to ODU-client. Change-Id: I4a8744bb9fe4129891dd037e10eea105897418d6
2014-11-25IPACM: add MCC/SCC switch support in ipacmSkylar Chang
1. Change the exiting routing rules to use different endpoint on switching to MCC and vice versa. 2. Modify default routing rules in wlan and wan interfaces. 3. Modify wan/wlan client routing rules in wan/wlan interfaces. Change-Id: I81211c3752fcb63f6dfbaed3f4303c83632e8012
2014-11-10IPACM: add support for Ethernet BridgingSkylar Chang
Add IPACM support for Ethernet Bridging in msmzirc. Change-Id: I5cdc512542c23fd728d3593a85d9e1ad8d8b97bb
2014-10-10 IPACM: Fixes for Wi-Fi offload for AP-STA modeSkylar Chang
1. fix ethernet offset issue 2. don't assume first event is always external router mac address 3. don't add routing rules for wan ip address Change-Id: If1ce15e329a9e6d66e32953403a77d788956e368
2014-10-03IPACM: support ODU project in LESkylar Chang
Enable odu router/bridge mode in ipa-HW for eMBMS traffic to home router Change-Id: Icdad38ad8cc8d32a96a05b5512453e539358a5f7
2014-08-13IPACM: get upstream and tethered iface in AndroidSkylar Chang
In android platform, IPACM needs to get upstream wan iface and tetherd iface from CnE and construct the right filter/routing rules on the RX endpoint of tethered ifaces. Change-Id: Ie81aee57298dc6f2e6a677a394ac5eadb1ff8f27
2014-08-09IPACM: not contruct rules in wlan STA mode for msm8994Skylar Chang
In msm8994, wlan-driver should not send STA-connect/STA-disconnect messages to IPACM. This fix is to double check from IPACM side to ignore those msgs if WLAN-driver still send in target msm8994. Change-Id: I1e66d823d914e8955634d6e04394ccf32f283610
2014-07-28IPACM: workaround to get upstream iface from netlinkSkylar Chang
In order to unblock testing wifi-offload/usb-tethering features on msm8994. IPACM will do the work-aournd to get upstream wan iface info from netlink socket instead of waiting CnE to inform. Change-Id: I66ad1d67f4cd2740aaf408da061b7c156f41e098
2014-07-11IPACM: reduce the prints in QXDMSkylar Chang
In order to share QXDM with other modules in Apps, IPACM needs to reduce the message prints in QXDM to avoid flooding the log. With this change, IPACM will only print important msg to QXDM and for the complete IPACM log, user needs to run manually to get. Change-Id: Ib768dd3f3a7933dd4b57a6dd866becadf0bea126
2014-07-03IPACM: support upstream wan iface in AndroidSkylar Chang
In android platform, IPACM needs to get upstream wan iface from CnE. Change-Id: I04c3e3a71b1b87578cbe51168663a3270e03cd9b
2014-06-13IPACM: fix crash issue in AndroidSkylar Chang
There are some crash issues in IPACM when executing in Android platform, some memory leak is identified with new private subnet feature with ecm-backhaul code check-in. Also fix some netlink ioctl issue. Change-Id: I22e67f7598ef4688eab9a937577bebe6f6eb9cdf
2014-05-28IPACM: support 8994 private subnet changeSkylar Chang
In android platform, when doing wlan or rndis thethering, the subnet is different than LE, IPACM should dynamically change private subnet by listening for new_addr netlink event for those LAN interface Change-Id: I36a8fbe0055098b965209326519d0c5d0cefbe0d
2014-05-24IPACM: read XML configuration for bridge nameSkylar Chang
Currently IPACM hard-coded to only recognize bridge interface name as bridge0, in order to support more flexibility, we make it as configurable paramter in our IPACM configuration xml file. Change-Id: I6eee418a269dd9ecbd2c723b266466e5e2295da5
2014-05-21IPACM: support usb dynamic config w.o plug-in/outSkylar Chang
In order to support dynamically change from ecm-thethering to ecm-backhaul without usb-cable plug-in/plug-out, IPACM needs to propagate configuration change event to all ifaces and each iface will clean/delete its own rules if its category is changed and open a new instance to install the new routing/filtering rules. Change-Id: I38fc8087587e45b219cfe702bc37f762b06f0303
2014-05-06IPACM: support dynamic ipacm configurationSkylar Chang
In order to support both ecm-backhaul and ecm-thethering dynamically, IPACM needs to support dynamic configuration. Change-Id: I3b5d130559de7d8d809ff6b5a7669a1c214c1657
2014-04-25IPACM: fix WLAN mode switch and AP+STA mode STA LINK_DOWN issueRavi Gummadidala
This change fixes 2 issue: 1. In WLAN AP+STA mode, IPACM receives LINK_DOWN event from netlink soon after STA is brought up. We changed event name to ignore LINK_DOWN from netlink socket, but only rely on WLAN messages to close iface instance. 2. In WLAN mode switch between AP+STA mode and AP mode, we see 2 route add event for STA Iface and route add/route del events are disordered. We fix IPACM logic to handle this issue. Change-Id: Ic4749467f4c8213dfb1e32023f5d5b321e5cf00c
2014-04-10IPACM: enable LAN2LAN traffic using HW-pathSkylar Chang
Current Lan2Lan traffic (usb->wlan, wlan->usb) is taking the SW-path which cannot fit the throughput requirement from customers, the change is to add client2client specific header/filter, routing rules in IPA to make Lan2Lan traffic going through ipa-HW. Change-Id: I80767339c28f69ca3cb08d97c531ceabd8879a47
2014-03-24IPACM: support multiple ETH usb clientsSkylar Chang
To support multiple usb clients with ETH mode, IPACM needs to construct the full header for each USB ETH-client by using their MAC address, also needs to contrut the routing rules after getting their ipv4 info contains in new_neigh netlink socket. Change-Id: I2dfc8330e328ec234c4a8b46b4f330cf9b94dae1
2013-12-12IPACM: Added support for 9x35 HW/SW architectureSkylar Chang
- Support WAN DL filtering rules addition through QMI messages on Q6 endpoint - Install WAN UL filtering rules received from modem on LAN/WLAN endpoints - Add ICMP/ALG related WAN DL filtering rules - Change WLAN header to support new format - Not configure rules for AMPDU pipe Change-Id: I7ee848099cfaaae1523d9cbebf59268bc0e7cfed Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2013-04-23(1) support ECM plug/unplug behavior to configure/delete ECM relatedRavi Gummadidala
filter and routing rules without monitoring iface up/down. Current USB-team didn.t bring up/down ecm0 ifaces. (2) Solve the ECM usb-unplug, RT-rules are not clean issue. Change-Id: I17c928ae0caf36c9c235d73d286c1699651735bb
2013-04-19Support ipv4 brdige0 changes, IPACM will get all wifi-client/ecm-clientRavi Gummadidala
with ipv4-address coming from bridge0 Change-Id: I6bb4e77a06b39fe307fd6230be3fd1ef1caf0625
2013-04-15Support if wlan ipv4 new_addr comes earlier than AP_connectRavi Gummadidala
from WLAN_driver Change-Id: Idf222d0ac9a063af40e199387bffb71a4d434c8f
2013-03-14Various fixes from bring-up:Ravi Gummadidala
1. Support wlan iface only has ipv4, ipv6 or both properties 2. Compatible to if WLAN only has v4 or v6 or both properties 3. Resolve the dependency on WLAN's changes 4. Solve the issue about primg iface becomes wlan iface issue 5. Add error-check codes in IPACM_iface manager to not open instance for unknown iface & category 6. Update the IPACM_cfg.xml to support ecm0 7. Add ecm0 iface, ALG ports in IPACM_cfg.xml files 8. Implement a workaround where we do not insert any rule pointing to the common LAN routing table in the filter table of WLAN Rx pipe Change-Id: Ib32c8f13662e7ab4d8e1e4d0c53e93e9cba15495
2013-03-12Add ipv6 header config, firewall enhancementRavi Gummadidala
a. Support ipv6 header configuration for WLAN and also the AP+STA mode WAN iface b. Support v6 RT rule construction for wifi-client c. add firewall enable/disable support for QCMAP_CLI d. support firewall rules action: allow/drop for QCMAP_CLI Change-Id: I9db8fc329f449b6db2578eaa076db7049025f1dc
2013-03-07Additional fixes from bring-up:Ravi Gummadidala
1. added support for wlan events 2. disabled wlan power events 3. fixed issues found during testing 4. changed dump messages format of ipa nat table Change-Id: I6d2b3caeb2061db0a59ccd843606e05901533f76
2013-03-01Fixed below issues found during IPA bring up:Ravi Gummadidala
1. Fix ipv6 ping fail 2. Fix ipv6 rule address-reverse order issue 3. Fix duplicate filter rule deletion issue 4. Fix Software-routing checking issue 5. fix wlan down first wan down next issue Change-Id: I816ee5766f9e291f94a76a67efef6c5971ff9a18
2013-02-28IPA configuration manager daemon and IPA NAT library.Ravi Gummadidala
These are user-space components which configure IPA (Internet Protocol Accelerator) HW using the services provided by the IPA driver (running in kernel space). NAT stands for Network Address Translation. This is the initial commit of these components. Change-Id: I0934f54c36a7134af143e4f1cd9fbb0682df52d0