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