summaryrefslogtreecommitdiff
path: root/ipacm/src/IPACM_Netlink.cpp
AgeCommit message (Collapse)Author
2018-11-06ipacm: get usb_link_up from usb-driverSkylar Chang
Made the change to get usb_link_up from usb-driver instead of using netlink event to resolve the timing issue between usb-driver and android framework. Also not self-posting the usb-up from downstream event which was used to support ipcam restart phase 3. Change-Id: I3549cfbfbb5f41fa5ed99a43f00c6d8b4333b8e5
2018-05-17ipacm: ignore iff_flags change for rmnet_dataMohammed Javid
For rmnet_data interfaces we expect only the IFF_UP flag to change. Make a change to ignore any other flags. Change-Id: I351fdfc98129965bdd81d4ae7aaf638995200080
2017-11-20ipacm: KW fixMohammed Javid
KW fix to prevent use of banned functions. Change-Id: I75b01f4359b863159fc40966ed423002a0fa7929 Acked-by: Pooja Kumari <kumarip@qti.qualcomm.com>
2017-11-10ipacm: fix the KW issueSkylar Chang
Instead of using strncpy, change to use stnlcpy to resolve the KW issues. Change-Id: Ia26b1e8e5d5aba1a9e9dc469e1cd97b2e508d542
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-07-09IPACM: add support for L2TPShihuan Liu
Add support for L2TP in IPACM. For WLAN->ETH direction, we use UCP to do two-pass processing to add 80 bytes header. For ETH->WLAN direction, we use UCP to do single-pass processing to remove 80 bytes header. Change-Id: I296aee0fe857a7db4fc29f87c833224d7c0ffd9d Acked-by: Shihuan Liu <shihuanl@qti.qualcomm.com>
2017-05-01ipacm: fix the heap-use-after-free issue on bootupSkylar Chang
On device bootup, ASAN was reported IPACM has the heap-use-after-free issue on IPACM_Netlink.cpp file when bootup. The fix is to move the debug prints before the events are getting posted and processed. Change-Id: Id0a1b4e85d2d3fb027729ff6e98e25d26a9e638a
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-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-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-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
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-23IPACM: filter out AF_BRIDGE netlink messageSkylar Chang
In android platform, we observed the unexpected dellink event is coming when usb-tethering is on and enable wlan-AP hotspot next. Therefore IPACM will think usb iface is down and clean up all the rules on USB-RX pipe in IPA-HW. The fix is to filter out these unexpected events which comes with IP family: AF_BRIDGE. Change-Id: Id97c5c57d69d6ebf578d58ae134838166d4218e0
2014-07-25IPACM: Fix klocwork issue on master branchSkylar Chang
Fix some potential memory overflow/leak issue reported by Klocwork tool. Change-Id: I63ff06ffbf4920d733f4e82d0823666874e79d19
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-06-26IPACM: fix file descriptor issueSkylar Chang
IPACM needs to open file descriptor and ioctl to IPA-driver to install/remove the rules and it should close all the file descriptor when it finished. Change-Id: I72a11b705523a7122a6889641eb18b696dbc8c8b
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-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-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>
2014-01-10IPACM: fix firewall rule, ecm RT rule missingSkylar Chang
Fix firewall rules are not read issue, also fix ecm client routing rule missing issue. Change-Id: Iceaa7d7b79baec1fee484ed91c21ce4ff164e14d
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-11-13IPACM: increase netlink socket buffer sizeSkylar Chang
looks like in some customer's builds, the netlink socket messages are missing due to the unsufficient socket buffer size. In order to resolve this, we increase the socket buffer size. Change-Id: I0b76e8d2ece47043801be405c85166bf6000c2f3 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-04Here is some code-change forRavi Gummadidala
1. fix the header not clean issue in AP+STA mode for v6 2. checking the wifi client RT rule is setup or not when receive power-save mode to delete Change-Id: I2f8cdd39db8813645714c6df8ec5f6a6a7efb5f5
2013-03-25This fix includes:Ravi Gummadidala
(1) Support if wlan/lan/wan iface if no rx-property registered, IPACM won.t setup the filtering rules and not delete them. (2) Fix ipv6 default route issues: originally we listen for .ip -6 route add default dev rmnet1 metric 1024 ., but it never comes. So we change to listen.Route ADD ::/0 Next Hop: fe80:0000:0000:0000:3013:d30f:9025:6704,metric 1024, dev rmnet1. Somehow the second one comes multiple time, now I add error-checking to avoid set duplicate rules Change-Id: If63b22a9836a50ee8660e447330efee8fd247ec6
2013-03-22Fix the ipv6 default routeRavi Gummadidala
Basically we need either one of this message from netlink_socket to setup v6-rule, now it seems we always get (2) similar thing. so I add codes to support both cases (1) ip -6 route add default dev rmnet1 metric 1024 . before I only listen for this (2) Route ADD ::/0 Next Hop: fe80:0000:0000:0000:3013:d30f:9025:6704, metric 1024, dev rmnet1 . now we also support this Change-Id: I35af45dab73d5ebff80bf8cbc570ada21e9d267c
2013-03-20From Skylar "There are some modification on netlink things to process ↵Ravi Gummadidala
new_neighbor messages, also IPACM_neighbor is to handle construct correct iface name. The WLAN changes will be 1. Duplicated table 2. Increase 2 filtering-rules which we discussed this afternoon" From Sunil "Fixed RNDIS TCP UL/DL reset issue"" Change-Id: I9f1cd5902f23921a5bb7f9beebf36f8ea29e4271
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-04Fixed crashes found during Bring upRavi Gummadidala
Change-Id: I220d7e538b019f5c7e838b3b933252ae627ba6b7
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