<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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">development, you can find more about it from&nbsp;</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;">&nbsp;or from&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">switching engines with different capabilities. By integrating LiSA&nbsp;</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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">switching engine would offer the same switching capabilities&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">switch. Through swcli, the switching configurations (including VLANs,&nbsp;</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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">separate complex network configurations from NIC configuration. That&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">studying the virt-manager interface and figured out&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">domain NIC should suffice our goal for the&nbsp;</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&nbsp;</span><span style="color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 13px;">contain an interface tag of type "lisa-switch"&nbsp;</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&nbsp;</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&nbsp;</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;">&nbsp; - 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;">&nbsp; - 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&nbsp;</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>