I'm trying to implement an ML2 mechanism driver in order to be able to integrate a RINA stack implementation within OpenStack.
I'm struggling a bit to get started with the driver implementation, mainly because I'm quite a newbie with the openstack suite, and I am not able to find good documentation about implementing an ML2 from scratch. The only thing I found is this (old) book Openstack Networking Cookbook where on Chapter 10 it tackles the implementation of an ML2 mechanism driver from scratch. However, this book is based on openstack kilo
(2015) and following the tutorial it just breaks the whole openstack installation.
So the main issue here is:
How should I get started? Should I just see how open source mechanism drivers are implemented and just try to guess how they work and start (slowly) to implement mine?
Is out there any good documentation or boilerplate code to implement an ML2 driver from scratch?
I only found these resources that seem relevant to the topic of writing ML2 drivers:
So to answer your questions:
How should I get started? Should I just see how open source mechanism drivers are implemented and just try to guess how they work and start (slowly) to implement mine?
That's probably the best approach. There are a few examples to look at.
You could also ask for suggestions and ask technical questions on the Neutron developer mailing list.
But you should expect to do most of the research for yourself; e.g. reading books, papers, specifications to get a deep understanding of networking, deep-diving the existing Neutron and ML2 codebase, etc.
Is out there any good documentation or boilerplate code to implement an ML2 driver from scratch?
Apart from what I have found, I doubt it.