What’s a better way to kick-start the 2018’s blog post series than with SDN topics? 🙂 Therefore in order to keep the tradition of regular blog posts dedicated to the SDN workshop, we have prepared a thorough reflection of the talks and demonstrations featuring the 9th workshop held on the 4th of December 2017 in the premises of IBM Research, Zurich, and organized by the ICCLab and SWITCH.
The ICCLab T-Nova members are back from the 3rd and final project review meeting that was held on March 16th in Athens, Greece. Couple of days before that, we were enrolled in the preparation and setup of the final demos at N.C.S.R. Demokritos premises.
Several demonstrations were shown to the reviewers during the demo session in order to point out the achievements in the last year of the project. Moreover a poster session was held in parallel to stress the contributions in terms of conference and journal papers published within the project’s scope, Figure 1.
In the past year i was working on a graphical interface for Netfloc – the SDK for SDN developed in the SDN initiative. Just to remind you, the aim of Netflogi is to: (1) make the SDK itself easy to use and (2) expose the Netfloc APIs and functional features to the network application developers and datacenter service providers.
With the initial version of Netflogi, the user was able to create a Service Function Chain only by using Neutron port IDs. This was done by choosing the number and the order of the Neutron ports used in the Chain. The current version of Netflogi allows to create Virtual Network Functions (VNFs) and a Service Chain using those VNFs. This blog post describes the updated functionalities of Netflogi that take part of the development work i did as part of my final exam, called IPA in Switzerland.
The novel functionality added in Netflogi is the VNF management (create & delete). Creating VNF includes choosing a name, a description of the functionality and assigning ingress and egress ports. Once the VNF is successfully created, it appears automatically in the list of the existing VNFs. The VNFs can be used in different services offered by Netfloc. Currently Service Function Chaining is fully implemented and can be done by combining one or more VNFs. The VNFs can be deleted, as well as the Service Chains. Help page and messaging system for the performed actions is also included in this version.
Inside the Software Defined Networking initiative we are developing a Software Development Kit for SDN, called Netfloc.
NETwork FLOws for Clouds (Netfloc) is a programmable framework solution for software defined datacenter networks. It leverages network management by offering to the network developers a set of libraries packed as Java bundles for the OpenDaylight controller. Netfloc also exposes REST API abstractions and Java interfaces to enable optimal integration in cloud datacenters and customized end-to-end management of OpenFlow equipment. For references and current status, please feel free to visit the Github repository. We will come back with a detailed post on the SDK very soon, so stay tuned.
And yes being the networking guys, we are mainly dealing with command line management in the whole process of development and testing. But only until to date, when we realized that it is time to think as well of the UX side and start a design process for a graphical user interface (GUI) for Netfloc.
For our SDK4SDN work we made a comparison between two SDN controllers: Ryu and Opendaylight. We focused on the Northbound APIs of the controllers and we compared the capabilities and ease of use of their respective REST APIs.
Both controllers support REST, which is based on a mix of HTTP, JSON and XML. In Ryu a WSGI web server is used to create the REST APIs, which link with other systems and browsers. In OpenDaylight, the Jersey library provides the REST APIs with both JSON and XML interfaces. Jersey also provides its own API to simplify RESTful services by extending the JAX-RS toolkit which is compliant with the Northbound API.