Lisp Flow Mapping: Lithium: Release Review
Contents
- 1 LISP Flow Mapping
- 2 Features
- 2.1 Hydrogen Release
- 2.2 Helium Release
- 2.3 Lithium Release
- 3 Non-Code Aspects (user docs, examples, tutorials, articles)
- 4 Architectural Issues
- 5 Security Considerations
- 6 Quality Assurance (test coverage, etc)
- 7 End-of-life (API/Features EOLed in Release)
- 8 Bugzilla (summary of bug situation)
- 9 Standards (summary of standard compliance)
- 10 Schedule (initial schedule and changes over the release cycle)
LISP Flow Mapping
Features
Hydrogen Release
First release of Lisp Flow Mapping
LISP Map Server with flat key-value mappings
Support for basic mappings including multiple RLOCs per EID, priority, and weight
Support for storing IPv4, IPv6, MAC, Distinguished Name, Segment ID, Traffic Engineering with Path Specification, AS Number, Application Specific Data
Support for Source/Destination 2-Tuple Lookups
LISP Map Resolver
Northbound (application facing) REST API for Map Server and Map Resolver to add/retrieve EID-RLOC (e.g. : virtual IP address to physical IP address) mappings
Southbound (device facing) LISP API for Map Server and Map Resolver to register/request EID-RLOC mappings via LISP protocol
Helium Release
Proactive Mapping System Pub/Sub: The mapping Service keeps a list of subscriber xTRs per mapping record (auto-subscribe at mapping request). When the mapping record is updated via NB API, mapping system sends SMR message including the updated record to the subscribing xTRs.
Map Request Non-Proxy Support: The mapping service supports receiving non-proxy map requests, and forward them to the current xTR.
Neutron API integration: Improved and expanded Neutron API support in LISP Flow Mapping. When a new neutron subnet is created, the subnet is added to mapping system with the Neutron net-ID as the key for the EID (subnet) prefix.
LISP SB plugin integration with Node Inventory and GUI: Enables status integration of LISP dateplane nodes in AD-SAL node inventory and AD-SAL GUI. Not included in Karaf.
Integration with Service Function Chaining: The mapping Service supports integration with Service Function Chaining, code is part of SFC.
Config command : setShouldOverwriteRloc true, enables overwrite of mappings instead of appending/merging
Port support for non proxy map request
Key-value LCAF support
Map-Reply in Map Request serialization. we now serialize the embedded map reply record.
Southbound xTR support. The southbound can now listen on another port which is the xTR port, and send a notification with the received map request.
Adding another address format: a DistinguishedName with value "<ip>:<port>"
Netconf: API/ability to programmatically connect to a netconf server from the LISP project. Not yet a user facing feature.
Lithium Release
Name | Description |
---|---|
Improved ELP processing | The mapping Service will Return both ELP and the next hop depending on the requesting xTR. This assists in ELP support for non-ELP enabled xTRs. |
Transition to MD-SAL | The NB API will be transitioned to MD-SAL. |
Continuous integration with Service Function Chaining | The mapping Service will continue support for integration with Service Function Chaining. |
Neutron implementation enhancements | Improve and expand Neutron API support in LISP Flow Mapping. |
Non-Code Aspects (user docs, examples, tutorials, articles)
User Guide for LISP Flow Mapping has been migrated form Helium documentation to Lithium and updated accordingly. This guide includes a tutorial on sample use cases. Docs commits can be found at:
Installation Guide(s) - LISP Flow Mapping installation follows the usual installation process. Config options are documented in the User Guide documentation.
Architectural Issues
An overview of the architecture including API documentation is posted at the Architecture Overview page.
Mappings register from northbound or southbound will no longer expire automatically. RPCs can be used to remove mappings registered from the northbound API. RESTCONF can be used to remove mappings registered from the southbound API. Use of RESTCONF for chaning mappings must be done with care as it is basically a direct access to our database, and unlike RPC, no processing/filtering will take place when using RESTCONF API.
Security Considerations
LISP southbound plugin follows LISP RFC6830 security guidelines. A key/password is associated with every EID prefix which is used to create a MAC (Message Authentication Code) of the UDP LISP control messages for authentication and integrity protection of the UDP messages. This is implemented as specified in the LISP RFC6830. These keys can be defined through the northbound API (RPCs).
Quality Assurance (test coverage, etc)
Unit Tests: Unit tests are implemented and coverage is at 31% reported in Jacoco results.
Integration Tests: About 30 integration tests have been implemented and are passed.
End-of-life (API/Features EOLed in Release)
Our Northbound service has been EOLed, including all associated northbound REST APIs. Equivalent APIs are now available via RPCs and RESTCONF. API documentation is available at API Documentation.
Bugzilla (summary of bug situation)
One design bug and two improvement bugs are outstanding. Target for these are Lithium SR2 and SR1 respectively.
Standards (summary of standard compliance)
The LISP implementation module and southbound plugin conforms to the IETF RFC6830 and RFC6833, with the following exceptions:
In Map-Request message, M bit(Map-Reply Record exist in the MapRequest) is processed but any mapping data at the bottom of a Map-Request are discarded.
LISP LCAFs are limited to only up to one level of recursion. For instance in the case of a traffic engineering policy every hop can only be a generic AFI address (IPv4, IPv6, MAC, Dist. Name, AS Number), and can not include combinations such as Segment ID, or list.
No standards exist for the LISP Mapping System northbound API as of this date.
Schedule (initial schedule and changes over the release cycle)
All features planned for this release cycle were met. Schedule of next release cycle is in the works.