# Adaptable and Automated Small UAV Deployments via Virtualization
## 4 Validation of the Solution
### Validation Scenario  
This section describes the experiment carried out to validate the potential of our platform to execute realistic and moderately complex network services. In this experiment, we implemented the Network Service (NS) shown in Figure 4, including the NFV descriptors (NSD and VNFDs) and the set of lightweight VNFs that conform the NS. The NS provides the functionality of an IP telephony service, and supports the delivery of telemetry from every SUAV to an equipment in the ground control station of the SUAVs. The NFV descriptors and the lightweight VNFs have been developed  
Figure 3: Compute node network configuration. and made available under an open source license ([[https://github.com/5](https://github.com/5) GinFIRE/mano/tree/master/descriptor-packages]([https://github.com/5](https://github.com/5) GinFIRE/mano/tree/master/descriptor-packages)). Regarding the lightweight VNFs that enable the provision of the IP telephony service, the NS includes two virtual access points (Access Point VNFs in Figure 4), which support data communications between end user equipment (i.e., ground units) located at different areas. Each of these virtual access points holds a Dynamic Host Configuration Protocol [29] (DHCP) server, which automatically provides the required network configuration to allow IP access connectivity to connected users. On the other hand, the IP telephony service enables the exchange of signalling traffic to establish multimedia sessions between communicating endpoints, i.e., Voice over IP (VoIP) calls among user equipment at ground units. To support this service, we developed a lightweight VNF providing the functionality of a VoIP server, based on the open source software Kamailio [30]. This VoIP server VNF enables the establishment of voice communications with the utilization of the Session Initiation Protocol (SIP) [31]. Finally, a lightweight VNF provides the functionality of a Domain Name System [32] (DNS) server, resolving host names to IP addresses during the execution of the IP telephony service. On the other side, the exchange of telemetry information (GPS positioning, information from on-boarded sensors, etc.) from an SUAV to a ground station is allowed by the lightweight VNF referred to as _Telenetry_ in Figure 4. In this case, we emulated the transmission of telemetry data using the Iperf tool [33], which enables the generation of different data streams from a source to a destination. In our test scenario, telemetry information was emulated as a User Datagram Protocol (UDP) [34] stream with a bandwidth of 32 kbps. With this, we instantiated the NS over our SUAV platform using the client application of OSM. This instantiation results in the execution of the aforementioned VNFs in virtual containers at the SUAVs, following the disposition indicated by Figure 4. For that end, the definition of each SUAV as an availability zone (i.e., a set of resources) in the OpenStack VIM allowed us to execute each VNF at the expected SUAV through the placement policies provided by OSM. The lightweight VNFs composing the IP telephony service communicate through a VXLAN that is established over the Wi-Fi ad-hoc network. Telemetry information is exchanged with the GCS using a different VXLAN (over the Wi-Fi adhoc network as well). Both VXLANs are dynamically created by the VIM, as instructed by the OSM  
Figure 4: Validation scenario. stack. This way, and according to our system design, telemetry traffic is isolated from the VoIP traffic. Besides, the configuration of lightweight VNFs after their deployment (commonly known as Day-1 configuration) is done through Ansible playbooks [35], using a specific open-source development contributed by the authors of this paper to the OSM community ([[https://osm.etsi.org/wikipub/index.php/Example_VNF_Charms](https://osm.etsi.org/wikipub/index.php/Example_VNF_Charms)]([https://osm.etsi.org/wikipub/index.php/Example_VNF_Charms](https://osm.etsi.org/wikipub/index.php/Example_VNF_Charms))).