summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Process packets in bursts.HEADreplicant-6.0-0004-transitionreplicant-6.0-0004-rc6replicant-6.0-0004-rc5-transitionreplicant-6.0-0004-rc5replicant-6.0-0004-rc4replicant-6.0-0004-rc3replicant-6.0-0004-rc2replicant-6.0-0004-rc1replicant-6.0-0004replicant-6.0-0003replicant-6.0-0002replicant-6.0-0001stable/cm-13.0-ZNH5Ycm-13.0Lorenzo Colitti2016-06-085-27/+44
| | | | | | | | | | | | Add a "packet_burst" config option that will cause clatd to read (and write) in bursts of up to that number of packets, instead of always only reading one packet at a time. This reduces poll overhead and improves performance. The variable is initially set to 10. Bug: 24113287 Change-Id: I7feba4127538c5a89f92e0ebea1fb75971d6b901
* Run the receive path in its own thread.Lorenzo Colitti2016-06-081-8/+38
| | | | | Bug: 24113287 Change-Id: I3e77f5d5e9fcc47819f2a9fe60cff4aa7f97a8bd
* clatd: Fix packet corruption seen with GRO packetsSubash Abhinov Kasiviswanathan2016-05-233-8/+9
| | | | | | | | | | | | | | | | MTU serves a dual purpose for CLAT. The segment size of the packet ring is based on the MAXMTU apart from the interface MTU itself. GRO coalesce happens on the receive path which is not affected by the MTU (transmit). In other words, increasing the MAXMTU does not affect if a GRO coalesced packet is delivered to CLAT. It only affects the amount of data being read from the TPacket ring. Introduce a new parameter MAXMRU which handles the increased MRU to account for GRO packets. Increase the ring size to compensate for the larger segments to maintain the same throughput as earlier. Change-Id: I30057970973b99181505e698f64e7fa5aa0a27d9
* Merge branch 'LA.BF64.1.2.2_rb4.9' of ↵stable/cm-13.0-ZNH2KBstable/cm-13.0-ZNH2Kstable/cm-13.0-ZNH0ESteve Kondik2015-12-079-82/+24
|\ | | | | | | | | | | git://codeaurora.org/platform/external/android-clat into cm-13.0 Change-Id: I8ff75c228032b83459bfc1090488fb670c01734e
| * clatd: Relay checksum information from packet socket to TUN interfaceSubash Abhinov Kasiviswanathan2015-11-156-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this change, we can notify network stack to disable checksum validation for GRO packets as well as other packets which have checksum validation completed earlier in a driver. GRO packets have the ip_summed field set to CHECKSUM_PARTIAL while checksum offloaded packets have the ip_summed field as CHECKSUM_UNNECESSARY. Kernel copies this ip_summed field to the status field in the tpacket filter. The information from the status field is then passed as part of the TUN header to the TUN interface. Any other packet will have the complete checksum validation done in the network stack. Note that this only applies to packets which are captured in packet sockets and passed onto the TUN interface. Change-Id: I536c0356cbbf30fed7ecda5fdd0d38fa0dfd7bf3
| * Revert "clatd: Use the TUN_NOCHECKSUM flag for the tun device"Subash Abhinov Kasiviswanathan2015-11-154-77/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7efed4e30259da5348c4a7c2c77a0d0d4b13834d. This change may bypass checksum validation for all packets even if they have not been validated earlier. Hardware supports checksum offload for IPv4 / IPv6 UDP and TCP packets only. ICMPv4 / ICMPv6 / fragmented packet checksum offload is not supported and as a result the checksum will not be validated even once before these packet are delivered to the application. Change-Id: I28152b63bb432c3dc37fe7a713c3b225a662f678
* | clatd: Fix compilation warningsSteve Kondik2015-11-041-4/+0
|/ | | | Change-Id: Icd63e74aa14d1fe4d3220134bd17fc222492ea2d
* clatd: Use the TUN_NOCHECKSUM flag for the tun deviceSubash Abhinov Kasiviswanathan2015-10-124-0/+77
| | | | | | | | | This is needed to handle cases when the packet socket receives a GRO coalesced packet which will not have a valid TCP checksum. TUN_NOCHECKSUM is used only when the checksum has already been verified prior to this and GRO is being used. Change-Id: I1409967523152bb7620b4881526e78e8c222cc72
* am ca1976f4: am 9fbed20c: am 624e743c: am 8dccd379: am 05ff508a: Remove ↵Chih-Hung Hsieh2015-03-260-0/+0
|\ | | | | | | | | | | unused variables. * commit 'ca1976f4a486d48d5e96ac0bfa16560820bea777':
| * am 9fbed20c: am 624e743c: am 8dccd379: am 05ff508a: Remove unused variables.Chih-Hung Hsieh2015-03-260-0/+0
| |\ | | | | | | | | | * commit '9fbed20c70b0fd51c2e92e8073cf860d1a650af8':
| | * am 624e743c: am 8dccd379: am 05ff508a: Remove unused variables.Chih-Hung Hsieh2015-03-260-0/+0
| | |\ | | | | | | | | | | | | * commit '624e743cbfacffb4e1691138f97bd4980a76ac02':
* | | | am ea2105a3: am ce88200a: am 23d83ff2: am cca70d8b: am dce3ddf5: Call read ↵Lorenzo Colitti2015-03-260-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | on any event, not just on POLLIN. * commit 'ea2105a379cc829e3265ce5c37710c47b80dbd48':
| * | | am ce88200a: am 23d83ff2: am cca70d8b: am dce3ddf5: Call read on any event, ↵Lorenzo Colitti2015-03-260-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | not just on POLLIN. * commit 'ce88200a81198d1079c9364365e2aed152b7c365':
| | * | am 23d83ff2: am cca70d8b: am dce3ddf5: Call read on any event, not just on ↵Lorenzo Colitti2015-03-260-0/+0
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | POLLIN. * commit '23d83ff24853d74fe03de96bae23b17655f4546b':
* | | | | am 8e8840a4: am 917b21a7: am 5105819c: am 8a20092a: am 545bdca4: Remove ↵Elliott Hughes2015-03-260-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | unused #include. * commit '8e8840a421d585d0e0b698476099d7ace84a0849':
| * | | | am 917b21a7: am 5105819c: am 8a20092a: am 545bdca4: Remove unused #include.Elliott Hughes2015-03-260-0/+0
| |\| | | | | | | | | | | | | | | | | | * commit '917b21a7b0472d471d29c3f6c9a5b94f2ad2dbc7':
| | * | | am 5105819c: am 8a20092a: am 545bdca4: Remove unused #include.Elliott Hughes2015-03-260-0/+0
| | |\ \ \ | | | | | | | | | | | | | | | | | | * commit '5105819cc3cada594aa3417a68abbe93b432b99b':
* | | | | | am 7dbcac71: am 4a422699: am 247b3245: am 1772218b: am 3afe9ae1: Fix ↵Elliott Hughes2015-03-260-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit declaration of function \'prctl\' in clatd. * commit '7dbcac716d347262298336f91fcac60abf0caa71':
| * | | | | am 4a422699: am 247b3245: am 1772218b: am 3afe9ae1: Fix implicit declaration ↵Elliott Hughes2015-03-260-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of function \'prctl\' in clatd. * commit '4a4226997f70e92a0d6536d02655b57f381ae626':
| | * | | | am 247b3245: am 1772218b: am 3afe9ae1: Fix implicit declaration of function ↵Elliott Hughes2015-03-260-0/+0
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \'prctl\' in clatd. * commit '247b3245cb476ae7bb63532d6d55634dcaa707ad':
* | | | | | | am 96928e59: am 03832b98: am 6a92f66b: am 74aa4595: am 18921713: Remove ↵Elliott Hughes2015-03-260-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unused #include. * commit '96928e59ae4f88d716a0b56d52ede69c868e0c29':
| * | | | | | am 03832b98: am 6a92f66b: am 74aa4595: am 18921713: Remove unused #include.Elliott Hughes2015-03-260-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | * commit '03832b9817c64856664e805a5ac8fc43da023c3d':
| | * | | | | am 6a92f66b: am 74aa4595: am 18921713: Remove unused #include.Elliott Hughes2015-03-260-0/+0
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit '6a92f66b2f33884ef78139c14b54862ba09299f1':
* | | | | | | | am 803d3ef4: am b682729e: am 09d568fd: am be066f60: am 787ea969: Fix ↵Elliott Hughes2015-03-260-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit declaration of function \'prctl\' in clatd. * commit '803d3ef41ecd1513eda51da249f59194e45e1f74':
| * | | | | | | am b682729e: am 09d568fd: am be066f60: am 787ea969: Fix implicit declaration ↵Elliott Hughes2015-03-260-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of function \'prctl\' in clatd. * commit 'b682729e7353a280c4495a8a07416073613e0a67':
| | * | | | | | am 09d568fd: am be066f60: am 787ea969: Fix implicit declaration of function ↵Elliott Hughes2015-03-260-0/+0
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | \'prctl\' in clatd. * commit '09d568fda561d4915e9a222bea7487a5200dca69':
* | | \ \ \ \ \ \ Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release' into ↵Prerepa Viswanadham2015-03-240-0/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master_merge
| * | | | | | | | | Remove unused variables.Dan Albert2015-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3b1384e78c55b7327b6a635d0a853665cbb59e8b
| * | | | | | | | | Make the raw socket and the tun fd nonblocking.Lorenzo Colitti2015-03-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 49454814a0a714189916cb2aea1922bc8784b13b) Change-Id: I6c0e0fba64e9a785cd225e8c543df06e864db8e7
| * | | | | | | | | Switch the receive path to memory-mapped I/O with PACKET_RX_RING.Lorenzo Colitti2015-03-035-47/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 9353be2a5f1b4fd00b04e4c826f7f3c3ec6c5d46) Change-Id: Ifb35b4efae0363a2006f3bba002e44a0560f3014
| * | | | | | | | | Add missing include for IFF_BROADCAST to fix buildAlan Viverette2015-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit cfbb4ac47fb065c888b63b03a5697d24c9c5952e) Change-Id: I03411d12ef4f45fe0c0c14dd6f546108e272da93
| * | | | | | | | | Add a microbenchmark for tun write performance.Lorenzo Colitti2015-03-034-4/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit b20719ebf403b16d36a231aeef96607f8c7aa252) Change-Id: Ied5c60ceaf6ae3c80a3e0ac0785581e758158d20
| * | | | | | | | | Move send_tun into tun.c as well.Lorenzo Colitti2015-03-037-18/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also remove a redundant include in checksum.c. (cherry picked from commit 6b2007aacd13344c9bc73d5d858bd903b432c228) Change-Id: I8fd33ff52375b51e5d2f15b0a206d0a2dd3ba461
| * | | | | | | | | Move tun functions to a new tun.c.Lorenzo Colitti2015-03-035-47/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit ff6f7fe4bd983c623d490100fa17cdb4936b95a2) Change-Id: I1effc2309565375bbe98262dd602a0895ab49fcf
| * | | | | | | | | Android-Clatd: Remove unused variableAndreas Gampe2015-03-031-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For build-system CFLAGS clean-up, fix unused-but-set variables. (cherry picked from commit fee9afb1a5d9f7f5df0c79e29368c61d7da16fb8) Change-Id: Icacc158baae40d18f56bb32bb400ae6e765b0dad
* | | | | | | | | | am 93be7592: (-s ours) reset to lmp-mr1-dev-plus-aosp with history. DO NOT ↵Qiwen Zhao2015-03-220-0/+0
|\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MERGE ANYWHERE. * commit '93be75925f18873ba28fffd4c11a2a2004c7312d':
| * | | | | | | | | reset to lmp-mr1-dev-plus-aosp with history. DO NOT MERGE ANYWHERE.Qiwen Zhao2015-03-200-0/+0
| |\ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / | |/| | | | | | | / | | | |_|_|_|_|_|/ | | |/| | | | | |
| | * | | | | | | am 8dccd379: am 05ff508a: Remove unused variables.Chih-Hung Hsieh2015-03-201-2/+1
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | * commit '8dccd3794fa07bd6ebcb9c82172860f7fd631855': Remove unused variables.
| | * | | | | | | am cca70d8b: am dce3ddf5: Call read on any event, not just on POLLIN.Lorenzo Colitti2015-03-200-0/+0
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | * commit 'cca70d8b359709a1fb6989f30f278c4a9e86deb9':
| | * | | | | | | am 8a20092a: am 545bdca4: Remove unused #include.Elliott Hughes2015-03-200-0/+0
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | * commit '8a20092a0781bab6bbe61df53c0f876655d047da':
| | * | | | | | | am 1772218b: am 3afe9ae1: Fix implicit declaration of function \'prctl\' in ↵Elliott Hughes2015-03-200-0/+0
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clatd. * commit '1772218b15121991fbe21c845be526636ea3762b':
| | * | | | | | | am 74aa4595: am 18921713: Remove unused #include.Elliott Hughes2015-03-200-0/+0
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | * commit '74aa459500f76eb3232df26ecdd6790110ade80a': Remove unused #include.
| | * | | | | | | am be066f60: am 787ea969: Fix implicit declaration of function \'prctl\' in ↵Elliott Hughes2015-03-200-0/+0
| | |\ \ \ \ \ \ \ | | | |_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clatd. * commit 'be066f6079f511fc76cb58e3678f7bc315d6408b': Fix implicit declaration of function 'prctl' in clatd.
* | | | | | | | | am 6ea37346: Remove unused variables.Dan Albert2015-02-201-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '6ea37346ad20ac623312051b293bf5656e8072f6': Remove unused variables.
| * | | | | | | | Remove unused variables.Dan Albert2015-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I3b1384e78c55b7327b6a635d0a853665cbb59e8b
* | | | | | | | | am 4cc75ff1: am 49454814: Make the raw socket and the tun fd nonblocking.Lorenzo Colitti2015-02-201-2/+10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4cc75ff1ce527949387107d9d140fb6a69e5e1f0': Make the raw socket and the tun fd nonblocking.
| * | | | | | | | am 49454814: Make the raw socket and the tun fd nonblocking.Lorenzo Colitti2015-02-201-2/+10
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '49454814a0a714189916cb2aea1922bc8784b13b': Make the raw socket and the tun fd nonblocking.
| | * | | | | | | | Make the raw socket and the tun fd nonblocking.Lorenzo Colitti2015-02-031-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I29a3d510ba0b766488bbd66d57829d9aaf70d21d
* | | | | | | | | | am f007c63f: am 9353be2a: Switch the receive path to memory-mapped I/O with ↵Lorenzo Colitti2015-02-205-47/+219
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PACKET_RX_RING. * commit 'f007c63fd437d1bd979bbe3882948776485ef55c': Switch the receive path to memory-mapped I/O with PACKET_RX_RING.
| * | | | | | | | | am 9353be2a: Switch the receive path to memory-mapped I/O with PACKET_RX_RING.Lorenzo Colitti2015-02-205-47/+219
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9353be2a5f1b4fd00b04e4c826f7f3c3ec6c5d46': Switch the receive path to memory-mapped I/O with PACKET_RX_RING.