Summary

In this chapter, we built on the previous chapter's knowledge on OpenFlow and Ryu for advanced functions. We started with parsing out the different OpenFlow functions and decoding packets with the Ryu packet library. We then implemented our own static router between two routers, each with a host connected to a /24 subnet. The router is responsible for answering ARP packets and installing static flows between the two hosts. After the static router successfully transported traffic between the two hosts, we implemented the REST API and removed the static flow in the code. This gave us flexibility to dynamically insert flows in the router we coded.

In the section that followed, we looked at two ways to implement a BGP router with Ryu. The first method requires more Python knowledge by directly calling the BGP library of the Ryu framework. The second method uses the --bgp-app-config-file option with the Ryu BGP application. The first method gave us more granular control of our app but that can become tedious, while the second option abstracts the lower-level code but at the expense of control. Both methods have their advantages and disadvantages.

In the last section of the chapter, we looked at the firewall application Ryu provides as an example of how we can simulate a traditional layer 4 firewall function in a network device with OpenFlow.

In the next chapter, we will look at more SDN options with OpenStack and OpenDaylight. Both of the projects carry great industry momentum with both commercial vendors and open source community support.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.106.233