The network configuration requirements of computers powering cloud infrastructure are very different to the traditional way of how the network is set up. The existing Linux kernel features are often not enough for this task and projects like OpenStack use the existing features to their very limits, sometimes even over them. New projects have been started to deal with this; a most prominent example is Open vSwitch. However, despite the quick pace of development, there is still lack of needed features on the kernel part. This leads to creative usage of combinations of the currently offered kernel features, leading to very complex undebuggable configurations. If you log in to such machine, you find tens of virtual interfaces and name spaces with strange non-obvious relationships between them.
The talk will present a few possible ways to get out of this. A new tool, plotnetcfg, that allows easier overview of the network relationship will be shown. The workarounds that are deployed by cloud platforms (as seen in the wild) will be explained and corresponding missing features in the kernel will be identified. How to implement them is in many cases an open problem; some possible solutions will be discussed. Interestingly, Open vSwitch may not be an answer for everything.