We’ve just released IncludeOS 0.11. It’s been half a year since our last release and we have quite a few features lined up for release.

Major features:

Multiarch / multiplatform:

  • 64-bit support, now default. IncludeOS 64-bit blog post
  • 32-bit chainloader for use with boot tool
  • Reorganized for multiple platforms.

Networking:

  • Support TCP options/features; Timestamp & Window Scaling (RFC 7323) and Delayed ACK
  • Path MTU Discovery, RFC 1191 (IPv4) and partly RFC 1981 (IPv6). Disabled by default until more thoroughly tested in the wild. See the unit test for example
  • Kernel hooks for filter chains. Will enable upcoming firewall / NAT functionality.
  • Support for Virtual IPs in Inet and TCP
  • Support for partial IP/TCP checksumming
  • DNS Client caching.
  • Inet Domain Name support.

Utilities:

  • Fixed size version of MemBitmap - allocates and owns storage.
  • CMake now supports additional arguments (see #1404)
  • CMake option for what CPU features to compile for.
  • CRC64 and base64 implementations by @RicoAntonioFelix
  • Script to easily run IncludeOS instances in VMware

Fixes:

  • Time is now the same as the hosts time on all supported cloud vendors and hypervisors.
  • Port_util now works correctly.

Extra special thanks to @RicoAntonioFelix for innumerable improvements, and to @dfct for help with TCP cleanup.