<div dir="ltr">Hi.<div><br></div><div>I have asked in the Q&A website without success (<a href="https://ask.openstack.org/en/question/12072/how-to-implement-and-configure-a-new-vpnaas-driver-from-scratch/">https://ask.openstack.org/en/question/12072/how-to-implement-and-configure-a-new-vpnaas-driver-from-scratch/</a>).</div>

<div><br></div><div>I want to develop a vpnaas implementation. It seems that since Havana, there are plugins, services and device implementations. I like the plugin and his current API, then I don't need to reimplement it. Now I want yo implement a vpnaas driver, and I see I have two main parts to take into account: the service_drivers and the device_drivers. IPsec/OpenSwan implementation is the unique sample I've found.</div>

<div><br></div><div>I'm using devstack to test my experiments.</div><div><br></div><div>I tried to implement VpnDriver Python class extending the main API methods like IPsecVPNDriver does. I placed basic implementation files at the same level of IPsec/OpenSwan does and configured Neutron adding this line to /etc/neutron/neutron.conf file:</div>

<div><br></div><div><code>service_provider = VPN:VPNaaS:neutron.services.vpn.service_drivers.our_python_filename.OurClassName:default</code><br></div><div><code><br></code></div><div><code><font face="arial, helvetica, sans-serif">I restarted Neutron related services in my devstack instance, but it seemed it didn't work.</font></code></div>

<div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">- What is the difference between service drivers and device drivers?</font></div>

<div><font face="arial, helvetica, sans-serif">- Could I implement only one of them?</font></div><div><font face="arial, helvetica, sans-serif">- Whe</font>re I need to put my Python implementation in my OpenStack instance?</div>

<div>- How could I configure my OpenStack instance to use this implementation?</div><div><br></div><div><br></div><div><br></div><div>I didn't find almost any documentation about these topics.</div><div><br></div><div>

Thank you very much.</div></div>