My name is Andreea and I am a member of LiSA team. LiSA stands for Linux Switching
Appliance and offers a software switch that switches
packets at Layer 2 and Layer 3. It is an open source project under development, you can
find more about it from lisa.mindbit.ro or
from https://github.com/lisa-project/.
One of the development directions of LiSA is to integrate it into libvirt. First I'll
state the motivation for such an integration and then I will describe a use case.
The main reasons for extending libvirt network component with LiSA are related to the fact
that different hypervisors offer different switching engines with different capabilities.
By integrating LiSA into libvirt, the virtual machines would connect to LiSA switch
ports as they were linked through a physical switch. Hence, with LiSA, the switching
engine would offer the same switching capabilities independent of hypervisor.
Moreover, if I understand correctly, in libvirt switching configurations are possible
either through a set of commands in virsh or directly within a XML file. One of LiSA
components is swcli that is a CLI for configuring and retrieving configurations of the
software switch. Through swcli, the switching configurations (including VLANs, trunk or
access mode interfaces etc.) are made through a CISCO-IOS like set of commands. I think
this is a nice-to-have because it would separate complex network configurations from NIC
configuration. That is, through libvirt the machines would just connect to the switch
and other switching configurations, simple or complex, would be made from swcli. In other
words, the XML file would remain simple and readable while the user would still be able to
make switching specific configurations. In conclusion, LiSA and libvirt would make a
great
team for building a complex networking model, without complicating the setup of a virtual
network.
Scenario of where LiSA fits into libvirt
===========================
I thought at the following scenario: two virtual machines linked together through a LiSA
switch, i.e. the LiSA switch being the physical machine running LiSA. We, LiSA team,
started by studying the virt-manager interface and figured out that an entry in the
"Source device" drop down list when configuring a domain NIC should suffice our
goal for the moment. When applying these changes, the XML configuration file
should contain an interface tag of type "lisa-switch" or something similar.
Therefore, a patch to libvirt for integrating LiSA would contain:
- the implementation of two functions
- virNetDevLisaAddPort
- virNetDevLisaRemovePort
- and a new interface type (XML level) for network configuration.
I would like to have your feedback on the ideas above.
Thanks,
Andreea