...
Contents
Table of Contents outline true
outline | true |
---|
Background
Application Co-existence and Integration Challenges
...
VPN Service Modules and Inter-relationships
Interface Manager
...
Defining Granular interfaces (ODL-interfaces data-model)
Binding Services on an Interface
- 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
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
Shared Overlay Tunnel Service
- Provides tunnel creation/management services
- Can be configured to automatically create a homogenous bi-directional tunnel mesh (VxLAN/GRE/others) between agiven group of DPNs
- API to add new nodes into an existing tunnel mesh
- API to create uni-directional tunnels from a DPN to an external IP node (CE router) which may not be under SDN control
- 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
- Point-to-point interfaces (VxLAN/GRE)
- 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 –
- Physical topology monitoring
- monitoring of non-BFD transport tunnels
- Service Function Monitoring
ID Manager
- Generates and provides unique integer IDs from a pre-configured ID-Pool with configured range to requesting services
- APIs for C/D of ID-Pool, assignment and lookups of IDs to services
- Dual modes of operation
- 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)
- 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.
- APIs for programming Flows & Groups
- APIs for Data-Store Read/write
- Generic CDN listener
- Others?