Add enhanced ELP RLOC processing in Map-Replies 05/15505/2
authorLorand Jakab <lojakab@cisco.com>
Thu, 16 Oct 2014 10:59:04 +0000 (12:59 +0200)
committerLorand Jakab <lojakab@cisco.com>
Fri, 6 Mar 2015 16:36:00 +0000 (18:36 +0200)
commit97eef528f93019ecc8b14f5cc21a0422f8b42135
tree6f46da4eb413ca755954e6b154e7dfe03f753166
parentccdaa0f0142b70340a658b81fa964778807169e0
Add enhanced ELP RLOC processing in Map-Replies

Not all LISP data plane forwarding elements undestand the ELP LCAF used
for service chaining.  One solution to this problem is to check the list
of ITR-RLOCs in the Map-Requests against the ELP hop list and return the
next hop in a separate, lower priority simple (IPv4 or IPv6 AFI) locator
record.  This commit introduces this functionality in the mapping
service.

The more complex cases of several ELP locator records with different
priorities in combination with this patch have not been given a lot of
thought, and may lead to unexpected results.

The feature can be controlled using the 'lisp.elpPolicy' configuration
file property, which should be edited in the etc/custom.properties file
of the karaf distribution.  The three possible values are: 'default',
'both' and 'replace'.  'Default' keeps the ELP unmodified, 'both' adds
the next hop as a simple IPv4/IPv6 entry, and lowers ELP priority, while
'replace' removes the ELP, and keeps the next hop only.

Change-Id: I8166ca53a33413c212fd1e91d2d111611589b416
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/config/ConfigIni.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/lisp/MapResolver.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/util/LispAFIConvertor.java