April 25, 2019

Linux 3.19 Release adds MPLS Support to OpenvSwitch

  • February 10, 2015
  • By Sean Michael Kerner

Linus Torvalds announced the first new Linux kernel of 2015 on February 9, with the debut of Linux 3.19. It took seven release candidates to hit the final 3.19 release, which is about average.

"So nothing all that exciting happened, and while I was tempted a couple of times to do an rc8, there really wasn't any reason for it," Torvalds wrote in his release announcement for Linux 3.19. "And the actual fixes that went in were all fairly small, with the exception of some medium-sized infiniband changes that were all reverting code that just wasn't ready."

While the Infiniband changes might not have been ready, there were a pile of other networking changes that were ready that have landed in the new kernel. Among the changes is a new IPVLAN driver. IPv6 gets a boost in LInux 3.19 with a number of of new features for ip6_tunnel.

Wireless support gets a new API to enable WoWLAN (Wake on Wireless LAN) capabilities. The commit states:

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.

The OpenvSwitch virtual switch gets a major boost with support for MPLS that was committed by VMware Nicira engineer Pravin Shelar. The official code commit states:

Allow datapath to recognize and extract MPLS labels into flow keys and execute actions which push, pop, and set labels on packets.


Memory is a big winner in Linux 3.19 thanks to the inclusion of lockless page counter, in a code commit made by Linus Torvalds, and authored by developer Johannes Weiner. According to the code commit's git entry:

Memory is internally accounted in bytes, using spinlock-protected 64-bit counters, even though the smallest accounting delta is a page. The counter interface is also convoluted and does too many things. Introduce a new lockless word-sized page counter API, then change all memory accounting over to it. The translation from and to bytes then only happens when interfacing with userspace. The removed locking overhead is noticable when scaling beyond the per-cpu charge caches.

Sean Michael Kerner is a senior editor at LinuxPlanet and InternetNews.com. Follow him on Twitter @TechJournalist

Most Popular LinuxPlanet Stories