OpenFlow Protocol

Extensions

Extension Mechanisms

Custom Node Types

The protocol supports custom node type extensions:

Registration Requirements

Custom nodes MUST:

  1. Follow Base Schema: Extend the standard node interface
  2. Provide Type Definition: Complete JSON schema for the node type
  3. Implement Interface: Conform to execution interface contract
  4. Include Documentation: Comprehensive usage documentation
  5. Handle Errors: Proper error handling and reporting

Namespace Convention

Custom node types MUST use namespaced identifiers:

  • Format: namespace:node_type
  • Example: acme:special_processor
  • Reserved namespaces: core, std, openflow

Custom Providers

Provider extensions enable integration with new services:

Provider Interface

interface Provider {
  readonly type: string;
  readonly version: string;
 
  initialize(config: ProviderConfig): Promise<void>;
  execute(request: ProviderRequest): Promise<ProviderResponse>;
  validate(config: object): ValidationResult;
  cleanup(): Promise<void>;
}

On this page