summaryrefslogtreecommitdiff
path: root/ipacm/inc/IPACM_Wan.h
AgeCommit message (Collapse)Author
2018-08-07ipacm: send all IPv6 framents to IPA appsMohammed Javid
In case of TCP, if the ipv6 packets are fragmented there is a possibility that the second fragment packets match TCP SYN/FIN/RST rules and packets are routed to apps. This results in connection failure as the primary fragment will be routed correctly to hotspot client. Change-Id: I482b48c4786bda180b6f5d921149fed766c91fe0
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-09-12ipacm: fix the v6-offload issue on AndroidSkylar Chang
Remove the check on how many ipv6 addresses are received from modem interface, fix the client prefix comparison logic which contradicts with MDM requirement to only offload tethered-clients who has same prefix as modem interface. Change-Id: Ib4b2f9e67f5c92021956c3ecb963cfed7f016959
2017-08-21IPACM: Support Dual embedded & rmnet callSkylar Chang
Change DL TCP SYNC/RST/FIN ipv6 filter rules to meta-data based rules to avoid DL tcp v6 SYNC-ack back to AP in rmnet-call. Change-Id: I34b56e2bc008e744d7685ae8774705e597952960
2017-07-22IPACM: handle the timing issue on upstream_delSkylar Chang
When CNE send upstream_del event to IPACM after tethered iface down, WAN instance is unable to clean up its v4/v6 tethered list. Add the support to handle this timing issue. Change-Id: I7601c70749e0cd30ef951c99d2ea601ecc4c9201
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-26IPACM: adjust ip type maintenance logicSkylar Chang
Adjust the maintenance logic of interface ip type so that IPACM won't fail to install IPv6 default filtering rules. Change-Id: I1955d991633e0f7d88964e1a47e5c00b7df134b1 Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com> Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-08-23ipacm: changes related to IP PasshthroughSridhar Ancha
In IP passthrough, WAN interface will be assigned a private ip address. NAT rules related this IP need to be added to the HW so that there will not be any exceptions. Give provision in XML using which QCMAP indicates passthrough mode. Whenever passthrough mode is enabled and the private ip matches with wan ip, nat rules will be added to the HW. Change-Id: I7e82b6f55391da20f5c5db9e00bc83508b7f8788
2016-04-11IPACM: add ethernet header for ipv6 DL trafficSkylar Chang
In AP+STA/CRADLE modes, the catch-up DL routing rule will not retain the header for ipv6 traffic and be dropped on kernel. The fix is to use hdr_proc_context to add the ethernet header to make SW-path working Change-Id: I415c28c70066bbe97217200e26b7282cf5ee2761
2015-10-21Merge "IPACM: Fix to clean up default LL routes"Linux Build Service Account
2015-10-13Merge "IPACM: Fix the UL traffic taking SW-exception"Linux Build Service Account
2015-10-12IPACM: Fix to clean up default LL routesRavinder Konka
When IPv4 only call is brought up, interface will still have v6 LL address and we go ahead and add default routes. When the call is torn down, we do not clean this as there is no global v6 address. Make a change to clean default LL routes in this case. Change-Id: I7e203aa82a03351cb94f65ea89fa57bd3f1059a9
2015-10-08IPACM: Fix the UL traffic taking SW-exceptionSkylar Chang
When LTE comes first with usb/wlan-tethering enable lately from android UI, IPACM failed to add modem UL filter rules if it's getting UPSTREAM_add event from CNE earlier then the usb/wlan netdev creation event from netlink. The fix is to handle this timing issue. Change-Id: I6452c1bb880bcaec2232784b117e22a2d12c6e8f
2015-10-07Merge "IPACM: Fix the ipv6-only AP+STA use-case"Linux Build Service Account
2015-09-30IPACM: Add support to get tether statsSkylar Chang
This changes provides the support to to get tether stats. Change-Id: I668a8fa3ffbab2c714d09543e6d2a7e67ff55eff
2015-09-29IPACM: Fix the ipv6-only AP+STA use-caseSkylar Chang
For ipv6-only AP+STA, SoftAP won't posting v6 default route event to IPACM because of its new feature called priority backhaul. Therefore IPACM needs to listen for RTPROT_RA netlink event instead to find the externel AP's mac and construct the full wlan header. Change-Id: I8fb0135f473e31bb87b46f4a437292dc7931f722 Acked-by: Skylar Chang <chiaweic@codeaurora.org>
2015-07-02IPACM: Suppor IPA stats update in ENFORCE modeSkylar Chang
Add support in IPACM to update android tethering stats in Android ENFORCE mode to CNE and Android framework. Change-Id: I1fd833db63f92f8240b80954b400efbd0d3c9a8b
2015-06-24Merge "IPACM: add TCP SYN/FIN/RST flt rules"Linux Build Service Account
2015-06-17IPACM: add TCP SYN/FIN/RST flt rulesSkylar Chang
Add TCP SYN/FIN/RST filtering rules on both UL and DL pipes. Change-Id: I0498c76c02d54f91f8e4bd2c0ca5e4d45977a5fa
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-03-05Merge "IPACM: Add support for IHL based filtering of IPv6 fragement packets"Linux Build Service Account
2015-02-26IPACM: Add support for IHL based filtering of IPv6 fragement packetsSkylar Chang
For IPv6 DL fragmented packets, if port and attributes based rules are matched and the firewall is enabled then route the packets to A7. Otherwise route the IPv6 fragmented packets to IPA HW. Change-Id: I0d9c8ef16fb2427389d2456a3c6bf8fd92828308
2015-02-26IPACM: update dst mac address correctlySkylar Chang
use the dst mac address offset sent by client while constructing the full client header Change-Id: I23b610111d926a7ef9a0773c21b5d9b8beffa1c0 Acked-by: Sunil Paidimarri <hisunil@qti.qualcomm.com>
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-06Merge "IPACM: support external-AP running bridge mode"Linux Build Service Account
2015-02-03IPACM: support external-AP running bridge modeSkylar Chang
To support MTP running as AP+STA mode and connect to external-AP which is running as bridge mode, IPACM needs to construct the ethernet header by using the mac-addr which matched the default gw IP instead of directly using external-ap's MAC via wlan-driver sent. Change-Id: I4af3d244863dac40e5f44078a236b803b702faf1
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-14IPACM: fix external AP switch issueSkylar Chang
When device keep switching between external AP1 and AP2, sometimes getifaddrs API returns old ipv4 of STA iface which causes IPACM passing the wrong wan-ip for IPANAT tbl. The fix is to wait netlink socket to tell IPACM the updated STA iface ipv4-addr. Change-Id: I000e45f10dcb726059f6c161b4514a128ed7754c
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-06IPACM: Fix IPv6 DL fragmented packet issueSkylar Chang
For IPv6 DL fragmented packets, if the firewall is enabled, route the packets to A7. Otherwise route the IPv6 fragmented packets to IPA HW. Change-Id: I4a247a78351b8baeb4a92c8a6b0f903aed71ebe6
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-09-15IPACM: Fix AP+STA mode FTP loca-subnet disconnect issueSkylar Chang
In AP+STA mode, usb-client can download FTP if FTP server outside the subnet of external AP. However if the FTP server is insided the same subnet as external-AP, the FTP download will failed, also TCP UL/DL is not working properly. The fix is to construct headers/routing rules for each wifi-client which is connected to the same external AP's subnet. Change-Id: I839d33d34b4fd544381b9cf7bd2ba20b51a17551
2014-08-18IPACM: Add dynamic support for swtiching between SW/HW pathSkylar Chang
Add support for enabling dynamically swtich between ipa HW-path and SW-path Change-Id: Ib3e8297464c8fec3607be301d731f68e0f698f52
2014-07-09Merge "IPACM: fix IPv6 embedded call not working issue"Linux Build Service Account
2014-07-09Merge "IPACM: support upstream wan iface in Android"Linux Build Service Account
2014-07-08IPACM: fix IPv6 embedded call not working issueSkylar Chang
Fix IPv6 embedded data call not working issue. Specifically, we added WAN interface IP based filtering rule on WAN pipe when WAN is USB cradle or WLAN STA, and added IPv6 prefix based filtering rule on LAN pipe to make embedded IPv6 data path work. Change-Id: I97eab078cdb1ed25298922515d1bb99e50bbbfff
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-07-01IPACM: Fix end2end ipv6 ping issueSkylar Chang
Identify the root-cause of end2end ipv6 ping issue is because the NS/NA packets are not retaining the ethernet header when RT miss go Apps in AP+STA mode or ecm-backhaul cradle mode. The fix is to add icmpv6 filter rule on wan RX endpoint when device is in AP+STA or cradle ecm-backhaul mode. Change-Id: I1c763b38b9ec524c35f381e59dd0ca5cefaf1f7c
2014-05-25IPACM: add support for multi-PDNSkylar Chang
When multiple modem PDNs are brought up, Internet PDN can be any interface from rmnet_data0 to rmnet_data7. We add support in IPACM to handle modem multi-PDN use case. Change-Id: I9a54d083eeead55c944cd1805b6de17991b3ebfa
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-03IPACM: fix v6 wan link-down up issueSkylar Chang
The DL filter rules installed in modem endpoints are not clean when v6 backhaul is down, also the v6 static rules installed in all LAN ifaces are not clean. The fix is to avoid duplicate externed property query and only install one sets of rules. Change-Id: Iba305b32be3f6031894076eeeb212a9d6d4f6630
2014-04-22IPACM: Fix firewall rule IP address order problemRavi Gummadidala
When IPACM install rules on A7 side, it specifies IP address in host order. But modem expects rules in network order. This fix changes IP address to network order before sending rules to modem. Change-Id: I938fde28f6ca9b3d4f13d1cb2e45bb0b7d5681cb
2014-03-20IPACM: support 8994 linux Android buildSkylar Chang
changes are needed to make IPACM compile in Android platform as 8994 for example Change-Id: Ic3aa95cb962a5ec7cae1a622d9355afad7986a3c Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
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-03-15Various fixes from bringup:Ravi Gummadidala
1. Fix all iface v6-address issue, adding error-checking 2. Fix wan-iface default filtering rule order for both v4v6 3. Add 2 v6 routing table: COMRTBLv6 and WANRTBLv6 4. For ipv6 work-around way, if can't find wifi-client for v6, send to A5 5. For v6 backhaul iface rx endpoint, default route is send to A5 Change-Id: I488107f91568f9e1c8ab3270ce885830b05adb0e
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