3341
Comment:
|
28325
Escape smiley
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
Linux 3.19 has NOT been released. | /!\ WARNING /!\ THis document is not complete. You can also read about Linux 3.19 in LWN: LWN merge window, [http://lwn.net/Articles/625146/ part 1], [http://lwn.net/Articles/626150/ part 2], [http://lwn.net/Articles/627202/ part 3]. |
Line 7: | Line 7: |
Summary: (not ready) | |
Line 8: | Line 9: |
Summary: (not completed) |
[[TableOfContents()]] |
Line 13: | Line 13: |
Btrfs added support for [http://kernelnewbies.org/Linux_3.8#head-1fd494f6aeba0abd271e483ff9732afeb3544368 fast&live device replacement] (see btrfs-replace(8)), much faster and efficient than adding the new device and removing the old one in separated commands (see btrfs-device(8)). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation. | Btrfs added support for [http://kernelnewbies.org/Linux_3.8#head-1fd494f6aeba0abd271e483ff9732afeb3544368 fast&live device replacement] (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-replace btrfs-replace(8)]), much faster and more efficient than adding the new device and removing the old one in separated commands (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-device btrfs-device(8)]). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation. |
Line 15: | Line 15: |
The process of scrubbing a btrfs filesystem (see btrfs-scrub(8) was also not available in RAID 5&6 filesystems, this limitation has also been removed in this release | The process of scrubbing a btrfs filesystem (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub btrfs-scrub(8)]) was also not available in RAID 5&6 filesystems, this limitation has also been removed in this release |
Line 19: | Line 19: |
== Support for the Intel Memory Protection Extensions == Intel's [http://en.wikipedia.org/wiki/Intel_MPX Memory Protection Extension] (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. Intel MPX introduces new registers and new CPU instructions that operate on these registers. Modified compiler, runtime libraries and kernels can make use of these instructions to allow MPX hardware to prevent buffer overflow exploitation. This Linux release adds support in the Linux kernel. Note: CPUs with MPX support are not in the market and will be introduced with the Intel Skylake and Goldmont microarchitectures. Recommended LWN article: [http://lwn.net/Articles/582712/ Supporting Intel MPX in Linux] Recommended Intel article: [https://software.intel.com/en-us/articles/introduction-to-intel-memory-protection-extensions Introduction to Intel Memory Protection Extensions] Code: [http://git.kernel.org/linus/95290cf13e561b52dceadb9a8b8ee8ff2464b142 commit], [http://git.kernel.org/linus/4aae7e436fa51faf4bf5d11b175aea82cfe8224a commit], [http://git.kernel.org/linus/57319d80e1d328e34cb24868a4f4405661485e30 commit], [http://git.kernel.org/linus/fcc7ffd67991b63029ca54925644753d534ddc5f commit], [http://git.kernel.org/linus/fe3d197f84319d3bce379a9c0dc17b1f48ad358c commit], [http://git.kernel.org/linus/1de4fa14ee25a8edf287855513b61c3945c8878a commit], [http://git.kernel.org/linus/5776563648f6437ede91c91cbad85862ca682b0b commit] == HSA driver for AMD GPU devices == HSA, or Heterogeneous System Architecture, is a type of computer processor architecture that integrates central processing units and graphics processors on the same bus, with shared memory and tasks. HSA allows different processor types (CPUs, DSPs, GPUs, etc..) to share system resources more effectively via HW features including shared pageable memory, userspace-accessible work queues, and platform-level atomics. This release includes HSA support for radeon-family processors, and offers an API that is used by a [https://github.com/HSAFoundation/HSA-Runtime-Reference-Source HSA open-source library] developed by AMD. For more details about the HSA library and possibilities that HSA offers to userspace apps, see the previous link. Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/amdkfd drivers/gpu/drm/amd/amdkfd] == ARM Coresight support == Coresight is an umbrella of technologies allowing for the debugging of ARM based SoC. ARM has developed a HW assisted tracing solution by means of different components, each being added to a design at systhesis time to cater to specific tracing needs. Components are generally categorised as source, link and sinks and are (usually) discovered using the AMBA bus. "Sources" generate a compressed stream representing the processor instruction path based on tracing scenarios as configured by users. From there the stream flows through the coresight system (via ATB bus) using links that are connecting the emanating source to a sink(s). Sinks serve as endpoints to the coresight implementation, either storing the compressed stream in a memory buffer or creating an interface to the outside world where data can be transferred to a host The Linux Coresight framework provides a kernel interface for the Coresight debug and trace drivers to register themselves with. It's intended to build a topological view of the Coresight components based on a DT specification and configure the right series of components when atrace source gets enabled. For more details about the Linux Coresight framework: see [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/trace/coresight.txt Documentation/trace/coresight.txt] For details about ARM Coresight: http://www.arm.com/products/system-ip/debug-trace/ Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/coresight drivers/coresight/] == New architecture: Altera Nios II processors == This release adds support for Altera Nios II processors. Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control. For more information about the Nios II processors see http://www.altera.com/literature/lit-nio2.jsp For more information on how compiling and booting software for the Nios II platform: http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/nios2 arch/nios2] == Networking: support for routing and switching offloading == This release includes infrastructure to support hardware switch chips (in very generic meaning of the word "switch"). This include devices supporting L2/L3 but also various flow offloading chips, including switches embedded into SR-IOV NICs. Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for [https://github.com/sfeldma/qemu-rocker/ emulated switch chip implemented in qemu]. Code: [http://git.kernel.org/linus/020ec6ba2a0c4c1e147c506a0970b58a90d1146b commit], [http://git.kernel.org/linus/b7485f6b035a87685ce35e0e52deee6467811eb0 commit], [http://git.kernel.org/linus/93859b13fa7ecef9d4d8bab4a7acc9f212c8fce2 commit], [http://git.kernel.org/linus/f6f6424ba773da6221ecaaa70973eb4dacfa03b2 commit], [http://git.kernel.org/linus/02637fce3e0103ba086b9c33b6d529e69460e4b6 commit], [http://git.kernel.org/linus/007f790c8276271de26416f90d55561bcc96588a commit], [http://git.kernel.org/linus/82f2841291cfaf4d225aa1766424280254d3e3b2 commit], [http://git.kernel.org/linus/aecbe01e7410ad2de022796472f531ae6941f15e commit], [http://git.kernel.org/linus/38dcf357aed299186ecb090cc2f5290cc17d637d commit], [http://git.kernel.org/linus/cf6b8e1eedffd9ef9a22c0c9453d752b07daf89a commit], [http://git.kernel.org/linus/065c212a9e25172069f368b36228379521dadb65 commit], [http://git.kernel.org/linus/efacacdaf7cb5a0592ed772e3731636b2742e34a commit], [http://git.kernel.org/linus/345cd494a324c149ef7293f4bedf2d7131a6de7c commit], [http://git.kernel.org/linus/2c3c031c8f8930861815fa1685d7c5e8ccec047c commit], [http://git.kernel.org/linus/4b8ac9660af07be6f6602b523929793eed314997 commit], [http://git.kernel.org/linus/9f6bbf7cfcb4dd734ce6c3fe7e512274311de380 commit], [http://git.kernel.org/linus/6c7079450071f889b4c2b55f8d030b1a5e859401 commit], [http://git.kernel.org/linus/ce76ca689dfe0bafba21b0dc002c7f92eb629fd8 commit], [http://git.kernel.org/linus/5111f80cbc759bed12941678bd029fca76512815 commit], [http://git.kernel.org/linus/e75605822e3190a1bd7935599e93f13ab1ba7c9d commit], [http://git.kernel.org/linus/51ace887a0c08cc431f99d46ab63c6b316052640 commit] == NFSv4.2 support for hole punching and preallocation == This release adds support for hole punching and preallocation in NFSv4.2 setups Code: [http://git.kernel.org/linus/f4ac1674f5da420ef17896f0f222c5215ebcde80 commit], [http://git.kernel.org/linus/624bd5b7b683c978c6d5f4e9f6142cfb3470983d commit], [http://git.kernel.org/linus/95d871f03cae6b49de040265cf88cbe2a16b9f05 commit], [http://git.kernel.org/linus/b0cb9085239a20b7482ddd4839dd1d5476801dfa commit] |
|
Line 25: | Line 79: |
* EXT4 * Create nojournal_checksum mount option to disable journal checksumming (because the metadata_csum feature turns it on by default now) [http://git.kernel.org/linus/c6d3d56dd0ef6c15fc007413c9d024021c178cf9 commit] * Prevent online resize while using backup superblock [http://git.kernel.org/linus/011fa99404bea3f5d897c4983f6bd51170e3b18f commit] * F2FS * Introduce "fastboot" mount option for reducing mount time as much as possible, even though normal performance can be sacrificed [http://git.kernel.org/linus/d5053a34a9cc797b9d5d77574354b5555848c43c commit] * Support storing directory entries inside inode page, can be enabled with "inline_dentry" mount option [http://git.kernel.org/linus/34d67debe02b3b2b035b5bdce0fab75800f9a344 commit], [http://git.kernel.org/linus/201a05be9628ae58efe7638e0c7ae3937ec85273 commit], [http://git.kernel.org/linus/622f28ae9ba4fa89b4ff0f4a6cf75d153ea838ce commit], [http://git.kernel.org/linus/5efd3c6f1be9cfbc621c9445cedd159998ed3ea6 commit] * Add "dirsync" to allow sync operation on directory operations [http://git.kernel.org/linus/b7e1d800031c827a80c9a9d03cf15e4dd5405a44 commit] * AFFS * Add support to O_DIRECT [http://git.kernel.org/linus/9abb408307008a19be5719bbf1d069bb3ed7aa60 commit] * Squashfs * Add LZ4 compression support [http://git.kernel.org/linus/9c06a46f1524a05b2dccf5c74d7555b2cfcbe5db commit] * CEPH * Support inline data feature [http://git.kernel.org/linus/65a22662bfe1a84d72b9bbd9146b6782b9e53478 commit] |
|
Line 26: | Line 98: |
* Make debug-pagealloc boottime configurable with kernel parameter debug_pagealloc [http://git.kernel.org/linus/031bc5743f158b2d5498294f489e534a31251626 commit] * Resurrect struct page extending code for debugging [http://git.kernel.org/linus/eefa864b701d78dc9753c70a3540a2e9ae192595 commit] * memcontrol: lockless page counters [http://git.kernel.org/linus/3e32cb2e0a12b6915056ff04601cf1bb9b44f967 commit] |
|
Line 27: | Line 103: |
* Remove artificial max_hw_sectors cap [http://git.kernel.org/linus/34b48db66e08ca1c1bc07cf305d672ac940268dc commit] |
|
Line 28: | Line 106: |
* RCU locking: Remove CONFIG_RCU_CPU_STALL_VERBOSE, future kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y [http://git.kernel.org/linus/0eafa46823971b4c368f4cdf19f1d081c4ee52b7 commit] * RCU locking: PREEMPT_RCU and TREE_PREEMPT_RCU serve the same function after TINY_PREEMPT_RCU has been removed, this release removes redundant TREE_PREEMPT_RCU config option [http://git.kernel.org/linus/28f6569ab7d036cd4ee94c26bb76dc1b3f3fc056 commit] * RCU: Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also add rcutree.kthread_prio boot option that sets the SCHED_FIFO priority of the RCU per-CPU and rcu boosting kthreads [http://git.kernel.org/linus/21871d7eff2c96ae67e18e00adf59d56940e2fcc commit] * Introduce new interfaces to support hierarchy irqdomains [http://git.kernel.org/linus/f8264e34965aaf43203912ed8f7b543c00c8d70f commit] * IPC: increase SEMMSL, SEMMNI, SEMOPM [http://git.kernel.org/linus/e843e7d2c88b7db107a86bd2c7145dc715c058f4 commit] fault-inject: add ratelimit option [http://git.kernel.org/linus/6adc4a22f20bbf3bbc754f1ec8c82be5dfb5c71a commit] |
|
Line 34: | Line 119: |
= Virtualization = * virtio_scsi: support multi hw queue of blk-mq [http://git.kernel.org/linus/ccbedf117f015d4f415130069b47d63c359bc110 commit] * tools: hv: introduce -n/--no-daemon option [http://git.kernel.org/linus/170f4bea2008054e5098f99359e29823a7b4b1b9 commit] hyperv: Add support for vNIC hot removal [http://git.kernel.org/linus/c3582a2c4d0baf1fa3955c8b3d3d61308df474c7 commit] |
|
Line 35: | Line 125: |
= Virtualization = | * IMA * Added support for new kernel cmdline parameter ima_template_fmt, it allows users to provide a custom template format [http://git.kernel.org/linus/c2426d2ad5027397342107b7ff094aa9b234acb8 commit] * Load x509 certificate from the kernel [http://git.kernel.org/linus/fd5f4e9054acbf4f22fac81a358baf3c27aa42ac commit] * Require signature based appraisal [http://git.kernel.org/linus/c57782c13ecd7e7aca66cbf0139ad2a72317dc81 commit] |
Line 37: | Line 132: |
* tracing: Allow NOT (``!) to filter AND (&&) and OR (||) clauses [http://git.kernel.org/linus/eabb8980a96cff42ae70cc6ab143f4003f02c874 commit] * perf annotate: Support source line numbers in annotate [http://git.kernel.org/linus/e592488c01d51763de847fcecb3d969231a483a9 commit] * perf callchain: Support handling complete branch stacks as histograms [http://git.kernel.org/linus/8b7bad58efb7e3aaff60f7c1fa4361fb8c23181d commit], [http://git.kernel.org/linus/fa94c36c29ed8bb4749b5fd7ea51a593f673dcef commit] * perf probe: Add --quiet option to suppress output result message [http://git.kernel.org/linus/5e17b28f1e246b98e08cb463f7d72cff6415fc53 commit] * perf record: Add new -I option to capture machine state registers at interrupt [http://git.kernel.org/linus/6a21c0b5c2abd2fdfa6fff79f11df3d6082c1873 commit], [http://git.kernel.org/linus/4b6c51773d86883a2e80cffadbe4f178ac1babd8 commit] * perf script: Add Python script to export to postgresql [http://git.kernel.org/linus/2987e32f75dcb40bce0f3ab1d5d48cc1c580fd8b commit] * perf tools: Add --buildid-dir option to set cache directory [http://git.kernel.org/linus/99ce8e9fce99147f865cda8a8e471900518c9a49 commit] * perf tools: Add gzip decompression support for kernel module [http://git.kernel.org/linus/e92ce12ed6a46302f64269d2d406cf04525f0a8f commit] |
|
Line 38: | Line 142: |
* net: allow setting ecn via routing table [http://git.kernel.org/linus/f7b3bec6f5167efaf56b756abfafb924cb1d3050 commit] * IPv6: Add a sysctl (use_optimistic and optimistic_dad) that causes an interface's optimistic addresses to be considered equivalent to other non-deprecated addresses for source address selection purposes. Preferred addresses will still take precedence over optimistic addresses, subject to other ranking in the source address selection algorithm. This is useful where different interfaces are connected to different networks from different ISPs (e.g., a cell network and a home wifi network) [http://git.kernel.org/linus/7fd2561e4ebdd070ebba6d3326c4c5b13942323f commit] * Generic receive offload: add a per device gro flush timer. This new mechanism is off by default, and shall be enabled by setting /sys/class/net/ethX/gro_flush_timeout to a value in nanosecond [http://git.kernel.org/linus/3b47d30396bae4f0bd1ff0dbcd7c4f5077e7df4e commit] * Add SO_INCOMING_CPU socket option, which allows userspace to ask for the CPU upon what a packet was received/steered [http://git.kernel.org/linus/2c8c56e15df3d4c2af3d656e44feb18789f75837 commit] * Allow eBPF programs to be attached to sockets [http://git.kernel.org/linus/89aa075832b0da4402acebd698d0411dcc82d03e commit] * Add support for remote checksum offload for Generic UDP Encapsulation (GUE), which is a mechanism that provides checksum offload of encapsulated packets using rudimentary offload capabilities found in most network devices. The outer header checksum for UDP is enabled in packets and, with some additional meta information in the GUE header, a receiver is able to deduce the checksum to be set for an inner encapsulated packet. Effectively this offloads the computation of the inner checksum. Remote checksum offload is described in http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00 . For more details and benchmarks, see the [http://git.kernel.org/linus/1d76c1d028975df8488d1ae18a76f268eb5efa93 merge commit]. Code: [http://git.kernel.org/linus/4bcb877d257c87298aedead1ffeaba0d5df1991d commit], [http://git.kernel.org/linus/5024c33ac354577635c5671498891eb197f3ec4d commit], [http://git.kernel.org/linus/e585f23636370320bc2071ca5ba2744ae37c3e51 commit], [http://git.kernel.org/linus/c1aa8347e73e4092411fbd96cc59531fb7e76d04 commit], [http://git.kernel.org/linus/b17f709a24013fcbb257f6f89b4d81ac9fdf0d18 commit], [http://git.kernel.org/linus/a8d31c128bf574bed2fa29e0512b24d446018a50 commit] * Netfilter nft_meta: add cgroup support [http://git.kernel.org/linus/ce674173e9f4ef7fd0dc04ea0773cdedfbf8e366 commit] * ipvlan: New IPVLAN driver. It is conceptually very similar to the macvlan driver with one major exception of using L3 for mux-ing /demux-ing among slaves. This property makes the master device share the L2 with it's slave devices. It allows to create virtual devices off of a main interface and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) on packets. All interfaces (including the main interface) share L2 making it transparent to the connected L2 switch. For more details see the [https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvlan.txt Documentation] [http://git.kernel.org/linus/2ad7bf3638411cb547f2823df08166c13ab04269 commit] * ip6_tunnel: Add support for tunnels with local or remote wildcard endpoints. With this we get a NBMA tunnel mode like we have it for ipv4 and sit tunnels [http://git.kernel.org/linus/ea3dc9601bda69d8d695b57c4f7a997cd7039781 commit] * ip6_tunnel: allow to change mode for the fallback tunnel device, ip6tnl0 [http://git.kernel.org/linus/acf722f73499d85e959ce99cf22d1b827d0b273a commit] * ipv6: Allow sending packets through tunnels with wildcard endpoints [http://git.kernel.org/linus/d50051407f136028108cfda068d55ef053a54fe1 commit] * bpf: reduce verifier memory consumption [http://git.kernel.org/linus/9c3997601d51069ec08d7d06cf31a17884056cc2 commit] * bridge: Add support for IEEE 802.11 Proxy ARP. This feature is defined in IEEE Std 802.11-2012, 10.23.13. It allows the AP devices to keep track of the hardware-address-to-IP-address mapping of the mobile devices within the WLAN network [http://git.kernel.org/linus/958501163ddd6ea22a98f94fa0e7ce6d4734e5c4 commit] * tcp_cubic: add SNMP counters to track how effective is Hystart [http://git.kernel.org/linus/6e3a8a937c2f86ee0b2d354808fc026a143b4518 commit] * sunrpc: add a debugfs rpc_xprt directory with an info file in it [http://git.kernel.org/linus/388f0c776781fe64ce951701bfe712b2182a31f2 commit], add debugfs file for displaying client rpc_task queue [http://git.kernel.org/linus/b4b9d2ccf0be61c69213f6ae4e33377c05194ef4 commit] * TIPC protocol: New netlink API, for detail see the [https://git.kernel.org/linus/49ed2617a06abacaccd46fa88ae14c333baa15f0 merge commit]. Code: [http://git.kernel.org/linus/0655f6a8635b1b66f2434d5556b1044c14b1ccaf commit], [http://git.kernel.org/linus/35b9dd7607f049466a66427e58818b29aeae9ea7 commit], [http://git.kernel.org/linus/315c00bc9f2bd17f7ad7ed8119ca49b1125af507 commit], [http://git.kernel.org/linus/7be57fc6918470ecacd16b89c0d4f73d8fc265c4 commit], [http://git.kernel.org/linus/f96ce7a20d6972a834202f3cdd6a53fd0ee26a8e commit], [http://git.kernel.org/linus/ae36342b50a91cff188e417201452dc075a8f444 commit], [http://git.kernel.org/linus/46f15c6794fb744bb7741d26143a85b9012c10d4 commit], [http://git.kernel.org/linus/1e55417d8fc6f6d93b1cc6995b911d48ded2adfb commit], [http://git.kernel.org/linus/1593123a6a4914ccac4699d7f93cdf8057a7d822 commit], [http://git.kernel.org/linus/fd3cf2ad519f73c2f7a46460ebedf32ad246520c commit], [http://git.kernel.org/linus/27c21416727af73df45051acb05331c0f10e50f6 commit], [http://git.kernel.org/linus/3e4b6ab58d614934e7ca99bdf448089695d34ffa commit], [http://git.kernel.org/linus/1a1a143daf84db95dd7212086042004a3abb7bc2 commit], [http://git.kernel.org/linus/34b78a127c4fd57cf3d5c64031693d10a8e0fae1 commit] * ethtool: Support for configurable RSS hash function [http://git.kernel.org/linus/892311f66f2411b813ca631009356891a0c2b0a1 commit] * Wireless * Add a new WoWLAN API to enable net-detect as a wake up trigger. Net-detect allows the device to scan in the background while the host is asleep to wake up the host system when a matching network is found [http://git.kernel.org/linus/8cd4d4563ef0a518002c4a8f47dd950afe386ea8 commit] * Allow scanning with random MAC addresses [http://git.kernel.org/linus/ad2b26abc157460ca6fac1a53a2bfeade283adfa commit] * Support creating wiphy devices with an optional name. This will be used by hwsim to have better automated control over virtual radio creation/deletion [http://git.kernel.org/linus/ad28757eef268e609677d0e3d8c0bdadde52a711 commit], [http://git.kernel.org/linus/1998d90ad424c1ff12ea24816ce158d5262e06a5 commit] * Allow channel switch with multiple channel contexts [http://git.kernel.org/linus/0f791eb47f8222fd594e6f8a090632344ef23924 commit] * Support creating vifs with specified mac address [http://git.kernel.org/linus/b5dfae020b3539feaa014d3b6152f48660c2d75b commit] * Support creating wiphy w/out creating wlanX [http://git.kernel.org/linus/e27513fbd030d8558cfa9250bd62b2baf19dc114 commit] * Add support for driver tx power reporting [http://git.kernel.org/linus/5b3dc42b1b0db0264bbbe4ae44c15ab97bfd1e93 commit] * Add support for 802.11p OCB (Outside the Context of a BSS) mode [http://git.kernel.org/linus/239281f803e2efdb77d906ef296086b6917e5d71 commit] * Allow to query mesh proxy path table [http://git.kernel.org/linus/66be7d2bcd826344894be09dc385f9f805136b84 commit], [http://git.kernel.org/linus/a2db2ed3fb7d35ff2405d08fc012a5db8ddb36e0 commit] * Add WMM admission control support [http://git.kernel.org/linus/02219b3abca59fca81711bfe7ee78df7abad97ce commit] * minstrel rate control algorithm: add basic support for VHT rates <= 3SS@80MHz [http://git.kernel.org/linus/9208247d74bc52dcaf370ba3cee29b5e8775464b commit] * Add extended channel switching capability if the driver supports CSA [http://git.kernel.org/linus/e9a21949b79414dda42a017855b288901c07e613 commit] * Add TDLS channel switch [http://git.kernel.org/linus/a7a6bdd0670feb8bfc26d41cda32b6064dbca50e commit], [http://git.kernel.org/linus/1057d35ede5dbf7ed7842357564fb42c9b54ba50 commit], [http://git.kernel.org/linus/c2733905692589cc73928ffd65d26107536e80fe commit] * Allow any interface to send NL80211_CMD_CH_SWITCH_NOTIFY channel switch notifications to the userspace to let it decide whether other interfaces need to be moved as well. This is needed when we want a P2P GO interface to follow the channel of a station, for example [http://git.kernel.org/linus/d04b5ac9e70b2056a8a12f768f4b46773576025e commit] * Send channel switch started notifications [http://git.kernel.org/linus/2f4572930dbd79216294a94e331478513c65df78 commit] * mac80211-hwsim: Add HWSIM_CMD_GET_RADIO command [http://git.kernel.org/linus/93d638d49cac96a93abf09bb3526f2112d9f8387 commit], add ethtool stats support [http://git.kernel.org/linus/2155c3f82327bddd092bd704ebaff79c0a2dfb9c commit], support SGI-20 [http://git.kernel.org/linus/e49786dbebc91658c86fb2be746968221147ffc4 commit], support creating radios with specific name [http://git.kernel.org/linus/5cd8926bbf47ee0eb51a266bd9614dd3f93c004f commit], support creating wiphy w/out creating wlanX [http://git.kernel.org/linus/9a0cb89a8aad7c04505abf88202b1dd376fc50bc commit], support destroying radio by name [http://git.kernel.org/linus/8cdd9e1c37dd888894922b8209d5fc8055cfde52 commit], support scanning with random MAC address [http://git.kernel.org/linus/339467b906f599b6f3a479dffe7f5bb0241b78ac commit] * openvswitch * Add basic MPLS support to kernel: Allow datapath to recognize and extract MPLS labels into flow keys and execute actions which push, pop, and set labels on packets [http://git.kernel.org/linus/25cd9ba0abc0749e5cb78e6493c6f6b3311ec6c5 commit] * Add support for OVS_FLOW_ATTR_PROBE. This new flag is useful for suppressing error logging while probing for datapath features using flow commands [http://git.kernel.org/linus/05da5898a96c05e32aa9850c9cd89eef29471b13 commit] * Extend packet attribute for exporting egress tunnel info to userspace [http://git.kernel.org/linus/8f0aad6f35f7e8b3118b7b8a65e8e76b135cc4cb commit] * IEEE 802.15.4 * Add nl802154 framework [http://git.kernel.org/linus/79fe1a2aa7b504c68642e510154f17e2de60da60 commit], [http://git.kernel.org/linus/b821ecd4c8a0b3b1fc1bdd191bb7d555d818cafe commit], [http://git.kernel.org/linus/f3ea5e44231a88eaea69a13410d1b80c19cfa1df commit], [http://git.kernel.org/linus/656a999e8701c1e3d17040f051d3a080ec6c710c commit], [http://git.kernel.org/linus/ab0bd561724bf3c09aa80e76ca0a187c6880bc5c commit], [http://git.kernel.org/linus/c8937a1d112b1a948454f4fa2f9b747fee2a3f66 commit], [http://git.kernel.org/linus/a01ba7652cda5602b248efff168450ec658640b8 commit], [http://git.kernel.org/linus/17a3a46bfbf1c2b944812a81b11ffe255a55e9ca commit], [http://git.kernel.org/linus/702bf371282f5912fe53f0b247fa2d7df9d7951f commit], [http://git.kernel.org/linus/9830c62a0b3d57d9d00880989cfe987f581bc03f commit] * Remove fakehard driver [http://git.kernel.org/linus/36426484fcaca2153616d6f3496b389a5b11bd9f commit] * Add sysfs entries for wpan_phy index and name, needed for the new 802.15.4 userspace tool [http://git.kernel.org/linus/a6fd693f6b862cd73fc90849353492406cfba5f6 commit] * mac802154 * Add basic support for monitor mode [http://git.kernel.org/linus/38130c31ef50de1999983601e448db2b1bc1057c commit] * Add support for promiscuous mode [http://git.kernel.org/linus/94b792220ca9c080f4d1da8060f4c892c1b3b025 commit] |
WARNING THis document is not complete. You can also read about Linux 3.19 in LWN: LWN merge window, [http://lwn.net/Articles/625146/ part 1], [http://lwn.net/Articles/626150/ part 2], [http://lwn.net/Articles/627202/ part 3].
Summary: (not ready)
1. Prominent features
1.1. Btrfs: support scrubbing and fast device replacement in RAID 5&6
Btrfs added support for [http://kernelnewbies.org/Linux_3.8#head-1fd494f6aeba0abd271e483ff9732afeb3544368 fast&live device replacement] (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-replace btrfs-replace(8)]), much faster and more efficient than adding the new device and removing the old one in separated commands (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-device btrfs-device(8)]). This feature could not fast-replace devices from filesystems using RAID 5 & 6, this release has removed that limitation.
The process of scrubbing a btrfs filesystem (see [https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-scrub btrfs-scrub(8)]) was also not available in RAID 5&6 filesystems, this limitation has also been removed in this release
Code: [http://git.kernel.org/linus/5a6ac9eacb49143cbad3bbfda72263101cb1f3df commit], [http://git.kernel.org/linus/5d3edd8f44aac94de7b16f4c54290e24f5e8c532 commit], [http://git.kernel.org/linus/2c8cdd6ee4e7f637b0486c6798117e7859dee586 commit], [http://git.kernel.org/linus/7603597690147a16b5cc77047d7570fa22a22673 commit], [http://git.kernel.org/linus/af8e2d1df9848b39dd86b1e696bf8781d2020a88 commit]
1.2. Support for the Intel Memory Protection Extensions
Intel's [http://en.wikipedia.org/wiki/Intel_MPX Memory Protection Extension] (MPX) is a set of CPU instructions which brings increased robustness to software by checking pointer references usurped maliciously at runtime by buffer overflows. Intel MPX introduces new registers and new CPU instructions that operate on these registers. Modified compiler, runtime libraries and kernels can make use of these instructions to allow MPX hardware to prevent buffer overflow exploitation. This Linux release adds support in the Linux kernel. Note: CPUs with MPX support are not in the market and will be introduced with the Intel Skylake and Goldmont microarchitectures.
Recommended LWN article: [http://lwn.net/Articles/582712/ Supporting Intel MPX in Linux]
Recommended Intel article: [https://software.intel.com/en-us/articles/introduction-to-intel-memory-protection-extensions Introduction to Intel Memory Protection Extensions]
Code: [http://git.kernel.org/linus/95290cf13e561b52dceadb9a8b8ee8ff2464b142 commit], [http://git.kernel.org/linus/4aae7e436fa51faf4bf5d11b175aea82cfe8224a commit], [http://git.kernel.org/linus/57319d80e1d328e34cb24868a4f4405661485e30 commit], [http://git.kernel.org/linus/fcc7ffd67991b63029ca54925644753d534ddc5f commit], [http://git.kernel.org/linus/fe3d197f84319d3bce379a9c0dc17b1f48ad358c commit], [http://git.kernel.org/linus/1de4fa14ee25a8edf287855513b61c3945c8878a commit], [http://git.kernel.org/linus/5776563648f6437ede91c91cbad85862ca682b0b commit]
1.3. HSA driver for AMD GPU devices
HSA, or Heterogeneous System Architecture, is a type of computer processor architecture that integrates central processing units and graphics processors on the same bus, with shared memory and tasks. HSA allows different processor types (CPUs, DSPs, GPUs, etc..) to share system resources more effectively via HW features including shared pageable memory, userspace-accessible work queues, and platform-level atomics.
This release includes HSA support for radeon-family processors, and offers an API that is used by a [https://github.com/HSAFoundation/HSA-Runtime-Reference-Source HSA open-source library] developed by AMD. For more details about the HSA library and possibilities that HSA offers to userspace apps, see the previous link.
Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/amdkfd drivers/gpu/drm/amd/amdkfd]
1.4. ARM Coresight support
Coresight is an umbrella of technologies allowing for the debugging of ARM based SoC. ARM has developed a HW assisted tracing solution by means of different components, each being added to a design at systhesis time to cater to specific tracing needs. Components are generally categorised as source, link and sinks and are (usually) discovered using the AMBA bus. "Sources" generate a compressed stream representing the processor instruction path based on tracing scenarios as configured by users. From there the stream flows through the coresight system (via ATB bus) using links that are connecting the emanating source to a sink(s). Sinks serve as endpoints to the coresight implementation, either storing the compressed stream in a memory buffer or creating an interface to the outside world where data can be transferred to a host
The Linux Coresight framework provides a kernel interface for the Coresight debug and trace drivers to register themselves with. It's intended to build a topological view of the Coresight components based on a DT specification and configure the right series of components when atrace source gets enabled.
For more details about the Linux Coresight framework: see [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/trace/coresight.txt Documentation/trace/coresight.txt]
For details about ARM Coresight: http://www.arm.com/products/system-ip/debug-trace/
Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/coresight drivers/coresight/]
1.5. New architecture: Altera Nios II processors
This release adds support for Altera Nios II processors. Nios II is a 32-bit embedded-processor architecture designed specifically for the Altera family of FPGAs. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from DSP to system-control.
For more information about the Nios II processors see http://www.altera.com/literature/lit-nio2.jsp
For more information on how compiling and booting software for the Nios II platform: http://www.rocketboards.org/foswiki/Documentation/NiosIILinuxUserManual
Code: [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/nios2 arch/nios2]
1.6. Networking: support for routing and switching offloading
This release includes infrastructure to support hardware switch chips (in very generic meaning of the word "switch"). This include devices supporting L2/L3 but also various flow offloading chips, including switches embedded into SR-IOV NICs.
Also included is the first driver to benefit from this new switchdev infrastructure, it is a "rocker" driver for [https://github.com/sfeldma/qemu-rocker/ emulated switch chip implemented in qemu].
Code: [http://git.kernel.org/linus/020ec6ba2a0c4c1e147c506a0970b58a90d1146b commit], [http://git.kernel.org/linus/b7485f6b035a87685ce35e0e52deee6467811eb0 commit], [http://git.kernel.org/linus/93859b13fa7ecef9d4d8bab4a7acc9f212c8fce2 commit], [http://git.kernel.org/linus/f6f6424ba773da6221ecaaa70973eb4dacfa03b2 commit], [http://git.kernel.org/linus/02637fce3e0103ba086b9c33b6d529e69460e4b6 commit], [http://git.kernel.org/linus/007f790c8276271de26416f90d55561bcc96588a commit], [http://git.kernel.org/linus/82f2841291cfaf4d225aa1766424280254d3e3b2 commit], [http://git.kernel.org/linus/aecbe01e7410ad2de022796472f531ae6941f15e commit], [http://git.kernel.org/linus/38dcf357aed299186ecb090cc2f5290cc17d637d commit], [http://git.kernel.org/linus/cf6b8e1eedffd9ef9a22c0c9453d752b07daf89a commit], [http://git.kernel.org/linus/065c212a9e25172069f368b36228379521dadb65 commit], [http://git.kernel.org/linus/efacacdaf7cb5a0592ed772e3731636b2742e34a commit], [http://git.kernel.org/linus/345cd494a324c149ef7293f4bedf2d7131a6de7c commit], [http://git.kernel.org/linus/2c3c031c8f8930861815fa1685d7c5e8ccec047c commit], [http://git.kernel.org/linus/4b8ac9660af07be6f6602b523929793eed314997 commit], [http://git.kernel.org/linus/9f6bbf7cfcb4dd734ce6c3fe7e512274311de380 commit], [http://git.kernel.org/linus/6c7079450071f889b4c2b55f8d030b1a5e859401 commit], [http://git.kernel.org/linus/ce76ca689dfe0bafba21b0dc002c7f92eb629fd8 commit], [http://git.kernel.org/linus/5111f80cbc759bed12941678bd029fca76512815 commit], [http://git.kernel.org/linus/e75605822e3190a1bd7935599e93f13ab1ba7c9d commit], [http://git.kernel.org/linus/51ace887a0c08cc431f99d46ab63c6b316052640 commit]
1.7. NFSv4.2 support for hole punching and preallocation
This release adds support for hole punching and preallocation in NFSv4.2 setups
Code: [http://git.kernel.org/linus/f4ac1674f5da420ef17896f0f222c5215ebcde80 commit], [http://git.kernel.org/linus/624bd5b7b683c978c6d5f4e9f6142cfb3470983d commit], [http://git.kernel.org/linus/95d871f03cae6b49de040265cf88cbe2a16b9f05 commit], [http://git.kernel.org/linus/b0cb9085239a20b7482ddd4839dd1d5476801dfa commit]
2. Drivers and architectures
All the driver and architecture-specific changes can be found in the [http://kernelnewbies.org/Linux_3.19-DriversArch Linux_3.19-DriversArch page]
3. File systems
- EXT4
Create nojournal_checksum mount option to disable journal checksumming (because the metadata_csum feature turns it on by default now) [http://git.kernel.org/linus/c6d3d56dd0ef6c15fc007413c9d024021c178cf9 commit]
Prevent online resize while using backup superblock [http://git.kernel.org/linus/011fa99404bea3f5d897c4983f6bd51170e3b18f commit]
- F2FS
Introduce "fastboot" mount option for reducing mount time as much as possible, even though normal performance can be sacrificed [http://git.kernel.org/linus/d5053a34a9cc797b9d5d77574354b5555848c43c commit]
Support storing directory entries inside inode page, can be enabled with "inline_dentry" mount option [http://git.kernel.org/linus/34d67debe02b3b2b035b5bdce0fab75800f9a344 commit], [http://git.kernel.org/linus/201a05be9628ae58efe7638e0c7ae3937ec85273 commit], [http://git.kernel.org/linus/622f28ae9ba4fa89b4ff0f4a6cf75d153ea838ce commit], [http://git.kernel.org/linus/5efd3c6f1be9cfbc621c9445cedd159998ed3ea6 commit]
Add "dirsync" to allow sync operation on directory operations [http://git.kernel.org/linus/b7e1d800031c827a80c9a9d03cf15e4dd5405a44 commit]
- AFFS
Add support to O_DIRECT [http://git.kernel.org/linus/9abb408307008a19be5719bbf1d069bb3ed7aa60 commit]
- Squashfs
Add LZ4 compression support [http://git.kernel.org/linus/9c06a46f1524a05b2dccf5c74d7555b2cfcbe5db commit]
- CEPH
Support inline data feature [http://git.kernel.org/linus/65a22662bfe1a84d72b9bbd9146b6782b9e53478 commit]
4. Memory management
Make debug-pagealloc boottime configurable with kernel parameter debug_pagealloc [http://git.kernel.org/linus/031bc5743f158b2d5498294f489e534a31251626 commit]
Resurrect struct page extending code for debugging [http://git.kernel.org/linus/eefa864b701d78dc9753c70a3540a2e9ae192595 commit]
memcontrol: lockless page counters [http://git.kernel.org/linus/3e32cb2e0a12b6915056ff04601cf1bb9b44f967 commit]
5. Block
Remove artificial max_hw_sectors cap [http://git.kernel.org/linus/34b48db66e08ca1c1bc07cf305d672ac940268dc commit]
6. Core (various)
RCU locking: Remove CONFIG_RCU_CPU_STALL_VERBOSE, future kernel builds will always act as if CONFIG_RCU_CPU_STALL_VERBOSE=y [http://git.kernel.org/linus/0eafa46823971b4c368f4cdf19f1d081c4ee52b7 commit]
RCU locking: PREEMPT_RCU and TREE_PREEMPT_RCU serve the same function after TINY_PREEMPT_RCU has been removed, this release removes redundant TREE_PREEMPT_RCU config option [http://git.kernel.org/linus/28f6569ab7d036cd4ee94c26bb76dc1b3f3fc056 commit]
RCU: Rename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this value for both the per-CPU kthreads (rcuc/N) and the rcu boosting threads (rcub/n). Also add rcutree.kthread_prio boot option that sets the SCHED_FIFO priority of the RCU per-CPU and rcu boosting kthreads [http://git.kernel.org/linus/21871d7eff2c96ae67e18e00adf59d56940e2fcc commit]
Introduce new interfaces to support hierarchy irqdomains [http://git.kernel.org/linus/f8264e34965aaf43203912ed8f7b543c00c8d70f commit]
IPC: increase SEMMSL, SEMMNI, SEMOPM [http://git.kernel.org/linus/e843e7d2c88b7db107a86bd2c7145dc715c058f4 commit]
fault-inject: add ratelimit option [http://git.kernel.org/linus/6adc4a22f20bbf3bbc754f1ec8c82be5dfb5c71a commit]
7. Cryptography
Add user space interface for AEAD [http://git.kernel.org/linus/af8e80731a94ff9de9508b01d9e5d931d538dc6b commit]
crc32: Add ARM64 CRC32 hw accelerated module [http://git.kernel.org/linus/f6f203faa3ebd8fa229e34424850a0919ded6c10 commit]
sahara: add support for SHA1/256 [http://git.kernel.org/linus/5a2bb93f599247e049f5ae06a573f1152987c572 commit]
caam: add support for AES working in Galois Counter Mode [http://git.kernel.org/linus/3ef8d945d0dafd272e77c01099bc4975c5297a5a (commit)], add support for AES in Galois/Counter Mode as an IPsec Encapsulating Security Payload mechanism [http://git.kernel.org/linus/bac68f2c9a43e60a70e27c0c75aaca7128b6271d (commit)], add support for AES working in Counter mode [http://git.kernel.org/linus/2b22f6c547f90e1a41e3f39ad8d569e3efc74d42 (commit)], add support for AES Counter Mode compliant with RFC3686 to be used along with authenc algorithms (md5, sha1, sha224, sha256, sha384, sha512) as one-shot aead algorithms [http://git.kernel.org/linus/daebc465858867f48ee86a88f56020c3fe0d96f6 (commit)], add support for one-shot givencrypt algorithms [http://git.kernel.org/linus/7222d1a3410388c8e21a5028ba2beb498938b57f (commit)], add support for Advanced Encryption Standard in Counter Mode as provided in IPsec implementation standard RFC3686 [http://git.kernel.org/linus/a5f57cffce8af8d2c11204b4e289543021c73766 (commit)], add support for AES-GMAC as an IPSec ESP mechanism to provide data origin authentication, but not confidentiality [http://git.kernel.org/linus/5d0429a30f06845af78a696de59e3e8d21252846 (commit)]
8. Virtualization
virtio_scsi: support multi hw queue of blk-mq [http://git.kernel.org/linus/ccbedf117f015d4f415130069b47d63c359bc110 commit]
tools: hv: introduce -n/--no-daemon option [http://git.kernel.org/linus/170f4bea2008054e5098f99359e29823a7b4b1b9 commit]
hyperv: Add support for vNIC hot removal [http://git.kernel.org/linus/c3582a2c4d0baf1fa3955c8b3d3d61308df474c7 commit]
9. Security
- IMA
Added support for new kernel cmdline parameter ima_template_fmt, it allows users to provide a custom template format [http://git.kernel.org/linus/c2426d2ad5027397342107b7ff094aa9b234acb8 commit]
Load x509 certificate from the kernel [http://git.kernel.org/linus/fd5f4e9054acbf4f22fac81a358baf3c27aa42ac commit]
Require signature based appraisal [http://git.kernel.org/linus/c57782c13ecd7e7aca66cbf0139ad2a72317dc81 commit]
10. Tracing & perf
tracing: Allow NOT (!) to filter AND (&&) and OR (||) clauses [http://git.kernel.org/linus/eabb8980a96cff42ae70cc6ab143f4003f02c874 commit]
perf annotate: Support source line numbers in annotate [http://git.kernel.org/linus/e592488c01d51763de847fcecb3d969231a483a9 commit]
perf callchain: Support handling complete branch stacks as histograms [http://git.kernel.org/linus/8b7bad58efb7e3aaff60f7c1fa4361fb8c23181d commit], [http://git.kernel.org/linus/fa94c36c29ed8bb4749b5fd7ea51a593f673dcef commit]
perf probe: Add --quiet option to suppress output result message [http://git.kernel.org/linus/5e17b28f1e246b98e08cb463f7d72cff6415fc53 commit]
perf record: Add new -I option to capture machine state registers at interrupt [http://git.kernel.org/linus/6a21c0b5c2abd2fdfa6fff79f11df3d6082c1873 commit], [http://git.kernel.org/linus/4b6c51773d86883a2e80cffadbe4f178ac1babd8 commit]
perf script: Add Python script to export to postgresql [http://git.kernel.org/linus/2987e32f75dcb40bce0f3ab1d5d48cc1c580fd8b commit]
perf tools: Add --buildid-dir option to set cache directory [http://git.kernel.org/linus/99ce8e9fce99147f865cda8a8e471900518c9a49 commit]
perf tools: Add gzip decompression support for kernel module [http://git.kernel.org/linus/e92ce12ed6a46302f64269d2d406cf04525f0a8f commit]
11. Networking
net: allow setting ecn via routing table [http://git.kernel.org/linus/f7b3bec6f5167efaf56b756abfafb924cb1d3050 commit]
IPv6: Add a sysctl (use_optimistic and optimistic_dad) that causes an interface's optimistic addresses to be considered equivalent to other non-deprecated addresses for source address selection purposes. Preferred addresses will still take precedence over optimistic addresses, subject to other ranking in the source address selection algorithm. This is useful where different interfaces are connected to different networks from different ISPs (e.g., a cell network and a home wifi network) [http://git.kernel.org/linus/7fd2561e4ebdd070ebba6d3326c4c5b13942323f commit]
Generic receive offload: add a per device gro flush timer. This new mechanism is off by default, and shall be enabled by setting /sys/class/net/ethX/gro_flush_timeout to a value in nanosecond [http://git.kernel.org/linus/3b47d30396bae4f0bd1ff0dbcd7c4f5077e7df4e commit]
Add SO_INCOMING_CPU socket option, which allows userspace to ask for the CPU upon what a packet was received/steered [http://git.kernel.org/linus/2c8c56e15df3d4c2af3d656e44feb18789f75837 commit]
Allow eBPF programs to be attached to sockets [http://git.kernel.org/linus/89aa075832b0da4402acebd698d0411dcc82d03e commit]
Add support for remote checksum offload for Generic UDP Encapsulation (GUE), which is a mechanism that provides checksum offload of encapsulated packets using rudimentary offload capabilities found in most network devices. The outer header checksum for UDP is enabled in packets and, with some additional meta information in the GUE header, a receiver is able to deduce the checksum to be set for an inner encapsulated packet. Effectively this offloads the computation of the inner checksum. Remote checksum offload is described in http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00 . For more details and benchmarks, see the [http://git.kernel.org/linus/1d76c1d028975df8488d1ae18a76f268eb5efa93 merge commit]. Code: [http://git.kernel.org/linus/4bcb877d257c87298aedead1ffeaba0d5df1991d commit], [http://git.kernel.org/linus/5024c33ac354577635c5671498891eb197f3ec4d commit], [http://git.kernel.org/linus/e585f23636370320bc2071ca5ba2744ae37c3e51 commit], [http://git.kernel.org/linus/c1aa8347e73e4092411fbd96cc59531fb7e76d04 commit], [http://git.kernel.org/linus/b17f709a24013fcbb257f6f89b4d81ac9fdf0d18 commit], [http://git.kernel.org/linus/a8d31c128bf574bed2fa29e0512b24d446018a50 commit]
Netfilter nft_meta: add cgroup support [http://git.kernel.org/linus/ce674173e9f4ef7fd0dc04ea0773cdedfbf8e366 commit]
ipvlan: New IPVLAN driver. It is conceptually very similar to the macvlan driver with one major exception of using L3 for mux-ing /demux-ing among slaves. This property makes the master device share the L2 with it's slave devices. It allows to create virtual devices off of a main interface and packets will be delivered based on the dest L3 (IPv6/IPv4 addr) on packets. All interfaces (including the main interface) share L2 making it transparent to the connected L2 switch. For more details see the [https://github.com/torvalds/linux/blob/master/Documentation/networking/ipvlan.txt Documentation] [http://git.kernel.org/linus/2ad7bf3638411cb547f2823df08166c13ab04269 commit]
ip6_tunnel: Add support for tunnels with local or remote wildcard endpoints. With this we get a NBMA tunnel mode like we have it for ipv4 and sit tunnels [http://git.kernel.org/linus/ea3dc9601bda69d8d695b57c4f7a997cd7039781 commit]
ip6_tunnel: allow to change mode for the fallback tunnel device, ip6tnl0 [http://git.kernel.org/linus/acf722f73499d85e959ce99cf22d1b827d0b273a commit]
ipv6: Allow sending packets through tunnels with wildcard endpoints [http://git.kernel.org/linus/d50051407f136028108cfda068d55ef053a54fe1 commit]
bpf: reduce verifier memory consumption [http://git.kernel.org/linus/9c3997601d51069ec08d7d06cf31a17884056cc2 commit]
bridge: Add support for IEEE 802.11 Proxy ARP. This feature is defined in IEEE Std 802.11-2012, 10.23.13. It allows the AP devices to keep track of the hardware-address-to-IP-address mapping of the mobile devices within the WLAN network [http://git.kernel.org/linus/958501163ddd6ea22a98f94fa0e7ce6d4734e5c4 commit]
tcp_cubic: add SNMP counters to track how effective is Hystart [http://git.kernel.org/linus/6e3a8a937c2f86ee0b2d354808fc026a143b4518 commit]
sunrpc: add a debugfs rpc_xprt directory with an info file in it [http://git.kernel.org/linus/388f0c776781fe64ce951701bfe712b2182a31f2 commit], add debugfs file for displaying client rpc_task queue [http://git.kernel.org/linus/b4b9d2ccf0be61c69213f6ae4e33377c05194ef4 commit]
TIPC protocol: New netlink API, for detail see the [https://git.kernel.org/linus/49ed2617a06abacaccd46fa88ae14c333baa15f0 merge commit]. Code: [http://git.kernel.org/linus/0655f6a8635b1b66f2434d5556b1044c14b1ccaf commit], [http://git.kernel.org/linus/35b9dd7607f049466a66427e58818b29aeae9ea7 commit], [http://git.kernel.org/linus/315c00bc9f2bd17f7ad7ed8119ca49b1125af507 commit], [http://git.kernel.org/linus/7be57fc6918470ecacd16b89c0d4f73d8fc265c4 commit], [http://git.kernel.org/linus/f96ce7a20d6972a834202f3cdd6a53fd0ee26a8e commit], [http://git.kernel.org/linus/ae36342b50a91cff188e417201452dc075a8f444 commit], [http://git.kernel.org/linus/46f15c6794fb744bb7741d26143a85b9012c10d4 commit], [http://git.kernel.org/linus/1e55417d8fc6f6d93b1cc6995b911d48ded2adfb commit], [http://git.kernel.org/linus/1593123a6a4914ccac4699d7f93cdf8057a7d822 commit], [http://git.kernel.org/linus/fd3cf2ad519f73c2f7a46460ebedf32ad246520c commit], [http://git.kernel.org/linus/27c21416727af73df45051acb05331c0f10e50f6 commit], [http://git.kernel.org/linus/3e4b6ab58d614934e7ca99bdf448089695d34ffa commit], [http://git.kernel.org/linus/1a1a143daf84db95dd7212086042004a3abb7bc2 commit], [http://git.kernel.org/linus/34b78a127c4fd57cf3d5c64031693d10a8e0fae1 commit]
ethtool: Support for configurable RSS hash function [http://git.kernel.org/linus/892311f66f2411b813ca631009356891a0c2b0a1 commit]
- Wireless
Add a new WoWLAN API to enable net-detect as a wake up trigger. Net-detect allows the device to scan in the background while the host is asleep to wake up the host system when a matching network is found [http://git.kernel.org/linus/8cd4d4563ef0a518002c4a8f47dd950afe386ea8 commit]
Allow scanning with random MAC addresses [http://git.kernel.org/linus/ad2b26abc157460ca6fac1a53a2bfeade283adfa commit]
Support creating wiphy devices with an optional name. This will be used by hwsim to have better automated control over virtual radio creation/deletion [http://git.kernel.org/linus/ad28757eef268e609677d0e3d8c0bdadde52a711 commit], [http://git.kernel.org/linus/1998d90ad424c1ff12ea24816ce158d5262e06a5 commit]
Allow channel switch with multiple channel contexts [http://git.kernel.org/linus/0f791eb47f8222fd594e6f8a090632344ef23924 commit]
Support creating vifs with specified mac address [http://git.kernel.org/linus/b5dfae020b3539feaa014d3b6152f48660c2d75b commit]
Support creating wiphy w/out creating wlanX [http://git.kernel.org/linus/e27513fbd030d8558cfa9250bd62b2baf19dc114 commit]
Add support for driver tx power reporting [http://git.kernel.org/linus/5b3dc42b1b0db0264bbbe4ae44c15ab97bfd1e93 commit]
Add support for 802.11p OCB (Outside the Context of a BSS) mode [http://git.kernel.org/linus/239281f803e2efdb77d906ef296086b6917e5d71 commit]
Allow to query mesh proxy path table [http://git.kernel.org/linus/66be7d2bcd826344894be09dc385f9f805136b84 commit], [http://git.kernel.org/linus/a2db2ed3fb7d35ff2405d08fc012a5db8ddb36e0 commit]
Add WMM admission control support [http://git.kernel.org/linus/02219b3abca59fca81711bfe7ee78df7abad97ce commit]
minstrel rate control algorithm: add basic support for VHT rates <= 3SS@80MHz [http://git.kernel.org/linus/9208247d74bc52dcaf370ba3cee29b5e8775464b commit]
Add extended channel switching capability if the driver supports CSA [http://git.kernel.org/linus/e9a21949b79414dda42a017855b288901c07e613 commit]
Add TDLS channel switch [http://git.kernel.org/linus/a7a6bdd0670feb8bfc26d41cda32b6064dbca50e commit], [http://git.kernel.org/linus/1057d35ede5dbf7ed7842357564fb42c9b54ba50 commit], [http://git.kernel.org/linus/c2733905692589cc73928ffd65d26107536e80fe commit]
Allow any interface to send NL80211_CMD_CH_SWITCH_NOTIFY channel switch notifications to the userspace to let it decide whether other interfaces need to be moved as well. This is needed when we want a P2P GO interface to follow the channel of a station, for example [http://git.kernel.org/linus/d04b5ac9e70b2056a8a12f768f4b46773576025e commit]
Send channel switch started notifications [http://git.kernel.org/linus/2f4572930dbd79216294a94e331478513c65df78 commit]
mac80211-hwsim: Add HWSIM_CMD_GET_RADIO command [http://git.kernel.org/linus/93d638d49cac96a93abf09bb3526f2112d9f8387 commit], add ethtool stats support [http://git.kernel.org/linus/2155c3f82327bddd092bd704ebaff79c0a2dfb9c commit], support SGI-20 [http://git.kernel.org/linus/e49786dbebc91658c86fb2be746968221147ffc4 commit], support creating radios with specific name [http://git.kernel.org/linus/5cd8926bbf47ee0eb51a266bd9614dd3f93c004f commit], support creating wiphy w/out creating wlanX [http://git.kernel.org/linus/9a0cb89a8aad7c04505abf88202b1dd376fc50bc commit], support destroying radio by name [http://git.kernel.org/linus/8cdd9e1c37dd888894922b8209d5fc8055cfde52 commit], support scanning with random MAC address [http://git.kernel.org/linus/339467b906f599b6f3a479dffe7f5bb0241b78ac commit]
- openvswitch
Add basic MPLS support to kernel: Allow datapath to recognize and extract MPLS labels into flow keys and execute actions which push, pop, and set labels on packets [http://git.kernel.org/linus/25cd9ba0abc0749e5cb78e6493c6f6b3311ec6c5 commit]
Add support for OVS_FLOW_ATTR_PROBE. This new flag is useful for suppressing error logging while probing for datapath features using flow commands [http://git.kernel.org/linus/05da5898a96c05e32aa9850c9cd89eef29471b13 commit]
Extend packet attribute for exporting egress tunnel info to userspace [http://git.kernel.org/linus/8f0aad6f35f7e8b3118b7b8a65e8e76b135cc4cb commit]
- IEEE 802.15.4
Add nl802154 framework [http://git.kernel.org/linus/79fe1a2aa7b504c68642e510154f17e2de60da60 commit], [http://git.kernel.org/linus/b821ecd4c8a0b3b1fc1bdd191bb7d555d818cafe commit], [http://git.kernel.org/linus/f3ea5e44231a88eaea69a13410d1b80c19cfa1df commit], [http://git.kernel.org/linus/656a999e8701c1e3d17040f051d3a080ec6c710c commit], [http://git.kernel.org/linus/ab0bd561724bf3c09aa80e76ca0a187c6880bc5c commit], [http://git.kernel.org/linus/c8937a1d112b1a948454f4fa2f9b747fee2a3f66 commit], [http://git.kernel.org/linus/a01ba7652cda5602b248efff168450ec658640b8 commit], [http://git.kernel.org/linus/17a3a46bfbf1c2b944812a81b11ffe255a55e9ca commit], [http://git.kernel.org/linus/702bf371282f5912fe53f0b247fa2d7df9d7951f commit], [http://git.kernel.org/linus/9830c62a0b3d57d9d00880989cfe987f581bc03f commit]
Remove fakehard driver [http://git.kernel.org/linus/36426484fcaca2153616d6f3496b389a5b11bd9f commit]
Add sysfs entries for wpan_phy index and name, needed for the new 802.15.4 userspace tool [http://git.kernel.org/linus/a6fd693f6b862cd73fc90849353492406cfba5f6 commit]
- mac802154
Add basic support for monitor mode [http://git.kernel.org/linus/38130c31ef50de1999983601e448db2b1bc1057c commit]
Add support for promiscuous mode [http://git.kernel.org/linus/94b792220ca9c080f4d1da8060f4c892c1b3b025 commit]