How to extend build-in network plugins?

Hi,

We are considering extending the macvlan network plugin with functionality related to policy-based routing. We would like to fork the plugin and run as a standard external plugin. However, we saw that the build-in libnetwork plugins such as macvlan have a slightly different API than the official network plugin API.

Is there an easy way to take a build-in plugin and migrate it to an external plugin? Or is there source code available somewhere showing how this could be done?

Thank you

Nicolas