There are several potential topics to discuss regarding vendor plugins for L3, such as:
- How to handle vendor specific validation (e.g. say a vendor has restrictions or added capabilities compared to the reference drivers for attributes). Maybe provide a validate/commit/apply override for actions similar to L2 plugin pre/postcommit? - Providing neutron client with info on vendor capabilities (e.g. should help and validation be extended to include vendor capabilities or should it be delegated to server reporting?) - Handling and reporting of device driver errors to the user (e.g. failure establishing a IPSec tunnel?) Maybe include a "last action results" field in database that can appear in show command? - Provider selection for resources (e.g. should VPN IPSec policies have vendor specific policies or should we rely on checks at connection creation for policy compatibility?) - Handling of multiple device drivers per vendor (e.g. have service driver determine which device driver to send RPC requests, or have agent determine what driver requests should go to - say based on the router type)
The goal would be to come up with schemes that could be used across different vendors and, if possible/sensible, across service types, and would apply for all implementations (including reference).