#pragma section-numbers on #pragma keywords Linux, kernel, operating system, changes, changelog, file system, Linus Torvalds, open source, device drivers #pragma description List of changes and new features merged in the Linux kernel during the 4.19 development cycle As you can see in the table of contents, this page is partially complete. While the rest of the page is finished, you can read more information about this Linux release here: * LWN's [[https://lwn.net/Articles/762566/|merge window, part 1]], [[https://lwn.net/Articles/763106/|part 2]] * Phoronix's [[https://www.phoronix.com/scan.php?page=article&item=linux-419-features&num=1|The New & Improved Features Of The Linux 4.19 Kernel]] Or check the [[https://kernelnewbies.org/Linux_4.19#List_of_merges|merge list]]: <> = File systems = * BTRFS * Allow defrag on opened read-only files that have rw permissions; similar to what dedupe will allow on such files [[https://git.kernel.org/linus/616d374efa23cb699074ea02b301254ad64d224a|commit]] * tree checker: more checks for: block group items, essential trees [[https://git.kernel.org/linus/ba480dd4db9f1798541eb2d1c423fc95feee8d36|commit]], [[https://git.kernel.org/linus/fce466eab7ac6baa9d2dcd88abcf945be3d4a089|commit]] * Remove V0 extent support [[https://git.kernel.org/linus/a79865c680d81220a1355cd13098e75227dc2994|commit]] * XFS * Remove deprecated barrier/nobarrier mount [[https://git.kernel.org/linus/1c02d502c20809a2a5f71ec16a930a61ed779b81|commit]] * CIFS * Add support for statfs for smb3.1.1 posix extensions [[https://git.kernel.org/linus/2d304217832ea720337e7a6aa012aa828a77f9d4|commit]] * Allow previous versions to be mounted with {{{snapshot=}}} mount parameter [[https://git.kernel.org/linus/cdeaf9d04a5a0f51220d2f025385c553220bfb5c|commit]] * Display stats counters for number of slow commands [[https://git.kernel.org/linus/468d677954c0d94fec59275d91222257fe8b4416|commit]] * Allow disabling insecure dialects in the configuration [[https://git.kernel.org/linus/7420451f6a109f7f8f1bf283f34d08eba3259fb3|commit]] * EXT4 * Add 64-bit timestamp support to ext4's superblock fields [[https://git.kernel.org/linus/a4d2aadca184ece182418950d45ba4ffc7b652d2|commit]], [[https://git.kernel.org/linus/af123b3718592a66a24716ed4724dc214220492b|commit]], [[https://git.kernel.org/linus/5ffff834322281f550b10c958fd9dd85679b8dbb|commit]], [[https://git.kernel.org/linus/7b62b293200ffaba5b281668ba7102cb4209774f|commit]], [[https://git.kernel.org/linus/b42d1d6b5b789c41dacbe2bc192c7b359d109d7b|commit]], [[https://git.kernel.org/linus/6a0678a79bb3a4e5fc1b680e7afc78727e21aff3|commit]] * F2FS * Add {{{fsync_mode=nobarrier}}} mount option which gives an option to user where it skips issuing cache flush commands to underlying flash storage [[https://git.kernel.org/linus/dc1328027b53586cc6b668c6654f9482e505699c|commit]] * Enable {{{-o discard}}} by default [[https://git.kernel.org/linus/a39e5365835edcdb12140d423573c2b8ed39ebfb|commit]] * Introduces a new mount option {{{fault_type}}} to assist old {{{fault_injection}}} [[https://git.kernel.org/linus/d494500a70434223bc35f862fab0679b13bea23d|commit]] * Support discard submission error injection [[https://git.kernel.org/linus/b83dcfe67142ea9f4bfaa1e9e21504be9e3c1bf7|commit]] * FAT * Add {{{FITRIM}}} ioctl for FAT file system [[https://git.kernel.org/linus/f663b5b38fffeb31841f8bfaf0ef87a445b0ffee|commit]] * NFS * Add support for asynchronous server-side COPY operations [[https://git.kernel.org/linus/5178a125f6d5fb0720315ea4f7cca642fb936031|commit]], [[https://git.kernel.org/linus/cb95deea0b4aa5c7c7423f4e075a3ddcd59e710b|commit]], [[https://git.kernel.org/linus/67aa7444c4beb40aafedd8d2c60bbcc54987adda|commit]], [[https://git.kernel.org/linus/62164f317972fcd36590578888f33a1994dda519|commit]], [[https://git.kernel.org/linus/bc0c9079b48ddcf1f8a6e1aaa277288b263c78d8|commit]], [[https://git.kernel.org/linus/0f913a57d74ddae9f168c59d4003f3fd3e293669|commit]], [[https://git.kernel.org/linus/c975c20926575e5968c617ec437647b2f9d87532|commit]], [[https://git.kernel.org/linus/539f57b3e0fdaad20ddb0a45913cefee0c8c29c1|commit]], [[https://git.kernel.org/linus/6b8d84e2f1299a5876ed812b137c49686cc85c7c|commit]] * OVERLAYFS * Delayed copy up of data. When file is on lower layer and only metadata is modified (except size), then only copy up the metadata and continue to use the data from the lower file until file is opened for writing. This optimization could be useful with containers and user namespaces, eg. doing chown() on whole image directory tree won't trigger a copy of the file's data, containers will continue sharing the page cache [[https://git.kernel.org/linus/44d5bf109a73f4162d97ab714770fdf76a8dc685|commit]], [[https://git.kernel.org/linus/bd64e57586d3722d2fc06093c3d7e3c4adb9e060|commit]], [[https://git.kernel.org/linus/9cec54c83a8baba3099bb8b445a735b93ab9511f|commit]], [[https://git.kernel.org/linus/d6eac039133b31f9db1c63d2e51b88df61d075cc|commit]], [[https://git.kernel.org/linus/d5791044d2e5749ef4de84161cec5532e2111540|commit]], [[https://git.kernel.org/linus/0c2888749363645d62cc48852d0af98d5ceef332|commit]], [[https://git.kernel.org/linus/2002df85367ca69961d39020f56d3d727897be01|commit]], [[https://git.kernel.org/linus/9d3dfea3d35a3235f0f1e2ce719bb4f0b696caa2|commit]], [[https://git.kernel.org/linus/027065b726434d2a95a5cc516129be765e27ecf8|commit]], [[https://git.kernel.org/linus/647d253fcd53fae185408b33ec5587a57cb3cc88|commit]], [[https://git.kernel.org/linus/4f93b426ab3930952eca6c5c456c2223a3adcbf5|commit]], [[https://git.kernel.org/linus/67d756c27ac4f4576dee313579724bd8711bc75e|commit]], [[https://git.kernel.org/linus/2664bd0897c2889258472a1ee922ef9d4c5fa58f|commit]], [[https://git.kernel.org/linus/4823d49c26eaf269cd2c2723bed8249aaed80795|commit]], [[https://git.kernel.org/linus/b8a8824ca011050b590a6353067e722a24a591fb|commit]], [[https://git.kernel.org/linus/2c3d73589adc6d3450890a6f793e5e8a1ae894e0|commit]], [[https://git.kernel.org/linus/0618a816edab6cb46d6d456f2fdff6bb325a4c77|commit]], [[https://git.kernel.org/linus/8c444d2a971fdccda670e874f12443627f028fbc|commit]], [[https://git.kernel.org/linus/a00c2d59e914b8ec46f1637e2e283aa35583c455|commit]], [[https://git.kernel.org/linus/0a2d0d3f2f291e3080721888a986ea52e43e1086|commit]], [[https://git.kernel.org/linus/60124877b9ec4fa5a34ddeeedba473820888d4b2|commit]], [[https://git.kernel.org/linus/7bb083837d1b5244a809ff1483408992c0e05ca6|commit]], [[https://git.kernel.org/linus/4120fe64dce4f73d1a595253568d9f27674f2071|commit]], [[https://git.kernel.org/linus/0b17c28af1b8814505fd4eafd96e6e7e05bba01d|commit]], [[https://git.kernel.org/linus/935a074f48675374a655456ae75fe6be9e8c2388|commit]], [[https://git.kernel.org/linus/997336f2c3053b74ec8c9d2d368ddd960f2fc8b6|commit]], [[https://git.kernel.org/linus/989974c804574d250ac92d44e220081959ac8ac1|commit]], [[https://git.kernel.org/linus/d1e6f6a94d6cefed2b6f7a222853ebcd2805b43b|commit]] * Stack file operations: this allows removal of several hacks from the VFS, proper interaction of read-only open files with copy-up, possibility to implement fs modifying ioctls properly, and others [[https://git.kernel.org/linus/d9854c87f0ed1a5f32fec24bb5b5fb426ad79c26|commit]], [[https://git.kernel.org/linus/5812160eb50925d19c54be979c72d335fee17dbd|commit]], [[https://git.kernel.org/linus/2ef66b8a03c02c4cef71bf1e8661317c7b9aa071|commit]], [[https://git.kernel.org/linus/16914e6fc7e1748a8bd667753a92af5e685c445b|commit]], [[https://git.kernel.org/linus/2a92e07edc5edef44bb7a0b8ede3154476dbb50a|commit]], [[https://git.kernel.org/linus/46e5d0a3907ba489fda4f7b043439a3599184f91|commit]], [[https://git.kernel.org/linus/4f3572954a9d4cbf992072713af284d990b65d87|commit]], [[https://git.kernel.org/linus/e8c985bace1351c5f2d7a6f0d8ff3e677b58abb5|commit]], [[https://git.kernel.org/linus/d1d04ef8572bc8c22265057bd3d5a79f223f8f52|commit]], [[https://git.kernel.org/linus/f7c72396d0de8847495f0ccb5853c711a7f91271|commit]], [[https://git.kernel.org/linus/dab5ca8fd9ddd3c0768e14bc1524bd3e7b8aa430|commit]], [[https://git.kernel.org/linus/aab8848cee5eca1003fc146b35b0c3293830a660|commit]], [[https://git.kernel.org/linus/9e142c4102db44c3c7a2656de8a1e2ddda2fae71|commit]], [[https://git.kernel.org/linus/de30dfd629e2e07e2e9d672b2931bcd60f9a34c0|commit]], [[https://git.kernel.org/linus/2f502839e85ab265f03f25f30d6463154aee5473|commit]], [[https://git.kernel.org/linus/8ede205541ff05bd096749a9f00bde6d754b4e22|commit]], [[https://git.kernel.org/linus/6742cee04353231015ddbe7e8b404ac9c1eb4473|commit]], [[https://git.kernel.org/linus/d561f218564855f69791216882a2622af37e5776|commit]], [[https://git.kernel.org/linus/88059de155d4db817a3a78ba899cb3b7f4de0fb0|commit]], [[https://git.kernel.org/linus/0c31d675aad949e5dfecf7a32813514423e6c766|commit]], [[https://git.kernel.org/linus/670c23248e15254e30990cbbe63056c0490190bc|commit]] * PSTORE * Add zstd compression support [[https://git.kernel.org/linus/1021bcf44d0e876b10f8739594ad7e6e9c746026|commit]] * UBIFS * Allow setting assert action as mount parameter [[https://git.kernel.org/linus/c38c5a7f2e5056555c22e7603c2151b118f3a494|commit]] * Introduce Kconfig symbol for xattr support [[https://git.kernel.org/linus/7e5471ce6dba5f28a3c7afdfe168655d236f677b|commit]] = Memory management = * /proc/meminfo: add percpu populated pages count [[https://git.kernel.org/linus/7e8a6304d5419cbf056a59de92939e5eef039c57|commit]] * huge pages microoptimization: Copy target sub-page last when copy huge page, because it is possible for the application to access the begin of the huge page after copying the huge page, and copying the target sub-page last will keep the CPU caches warm for the app [[https://git.kernel.org/linus/c6ddfb6c58903262d2d77042c41dba58cf775d88|commit]], [[https://git.kernel.org/linus/c9f4cd71383576a916e7fca99c490fc92a289f5a|commit]], [[https://git.kernel.org/linus/5b7a1d406062449a4d51aea1df37a73285ced1dc|commit]], [[https://git.kernel.org/linus/974e6d66b6b5c6e2d6a3ccc18b2f9a0b472be5b4|commit]] * Introduce a tiny implementation of cgroup-aware OOM killer, which adds an ability to kill a cgroup as a single unit and so guarantee the integrity of the workload. A new knob for cgroup v2 memory controller is added: {{{memory.oom.group}}}. The knob determines whether the cgroup should be treated as an indivisible workload by the OOM killer. If set, all tasks belonging to the cgroup or to its descendants (if the memory cgroup is not a leaf cgroup) are killed together or not at all. Incoming releases will improve this mechanism [[https://git.kernel.org/linus/dc0b58643aff8b378086f25cce6789ccba68cbcb|commit]], [[https://git.kernel.org/linus/5989ad7b5ede38d605c588981f634c08252abfc3|commit]], [[https://git.kernel.org/linus/3d8b38eb81cac81395f6a823f6bf401b327268e6|commit]] = Block layer = * (FEATURED) Introduce blk-iolatency io controller, a latency based io controller for cgroups [[https://git.kernel.org/linus/08e18eab0c579ad84399c1899c11899734854eb2|commit]], [[https://git.kernel.org/linus/c7c98fd37653955d3a17dd4f1fa67aba070096a9|commit]], [[https://git.kernel.org/linus/903d23f0a354f226fa78f1c1c34b60aaf992e812|commit]], [[https://git.kernel.org/linus/0d1e0c7cd5909d6c6aa0957179318e13fcca971a|commit]], [[https://git.kernel.org/linus/0d3bd88d54f513723602b361dccfc71639f50779|commit]], [[https://git.kernel.org/linus/d09d8df3a29403693d9d20cc34ed101f2c558e2b|commit]], [[https://git.kernel.org/linus/d09d8df3a29403693d9d20cc34ed101f2c558e2b|commit]], [[https://git.kernel.org/linus/2cf855837b89d92996cf264713f3bed2bf9b0b4f|commit]], [[https://git.kernel.org/linus/2ecbf456352d0699f51b4c6d70ea5bf29766579c|commit]], [[https://git.kernel.org/linus/c1c80384c8f47021a01a0cc42894a06bed2b801b|commit]], [[https://git.kernel.org/linus/67b42d0bf7a8fd1ec0cf1acdc9550e688d7c8578|commit]], [[https://git.kernel.org/linus/d70675121546c35feaceebf7ed9caed8716640f3|commit]], [[https://git.kernel.org/linus/b351f0c76c3eb94c9ccfb68d0b23899a35e47f27|commit]] * Separates block layer statistics for discards from writes. Discards are currently bundled with writes in the various {{{/sys/block/*/stat}}} files as well as in {{{/proc/diskstats}}}. The new discard statistics are appended to the current {{{/sys/bloc/*/stat}}} and {{{/proc/diskstats}}} on output such that they are the last four entries of each. These are analogous to the four read and write statistics [[https://git.kernel.org/linus/3f289dcb4b265416a57ca79cf4a324060bb09060|commit]], [[https://git.kernel.org/linus/59767fbd49d794b4499d30b314df6c0d4aca584b|commit]], [[https://git.kernel.org/linus/dbae2c551377b6533a00c11fc7ede370100ab404|commit]], [[https://git.kernel.org/linus/ddcf35d397976421a4ec1d0d00fbcc027a8cb034|commit]], [[https://git.kernel.org/linus/636620b66d5d4012c4a9c86206013964d3986c4f|commit]], [[https://git.kernel.org/linus/bdca3c87fb7ad1cc61d231d37eb0d8f90d001e0c|commit]] * dm integrity: Add the ability to store DM integrity metadata on a separate device. This feature is activated with the option {{{meta_device:/dev/device}}} [[https://git.kernel.org/linus/c21b16392701543d61e366dca84e15fe7f0cf0cf|commit]], [[https://git.kernel.org/linus/518748b1a744c496a657a5a7923e49e002a6f259|commit]], [[https://git.kernel.org/linus/724376a04d1a63d145fdfe7b24c0b13128a3ffd6|commit]], [[https://git.kernel.org/linus/f84fd2c98480fa0e3c0b43996c4e235bdf4a9527|commit]], [[https://git.kernel.org/linus/71e9ddbcb99e9bf1f968906b395e172ea8328365|commit]], [[https://git.kernel.org/linus/356d9d52e1221ba0c9f10b8b38652f78a5298329|commit]], [[https://git.kernel.org/linus/1f9fc0b826119f8d76d33c3bf60b7426be6dc19e|commit]], [[https://git.kernel.org/linus/747829a8e6c6a65e096ce8dd79506cbcf83951ad|commit]], [[https://git.kernel.org/linus/a3fcf7253139609bf9ff901fbf955fba047e75dd|commit]] * rbd * Support cloning across namespaces [[https://git.kernel.org/linus/e92c0eaf754310f9f31e9229a3f7274a67478f82|commit]] * Support for images within namespaces [[https://git.kernel.org/linus/b26c047b940003295d3896b7f633a66aab95bebd|commit]] * null_blk: add zone support [[https://git.kernel.org/linus/ca4b2a011948fae4e4d31490107db4926385a983|commit]] = Tracing and perf = * perf: add key binding ('p') and option ({{{--percent-type}}}) for switching between local/global percentage in annotation output/browser. Local means % within symbol, global within the whole perf data [[https://git.kernel.org/linus/7a3e71e0d806070071f53271705b0c511c0359fc|commit]], [[https://git.kernel.org/linus/5ecf7d30eb4f9c046f5284f20133d7b69729c315|commit]], [[https://git.kernel.org/linus/0683d13c1afbf5cca147b6f578d1463be132b11b|commit]], [[https://git.kernel.org/linus/0440af74dcd0f32b134b1c4d47dc25f0bb539ded|commit]], [[https://git.kernel.org/linus/c2f938ba5aa61ba60e9217848e666c783cbcce1c|commit]], [[https://git.kernel.org/linus/48a1e4f2381387a097ea9f7897c5c32e9aaa708d|commit]], [[https://git.kernel.org/linus/2bcf73069b0722c92a84c0fd57df542890a74904|commit]], [[https://git.kernel.org/linus/6d9f0c2d5ef7568c29fa5927748c4915a9c7760a|commit]], [[https://git.kernel.org/linus/75a8c1ff287b2a949b50c1c1e58a6492e21a3ac5|commit]], [[https://git.kernel.org/linus/e58684df912906d944967e2ce0f3ed5d5140d1e5|commit]], [[https://git.kernel.org/linus/ab371169fb7db9587f09137e93a49c6afeab16f7|commit]], [[https://git.kernel.org/linus/796ca33d5ceb621f238021c34cff8cfaa1100623|commit]], [[https://git.kernel.org/linus/c849c12cf344e4b99dbf98df642b622b6c91bbfd|commit]], [[https://git.kernel.org/linus/4c650ddc2e9e8f1d8dc46f13b30b1b9a6017fb02|commit]], [[https://git.kernel.org/linus/d4265b1a1b9b58df9c3bc0a3a7aa5b72c079c77a|commit]], [[https://git.kernel.org/linus/3e0d79531984c731951d9a8a5be406df3a78ac97|commit]], [[https://git.kernel.org/linus/addba8b66f9101b0e55a151fc543ff35990bc8ef|commit]], [[https://git.kernel.org/linus/4c04868fbe931ec315ad34bb7e28e5cf725f88e4|commit]], [[https://git.kernel.org/linus/88c211907720f9eb23308401305aefa25392417f|commit]], [[https://git.kernel.org/linus/e6902d1b7326149952abf8e7f07513e254668e52|commit]] = Virtualization = * Hyper-V: * To gather more actionable data during crashes, such as stack trace, the proposal is to write one page worth of kmsg data on an allocated page and the Hypervisor notified of the page address through the MSR [[https://git.kernel.org/linus/81b18bce48af3e222ca9eebb3b931f59141b7b49|commit]] * vmbus: add numa_node to sysfs [[https://git.kernel.org/linus/7ceb1c37533e2298797188087796dd44931d86af|commit]] * netvsc: Add per-cpu ethtool stats [[https://git.kernel.org/linus/6ae746711263bd6da45f709fdb9f12e4f57e22bd|commit]] * virtio_net: Add XDP related stats [[https://git.kernel.org/linus/5b8f3c8d30a6176c6be35c6ac75e22b0a60a3c43|commit]], add kick stats [[https://git.kernel.org/linus/461f03dc99cf6afcc3c70aaac56c4a7eee5a62bd|commit]] * Xen * Add dma-buf functionality to Xen grant device [[https://git.kernel.org/linus/8c3799ee25e1fda159099af09f5f2e86091e41d4|commit]], [[https://git.kernel.org/linus/ae4c51a50c990d6feba7058c181dc8f22ca5f1d8|commit]], [[https://git.kernel.org/linus/9bdc7304f536f3f77f0a69e7c3a8f5afda561a68|commit]], [[https://git.kernel.org/linus/975ef7ff81bb000af6e6c8e63e81f89f3468dcf7|commit]], [[https://git.kernel.org/linus/1d314567553883d9f606cc59e8e66f465a4b6ccd|commit]], [[https://git.kernel.org/linus/932d6562179efe8e2460a0343dbe0fcacf288a9e|commit]], [[https://git.kernel.org/linus/a240d6e42e28c34fdc34b3a98ca838a31c939901|commit]], [[https://git.kernel.org/linus/bf8dc55b135873d8bc58bb8fbc91c52f3a902eea|commit]] * Export device state to sysfs [[https://git.kernel.org/linus/076e2cedd6ea4786569c35f8725b4efdc1ecf2f2|commit]] = Security = * kexec/firmware: support system wide policy requiring signatures. It allows the customer to define a policy which requires the kexec'ed kernel images, firmware, and/or kernel modules to be signed. In addition, this patch set includes the ability to configure a build time IMA policy, which is automatically loaded at run time without needing to specify it on the boot command line and persists after loading a custom kernel policy [[https://git.kernel.org/linus/377179cd28cd417dcfb4396edb824533431e607e|commit]], [[https://git.kernel.org/linus/a210fd32a46bae6d05b43860fe3b47732501d63b|commit]], [[https://git.kernel.org/linus/16c267aac86b463b1fcccd43c89f4c8e5c5c86fa|commit]], [[https://git.kernel.org/linus/16c267aac86b463b1fcccd43c89f4c8e5c5c86fa|commit]], [[https://git.kernel.org/linus/fed2512a7ccc8fc4b8e1de22925d127e4caac300|commit]], [[https://git.kernel.org/linus/ef96837b0de4af47732e2a8ebf5c18e8a885ded6|commit]], [[https://git.kernel.org/linus/c77b8cdf745d91eca138e7bfa430dc6640b604a0|commit]], [[https://git.kernel.org/linus/4f0496d8ffa3ed5956a2ddee5d84f0246977799d|commit]] = Networking = * Support list based batching and stack traversal of socket buffers. It allows the network stack to receive a list of packets and process them as a unit, rather than handling each packet singly in sequence [[https://git.kernel.org/torvalds/c/f6ad8c1bcdf014272d08c55b9469536952a0a771|commit]], [[https://git.kernel.org/torvalds/c/e090bfb9f19259b958387d2bd4938d66b324cd09|commit]], [[https://git.kernel.org/torvalds/c/920572b73280a29e3a9f58807a8b90051b19ee60|commit]], [[https://git.kernel.org/torvalds/c/7da517a3bc529dc5399e742688b32cafa2ca5ca0|commit]], [[https://git.kernel.org/torvalds/c/4ce0017a373afaaa9ef17614d8fa4f6fde261d18|commit]], [[https://git.kernel.org/torvalds/c/88eb1944e18c1ba61da538ae9d1732832eb79b9d|commit]], [[https://git.kernel.org/torvalds/c/17266ee939849cb095ed7dd9edbec4162172226b|commit]], [[https://git.kernel.org/torvalds/c/5fa12739a53d0780265ed9d44d9ec9ba5f9ad00a|commit]], [[https://git.kernel.org/torvalds/c/b9f463d6c9849230043123a6335d59ac7fea4d5a|commit]], [[https://git.kernel.org/torvalds/c/2d1b138505dc29bbd7ac5f82f5a10635ff48bddb|merge]] * Maintain IP fragment queue in an rbtree, but optimize properly for in-order frags [[https://git.kernel.org/linus/7969e5c40dfd04799d4341f1b7cd266b6e47f227|commit]], [[https://git.kernel.org/linus/385114dec8a49b5e5945e77ba7de6356106713f4|commit]], [[https://git.kernel.org/linus/fa0f527358bd900ef92f925878ed6bfbd51305cc|commit]], [[https://git.kernel.org/linus/353c9cb360874e737fb000545f783df756c06f9a|commit]], [[https://git.kernel.org/linus/a4fd284a1f8fd4b6c59aa59db2185b1e17c5c11c|commit]] * Improve handling of ACKs on hole repairs [[https://git.kernel.org/linus/466466dc6c28ca9dc401f10e235b9cde9a7c9162|commit]], [[https://git.kernel.org/linus/d2ccd7bc8acdcb9166c07a0255fb85bf877edb1f|commit]], [[https://git.kernel.org/linus/15bdd5686c2c61373680b9015e95abf31778e4fd|commit]], [[https://git.kernel.org/linus/fd2123a3d7527d4c7092633d55e877c0cc1d84a3|commit]] * TCP * Add SNMP counter ({{{LINUX_MIB_TCPZEROWINDOWDROP}}} for zero-window drops [[https://git.kernel.org/linus/fb223502ec0889444965f602f57b1f45f9e9845e|commit]] * Add SNMP counter ({{{LINUX_MIB_TCPRCVQDROP}}}) for drops when try to queue in rcv queue [[https://git.kernel.org/linus/ea5d0c32498e1a08ff5f3dbeafa4d74895851b0d|commit]] * Adds 3 RFC4898 stats: {{{tcpEStatsPerfHCDataOctetsOut}}}, {{{tcpEStatsPerfOctetsRetrans}}}, {{{tcpEStatsStackDSACKDups}}} and an addtional stat to record the number of data packet reordering events seen, {{{tcp_reord_seen}}} [[https://git.kernel.org/linus/984988aa72188453f8c8a42dcf94bba1c57e73aa|commit]], [[https://git.kernel.org/linus/ba113c3aa79a7f941ac162d05a3620bdc985c58d|commit]], [[https://git.kernel.org/linus/fb31c9b9f6c85b1bad569ecedbde78d9e37cd87b|commit]], [[https://git.kernel.org/linus/7e10b6554ff2ce7f86d5d3eec3af5db8db482caa|commit]], [[https://git.kernel.org/linus/7ec65372ca534217b53fd208500cf7aac223a383|commit]] * Make {{{TCP_USER_TIMEOUT}}} socket option more accurate [[https://git.kernel.org/linus/9bcc66e1983d10861deb6920fb0c151c5b01772a|commit]], [[https://git.kernel.org/linus/a7fa37703d495310819d0a6747e5b32362305374|commit]], [[https://git.kernel.org/linus/b701a99e431db784714c32fc6b68123045714679|commit]] * TIPC: Extend the existing TIPC socket diagnostics framework for information related to TIPC group communication [[https://git.kernel.org/linus/a1be5a20f137bdf436bab86c18998229908ce951|commit]] * IPv4: Control socket buffer reprioritization after forwarding. After IPv4 packets are forwarded, the priority of the corresponding socket buffer is updated according to the TOS field of IPv4 header. This overrides any prioritization done earlier by e.g. an skbedit action or ingress-qos-map defined at a vlan device. A sysctl ({{{ip_forward_update_priority}}}) is added that lets users prevent this behaviour [[https://git.kernel.org/linus/432e05d328921c68c35bfdeff7d7b7400b8e3d1a|commit]], [[https://git.kernel.org/linus/d18c5d1995aa322b722fa731397e28ebcd00b3c6|commit]], [[https://git.kernel.org/linus/1f65a33fc7e22de96055778b0e4f214e005291e7|commit]], [[https://git.kernel.org/linus/6495342365e859400023c09063c2b31a12d68261|commit]], [[https://git.kernel.org/linus/989133bf7ff3fe6ebcb9c1e7b5e13bebac175d35|commit]], [[https://git.kernel.org/linus/cf60869814bcdfbeec02e92ce9e6b38562707edd|commit]], [[https://git.kernel.org/linus/9bae0451b7dcca54db376d2ea2cb8d9fc763a683|commit]] * IPv6 * Preventing the kernel from responding to ICMP Echo Requests messages can be useful in several ways. For IPv4, the sysctl {{{icmp_echo_ignore_all}}} could be used for this function, this release adds a {{{echo_ignore_all}}} sysctl for the IPv6 equivalent [[https://git.kernel.org/linus/e6f86b0f7ae473969a3301b74bf98af9e42ecd0e|commit]] * ila: Add {{{ILA_CMD_FLUSH}}} netlink command to clear the ILA translation table [[https://git.kernel.org/linus/b6e71bdebb12cb79f931db358066a33f5f526b6a|commit]] * route: add support for directed broadcast forwarding. It implements the feature described in rfc1812 section-5.3.5.2 and rfc2644. It allows the router to forward directed broadcast when sysctl {{{bc_forwarding}}} is enabled [[https://git.kernel.org/linus/40f98b9af943c3858958032ce1fb7bad449fac7b|commit]], [[https://git.kernel.org/linus/5cbf777cfdf6e5a7b7149006e4881a255da78fdd|commit]] * Support 802.11ax High-Efficiency wireless [[https://git.kernel.org/linus/95a28eeaf1491bcb8bf521bad4784683333705ee|commit]], [[https://git.kernel.org/linus/41cbb0f5a29592874355e4159489eb08337cd50e|commit]], [[https://git.kernel.org/linus/c4cbaf7973a794839af080f13748335976cf3f3f|commit]], [[https://git.kernel.org/linus/518ea3c54eb7e454b718a50aa35bc5ea7856aa20|commit]] * 802.11: Extend scan privacy by randomizing the sequence number of the probe request frames transmitted, and reducing the probe request content to just the SSID, supported rates, DS element and - if given - requested elements from userspace [[https://git.kernel.org/linus/db0a4ad80d3aee6f6e96eddc7ef6a88f4e38d357|commit]], [[https://git.kernel.org/linus/00387f321537395f62d5c0eca64c2d7838f39ac3|commit]], [[https://git.kernel.org/linus/45ad683484b61b5859ccb5a93a8254e1b4d20a29|commit]], [[https://git.kernel.org/linus/b9771d41aee7aa3207b985422a1cc19e8342bc50|commit]], [[https://git.kernel.org/linus/2e076f199097d670ce5e5492cea57f552b93bba9|commit]] * TLS: Generic infrastructure to offload TLS crypto to a network devices. It enables the kernel TLS socket to skip decryption and authentication operations for SKBs marked as decrypted on the receive side of the data path. Leaving those computationally expensive operations to the NIC [[https://git.kernel.org/linus/784abe24c903b093af04cf1a043140faa556cad7|commit]], [[https://git.kernel.org/linus/14136564c8ee94566945e85014019cbdb1716dca|commit]], [[https://git.kernel.org/linus/16e4edc297ffc9b643b8dd3da6b0d579753ea2b3|commit]], [[https://git.kernel.org/linus/41ed9c04aac2f8c6ee922e29ce5e69f185c5125b|commit]], [[https://git.kernel.org/linus/d80a1b9d186057ddb0d384ba601cf2b7d214539c|commit]], [[https://git.kernel.org/linus/dafb67f3bb4a58a45fe92c1e362ea6429831688a|commit]], [[https://git.kernel.org/linus/39f56e1a78d647316db330c3b6f4c5637a895e3b|commit]], [[https://git.kernel.org/linus/dafb67f3bb4a58a45fe92c1e362ea6429831688a|commit]], [[https://git.kernel.org/linus/b190a587c634a8559e4ceabeb0468e93db49789a|commit]], [[https://git.kernel.org/linus/4799ac81e52a72a6404827bf2738337bb581a174|commit]], [[https://git.kernel.org/linus/0aadb2fc092910b6db0038b377e130b905ba17e0|commit]], [[https://git.kernel.org/linus/ab412e1dd7db132c2abeb9385b4bf0dc8e6c5a65|commit]], [[https://git.kernel.org/linus/ca942c78f3237e09567d80ac19dffe9690c74d79|commit]], [[https://git.kernel.org/linus/00aebab27c8752c7420dce286270ccedc70ac39a|commit]], [[https://git.kernel.org/linus/afd3baaa938ce85dc738cd9279716cdb684cc707|commit]], [[https://git.kernel.org/linus/790af90c00d277b7fc8bd2ba18fcfa40941bf134|commit]], [[https://git.kernel.org/linus/10e71acca28262a9db47ce9b0a10dcd8b38bbdeb|commit]], [[https://git.kernel.org/linus/b3ccf978132ed7d0add45ca56e810a36ce7febf3|commit]] * Support for Tx queue selection based on Rx queue(s) map. This is done by configuring Rx queue(s) map per Tx-queue using sysfs attribute. If the user configuration for Rx queues does not apply, then the Tx queue selection falls back to XPS using CPUs and finally to hashing [[https://git.kernel.org/linus/80d19669ecd34423e85ca04f2210b0e42a47cb16|commit]], [[https://git.kernel.org/linus/04157469b7b848f4a9978b63b1ea2ce62ad3a0a3|commit]], [[https://git.kernel.org/linus/755c31cd85aea35cf7a5e7253851b52c08eff6e9|commit]], [[https://git.kernel.org/linus/c6345ce7d361dce1b5d02a2181ccb598c27fd7ae|commit]], [[https://git.kernel.org/linus/fc9bab24e9c654f62f3d411fc0b041be9e487e9d|commit]], [[https://git.kernel.org/linus/8af2c06ff4b144064b51b7f688194474123d9c9c|commit]], [[https://git.kernel.org/linus/a4fd1f4babe3fac5887faa5b1b88bde4cd4d1b0d|commit]] * Add virtual XFRM interfaces to route IPSec traffic, which avoid all of the limitations of existing IPSEC tunnels [[https://git.kernel.org/linus/9b42c1f179a614e11893ae4619f0304a38f481ae|commit]], [[https://git.kernel.org/linus/d159ce7957eec306eacda672e5909e26675ca8ef|commit]], [[https://git.kernel.org/linus/7e6526404adedf079279aa7aa11722deaca8fe2e|commit]], [[https://git.kernel.org/linus/f203b76d78092faf248db3f851840fbecf80b40e|commit]], [[https://git.kernel.org/linus/e4db5b61c572475bbbcf63e3c8a2606bfccf2c9d|commit]], [[https://git.kernel.org/linus/6d8e85ffe17895d7bc632dfbaa9e2e33b22fe873|commit]], [[https://git.kernel.org/linus/386c5680e2e80b012de557cf8326962070e0897b|commit]], [[https://git.kernel.org/linus/03dc7a35fcc83a199121a5156c4a7a976b836682|commit]], [[https://git.kernel.org/linus/fcb662deeb83bbc6df58b472a3bfe76981a8cc36|commit]], [[https://git.kernel.org/linus/bc56b33404599edc412b91933d74b36873e8ea25|commit]], [[https://git.kernel.org/linus/5baf4f9c0035f3e33bb693a1a1e87599f6e804e6|commit]], [[https://git.kernel.org/linus/934ffce1343f22ed5e2d0bd6da4440f4848074de|commit]], [[https://git.kernel.org/linus/44e2b838c24d883dae8496dc7b6ddac7956ba53c|commit]], [[https://git.kernel.org/linus/7a49d3d4ea42fe15db0d36e042df14a645d1fdce|merge]] * Support DSCP and flowlabel per-transport in SCTP [[https://git.kernel.org/69b9e1e07d98b57b972df3c44647ca8795284d39|commit]], [[https://git.kernel.org/8a9c58d28d0f66569737a3295116710ed24573cd|commit]], [[https://git.kernel.org/0b0dce7a36fb9f1a9dd8245ea82d3a268c6943fe|commit]], [[https://git.kernel.org/4be4139f7d0dc74e5a0932c7c7ddf0eb65da9e3a|commit]], [[https://git.kernel.org/0999f021c988770a37edfb266027db9c413901fd|commit]] * Add parameter support to devlink [[https://git.kernel.org/linus/eabaef1896bc06319461a644e3aa139885454def|commit]], [[https://git.kernel.org/linus/45f05def5c44c806f094709f1c9b03dcecdd54f0|commit]], [[https://git.kernel.org/linus/e3b7ca18ad7b2f47ebd3b6e6ce58a42c6ec24746|commit]], [[https://git.kernel.org/linus/ec01aeb1803eaaf0d006e7b07b5ddb5e429c38a4|commit]], [[https://git.kernel.org/linus/ea601e17098856ee059f35c2a75659e57df81f25|commit]], [[https://git.kernel.org/linus/036467c3990c75ec8ce97e517a864b52e184a1aa|commit]], [[https://git.kernel.org/linus/bd1b51dc66dfe355b67afc94d299f2916136f104|commit]], [[https://git.kernel.org/linus/dfb3c0821a4435600879b6dc7fb5d9dbf9678475|commit]] * Support regions and region snapshots in devlink, allowing users access to driver defined address regions and reading and dumping snapshots from them [[https://git.kernel.org/linus/b16ebe925a4400a2ec3dc663c81dce2fd9bf0998|commit]], [[https://git.kernel.org/linus/ccadfa444b34c6ec7bb458eee17fdd8c9a456c63|commit]], [[https://git.kernel.org/linus/d7e5272282d93bedbbeb6174b8af8425d7dcfd6f|commit]], [[https://git.kernel.org/linus/d8db7ea55f2ff5890ad31137233a3808d80c7f62|commit]], [[https://git.kernel.org/linus/a006d467fbf1d405e73cd167829d7a9e3df600e3|commit]], [[https://git.kernel.org/linus/866319bb9437614407ca36f8b16f89ab77a6a831|commit]], [[https://git.kernel.org/linus/4e54795a27f56102649f121a34b8445e42f79ccd|commit]], [[https://git.kernel.org/linus/523f9eb1ef25aab4aaf9aeb5356160e8039411ef|commit]], [[https://git.kernel.org/linus/bedc989b0c98285b277ff8a08ff9514e580913f4|commit]], [[https://git.kernel.org/linus/f6a69885f2e38be0229ab9f6a2d9d4a1b4ba2be5|commit]], [[https://git.kernel.org/linus/3c641ba4a852cf4e90e3d7f29c5df08e24213c5d|commit]] * devlink: Add {{{enable_sriov}}} parameter to enables SR-IOV [[https://git.kernel.org/linus/f567bcdae2b052bab94be7903863cb9ab47c907c|commit]] * Allow to attach XDP programs to both HW and SW at the same time on a given device. This enables advanced use cases where some of the work is offloaded to the NIC and some is done by the host [[https://git.kernel.org/linus/4f91da26c81145f255cb153152ffed70014b1c41|commit]], [[https://git.kernel.org/linus/6b8675897338f874c41612655a85d8e10cdb23d8|commit]], [[https://git.kernel.org/linus/05296620f6d14dce0030b87e1e57891a770fb65c|commit]], [[https://git.kernel.org/linus/a25717d2b604347d9af8da81deea7b08e8c94220|commit]], [[https://git.kernel.org/linus/799e173d7125155c00e9492c8212c5e41333049f|commit]], [[https://git.kernel.org/linus/99dadb6e3ec130800d199ec42fff03242b1be1eb|commit]], [[https://git.kernel.org/linus/5f4284015e29c2de501d83eb647c8ec8802b58ac|commit]] * bridge: a new bridge port option that allows any port to have any other port (in the same bridge of course) as its backup and traffic will be forwarded to the backup port when the primary goes down. This is mainly used in MLAG and EVPN setups where we have peerlink path which is a backup of many (or even all) ports and is a participating bridge port itself [[https://git.kernel.org/linus/2756f68c314917d03eb348084edb08bb929139d9|commit]], [[https://git.kernel.org/linus/a5f3ea54f3ccd881562d47f34b4a83441796bf19|commit]] * packet scheduler: * Introduce a set of kernel interfaces that can be used by applications that require (time-based) Scheduled Tx of packets. It adds a new {{{SO_TXTIME}}} socket option, and the ETF "earliest txtime first" qdisc, that provides per-queue TxTime-based scheduling. For applications/systems that the concept of time slices isn't precise enough, the etf qdisc allows applications to control the instant when a packet should leave the network controller [[https://git.kernel.org/linus/c47d8c2f38f805ba541496ddd7d8c3aee59b49d5|commit]], [[https://git.kernel.org/linus/80b14dee2bea128928537d61c333f24cb8cbb62f|commit]], [[https://git.kernel.org/linus/bc969a977880511057053642a81371196303ca01|commit]], [[https://git.kernel.org/linus/a818f75e311c23cdac528888c60ae6e43a8958d0|commit]], [[https://git.kernel.org/linus/3d0ba8c03ca9c49ffcb79d989312f123dd1bdc7a|commit]], [[https://git.kernel.org/linus/860b642b9c33ea4a6ae2f416607b0b98a9d11bb0|commit]], [[https://git.kernel.org/linus/25db26a91364db00f5a30da2fea8e9afe14a163c|commit]], [[https://git.kernel.org/linus/88cab77162e86e0f6a2b7e4f859c1435c4e24feb|commit]], [[https://git.kernel.org/linus/91db364236c8ae1af976d9794e5fec98e859dae7|commit]], [[https://git.kernel.org/linus/0364a0d0e7a124e7c821cc536a95f7ef421349cb|commit]], [[https://git.kernel.org/linus/8080e6ab4e99216f414c5c314264fd7cf3b6e4c1|commit]], [[https://git.kernel.org/linus/1b9231e7e148520a3ba63a604b27f11093f21bee|commit]], [[https://git.kernel.org/linus/3048cf84d152344f874e993558770bba73a65c8f|commit]], [[https://git.kernel.org/torvalds/c/d11a899ff0de3efad3c27fb1241de51e9d1a04a8|merge]] * sched: Add Common Applications Kept Enhanced (cake) qdisc ([[https://arxiv.org/abs/1804.07617|paper]]). sch_cake targets the home router use case and is intended to squeeze the most bandwidth and latency out of even the slowest ISP links and routers, while presenting an API simple enough that even an ISP can configure it [[https://git.kernel.org/linus/046f6fd5daefac7f5abdafb436b30f63bc7c602b|commit]], [[https://git.kernel.org/linus/b60a60405fb95a688eb2ef4ef20f5fcaa7b64f68|commit]], [[https://git.kernel.org/linus/83f8fd69af4f62136765b60fd0efa1c9167917c5|commit]], [[https://git.kernel.org/linus/ea82511518f4f2e5fe83d2fe1884ef5fc6be6204|commit]], [[https://git.kernel.org/linus/7298de9cd7255a783ba93533acbf1c2b0a9c582d|commit]], [[https://git.kernel.org/linus/8b7138814f29933898ecd31dfc83e35a30ee69f5|commit]], [[https://git.kernel.org/linus/a729b7f0bd5bf4919306556aed614438f5174537|commit]], [[https://git.kernel.org/linus/0c850344d3882886f842bf0b50a9ff23001adb7e|commit]] * sched: Allow the flower classifier to match on tunnel options and the tunnel key action to set them [[https://git.kernel.org/linus/0ed5269f9e41f495c8e9020c85f5e1644c1afc57|commit]], [[https://git.kernel.org/linus/0a6e77784f490912d81b92cfd48424541c04691e|commit]] * packet sched: Add skbprio, the SKB priority queue scheduler. It schedules packets according to skb->priority, which is useful for request packets in DoS mitigation systems such as Gatekeeper [[https://git.kernel.org/linus/aea5f654e6b78a0c976f7a25950155932c77a53f|commit]] * sched: set/match the tos/ttl fields of TC based IP tunnels [[https://git.kernel.org/linus/07a557f47d7e09b2c60ad4d51b1ac8b035b75f73|commit]], [[https://git.kernel.org/linus/5544adb9707fda5d54494c37940701894c16b9a0|commit]], [[https://git.kernel.org/linus/0e2c17b64d5c7f57bcd7054ef87797376dcdee26|commit]] * sched: Introduce matching on double vlan/QinQ headers for TC flower [[https://git.kernel.org/linus/2064c3d4c02026572d4975177f28a58052f0a8b7|commit]], [[https://git.kernel.org/linus/aaab08344d2670e5c119b7b497d5063d7ddb8364|commit]], [[https://git.kernel.org/linus/24c590e3b0f9e