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>