Revision history [back]

Hey Mithil,

One approach that quickly comes in my head for achieving what you are asking could be by having your plugin which inherits from Ml2Plugin class in neutron.plugins.ml2.plugin. Following is how your class would look:

class MyPlugin(Ml2Plugin):
    def create_foxinsock(self, context, foxinsocks):
        # you have foxinsock containing all your extensions attribute
    [.. rest of the code ..]

Use this class as your core_plugin in /etc/neutron/neutron.conf.

With this, all (create/delete/update/get)_(network/subnet/port) operations would be taken care in Ml2Plugin class. All other extension methods will be handled here. Remember that you should append your extension aliases with that provided in class Ml2Plugin under supported_extension_aliases to load all extensions supported by ML2 as well as by your plugin.

Hope this helps.