Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

VPN Service Modules and Inter-relationships

Geniusmodules.pngImage Modified

Interface Manager

...

Defining Granular interfaces (ODL-interfaces data-model)

Odlinterfacesdatamodel.png


Binding Services on an Interface

Servicebindingdatamodel.png

  • Service binding data model used to bind a service on a particular interface
  • Service module configures following parameters
    • Service-Priority
    • Service-Name
    • Service-Type
    • Service-Info
      • (for service-type openflow-based)
      • Flow-priority
      • Instruction-list
  • Interface Manager maintains a Service dispatcher table to regulate pipeline dynamically between services
  • Listens to service-binding changes and accordingly programs the dataplane (Table 0 & Service Dispatcher)








Service binding dataplane semantics

Dataplaneservicebinding.png


Making SBI protocol agnostic (South bound renderers)

  • Provide a flexible way to support multiple south bound protocols
  • North-bound interface/data-model is decoupled from south bound plugins
  • NBI Data change listeners select and interact with appropriate SBI renderers
  • New renderers can be added to support new Southbound interfaces/protocols/plugins
  • Needs to be re-concilied with Netvirt re-design proposal

Ifmsbirenderers.png


Shared Overlay Tunnel Service

  • Provides tunnel creation/management services
    1. Can be configured to automatically create a homogenous bi-directional tunnel mesh (VxLAN/GRE/others) between agiven group of DPNs
    2. API to add new nodes into an existing tunnel mesh
    3. API to create uni-directional tunnels from a DPN to an external IP node (CE router) which may not be under SDN control
    4. Support for tunnel level redundancy by creating a logical-group-interface, combining more than one tunnel interfaces, and allow for load-balancing or failovers in the group
  • API support to control monitoring of tunnel interfaces
  • API to get egress-actions and ingress-rules/bindService for specified uni-directional tunnel
  • NB Tunnel Up/Down events for services/ user-facing / analytics apps

Aliveness Monitor

  • Provides Controller driven monitoring services for
    1. Point-to-point interfaces (VxLAN/GRE)
    2. From an interface to destination IP Node
  • Consumes services from ARP, LLDP, Ping Modules
  • Generate Aliveness Events
  • Interface manager listens to Aliveness events and updates operational-state of interfaces
  • Consumers register for monitoring services specifying monitored interfaces and monitoring parameters
  • Uses –
    1. Physical topology monitoring
    2. monitoring of non-BFD transport tunnels
    3. Service Function Monitoring

ID Manager

  • Generates and provides unique integer IDs from a pre-configured ID-Pool with configured range to requesting services
    1. APIs for C/D of ID-Pool, assignment and lookups of IDs to services
  • Dual modes of operation
    1. Consistent ID generation – consistently provide the same ID for a particular unique key String, Id-value is retained across cluster restarts, and associated with unique key (implemented)
    2. Generic ID assignment, no guarantees of consistency or persistence (not implemented)
  • Can be used to assign IDs for and manage resources such as Openflow Tables, Groups, Meters, Service IDs
  • Used by Interface Manager for mapping service instances to logical tags in the data plane

MD-SAL UTIL

  • Provides Java interfaces to interact with MD-SAL DS and southbound OF-plugin.
    1. APIs for programming Flows & Groups
    2. APIs for Data-Store Read/write
    3. Generic CDN listener
  • Others?