Charles Explorer logo
🇬🇧

LSDN - Manage complex (virtual) networks in cloud environment with Linux kernel facilities

Publication at Faculty of Mathematics and Physics |
2018

Abstract

Contemporary data centers highly rely on SDN (Software Defined Networking) to establish and manage networking among huge number of virtual machines (VM). With a rapid growth of cloud services and their users there is a natural growth of virtual machines providing those services.

Therefore reliable SDN solution is a must and all cloud providers depend on it. There are several open-source solutions providing management of virtual networking for example well-known Open vSwitch.

However these solutions depend on running daemons and they also add code to the kernel. This fact may decrease reliability.

In this paper we describe a tool called LSDN. With LSDN you can easily manage (not only) virtual networks and in addition LSDN brings no other code to the kernel.

It relies only on Linux Kernel facilities and in most cases it does not need any running services. In this paper we describe how to properly use LSDN, LSDN internals, its API in C version and DSL (Domain Specific Language) version and also bugs we found in Linux Kernel when using its recent functionality.

Although LSDN is experimentally deployed in non-demanding production with low traffic it is is still a very immature project and there is a huge space for improvements and additional features. We discuss how to tackle some of the most wanted features, e.g. statefull firewall (now we support only stateless version).