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 -...