lispflowmapping.git
8 years agoSwitch to using lisp-address instead of LispAddress 56/27756/4
Lorand Jakab [Thu, 1 Oct 2015 16:17:22 +0000 (19:17 +0300)]
Switch to using lisp-address instead of LispAddress

This commit modifies the build to make experimentation easy. Modules
that wouldn't build are commented out, tests that would fail are skipped
by default, and Karaf will only load odl-lispflowmapping-models instead
of the odl-lispflowmapping-msmr feature. Additionally odl-mdsal-apidoc
is pulled in automatically.

If you start Karaf after a successful build, you should be able to
explore the API and play with adding/removing keys/mappings to/from the
config datastore.

Change-Id: I70fd3c950d4b668bc57fa55a8156b76fe2751437
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoRemove hardcoded karaf version from IT 21/27921/1
Lorand Jakab [Mon, 5 Oct 2015 08:49:54 +0000 (11:49 +0300)]
Remove hardcoded karaf version from IT

This allows the version bumping scripts to work without the need to
manually modify a Java file.

Change-Id: Ief4ef577fbfcc17ef842284cf432b976a671faf5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 6f1b9f93748bc1d92d1e936ec13d6979d497a831)

8 years agoUpdate tutorial Postman for Beryllium 19/27919/1
Lorand Jakab [Wed, 30 Sep 2015 16:49:39 +0000 (19:49 +0300)]
Update tutorial Postman for Beryllium

Change-Id: I5733da2c43eb0098a16639247e7a3c77f620348c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 6385e4b99da00ddbcda3e127813e7053d150363a)

8 years agoMove karaf shell commands to the config subsystem 80/27580/1
Lorand Jakab [Fri, 25 Sep 2015 12:43:54 +0000 (14:43 +0200)]
Move karaf shell commands to the config subsystem

Change-Id: I2190e38c81081de8778a791baa2ffc6795c1a791
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit e4eb4c141c3e2fb820fa0129574dd565f311d0cb)

8 years agoAdd support for AS Number and No Address base types 36/27536/1
Lorand Jakab [Mon, 28 Sep 2015 14:09:23 +0000 (17:09 +0300)]
Add support for AS Number and No Address base types

Change-Id: Ice1a024572fe302d5b98c9f537b86d3c93c8a5c6
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoStart work on IETF YANG integration 73/27473/2
Lorand Jakab [Fri, 25 Sep 2015 21:49:16 +0000 (23:49 +0200)]
Start work on IETF YANG integration

Change-Id: Ia4e453cb916bc95227fb59a6549e5a3612ca5969
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMove lisp-config to the southbound bundle 93/27393/1
Lorand Jakab [Thu, 24 Sep 2015 13:45:24 +0000 (15:45 +0200)]
Move lisp-config to the southbound bundle

The module is configuring southbound related variables (binding
address), so it belongs there. This commit just migrates files from the
separate old "config" bundle, with is deleted. Further modifications (if
necessary) will be done in a different commit.

Change-Id: I3af5a98f7c0be1020141f9edf925a14b72470dfe
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMove service definitions to mappingservice.api 61/27161/3
Lorand Jakab [Tue, 22 Sep 2015 19:18:16 +0000 (21:18 +0200)]
Move service definitions to mappingservice.api

They define an API so that's a better place, it allows alternative
implementations and make it possible to get a service reference without
making implementations a dependency (thus avoinding potential circular
dependencies).

Change-Id: Icef7d033847d50369c711164e975cbde0bfb165d
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoPretty JSON for detailed view at tables 55/27055/4
Alberto Montes [Wed, 16 Sep 2015 16:20:49 +0000 (18:20 +0200)]
Pretty JSON for detailed view at tables

Now, at the view button of the Keys and Mappings tables show the JSON of the object in a pretty way.

Change-Id: I54ae7a55988232ef5d392fe153f27b1477e55439
Signed-off-by: Alberto Montes <al.montes.gomez@gmail.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoFix integration tests failure 05/27305/1
Lorand Jakab [Tue, 22 Sep 2015 17:38:35 +0000 (19:38 +0200)]
Fix integration tests failure

Change-Id: I675633722934cd72851d1f5b6f30d3380463249e
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoReorganize features 94/26994/2
Lorand Jakab [Tue, 15 Sep 2015 21:24:11 +0000 (00:24 +0300)]
Reorganize features

  - Remove the *-all feature, since it's use is not recommended
  - Introduce a less inclusive than *-all user facing feature: *-msmr
  - Make *-southbound a standalone feature
  - Reduce dependencies for *-ui

Change-Id: I2336995b4089ad47fa1327cb67d8b4e7df708873
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoAdd basic southbound statistics 49/26649/3
Lorand Jakab [Sat, 12 Sep 2015 00:39:25 +0000 (03:39 +0300)]
Add basic southbound statistics

Add control packet counters to the southbound plugin.  For now, they are
accessible through the RPC interface.  They will be exposed through the
operational datastore eventually, and possibly through an MBean.

Change-Id: I9733a622b56826b030f103c1e6607182af624a56
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoSeparate MappingService from LispMappingService 25/26725/4
Florin Coras [Sat, 5 Sep 2015 13:09:19 +0000 (15:09 +0200)]
Separate MappingService from LispMappingService

This is the last in a series of patches meant to enable independent
caching of northbound and southbound mapping registrations and
better modularize mappingservice.implementation. In
particular, with this patch we separate the MappingService, that
coordinates the storage and quick retrieval of mappings, from the
LispMappingService, which implements the LISP specific
MapServer/MapResolver behavior for southbound clients by leveraging the
previous service. To this end, apart from inheriting the RPC API,
MappingService also implements a new Java API that may be consumed as a
SAL service.

Functionally, the MappingService acts an API dispatcher that coordinates
and acts as container for all objects in charge of i) saving and
updating md-sal datastore stored mappings/keys ii) monitoring md-sal
datastore mapping/key updates and pushing them to the in memory
mapping-system iii) in memory mapping-system, which consists of a set of
mappings caches and a simple (for now) querying policy.

Other notable changes:
- declutter the MapServer/Resolver Java API hierarchy and update
  IFlowMapping API
- update ILispDAO and the HashMapDb to support the introduction of
  'virtual' tables. So we now have a Table->SubTable hierarchy and
  SubTables can be nested recursively.
- added IMapCache interface and 3 types of map-caches:
    o) flat: for flat addresses
    o) simple: for flat and IP addresses. It supports longes prefix
       matching for IPs.
    o) multi-table: for flat, IP and multi-level addresses (SourceDest
       LCAF for now). For IP and multi-level addresses longest prefix
       matching is supported.
- update unit and integration tests

Change-Id: I2532b04a9693f86c3ba87eddc982725fd12a429f
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoMigration to use MD-SAL Project 73/26373/6
Tony Tkacik [Wed, 2 Sep 2015 14:13:30 +0000 (16:13 +0200)]
Migration to use MD-SAL Project

Change-Id: I562033034aa3f7cae6413a97bf7dbfa7b04d3cfc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoRemove features from "legacy" parent 20/26620/1
Lorand Jakab [Mon, 7 Sep 2015 15:02:21 +0000 (18:02 +0300)]
Remove features from "legacy" parent

Project features are based off features-parent, so no need for features
related dependencyManagement entries in the old parent pom file (which
we should clean up step by step).

Change-Id: I1fee8e55be6802fe51084c716d5091bc5b361f7b
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMove SB RPCs from LISP Proto to API 01/26601/3
Lorand Jakab [Mon, 7 Sep 2015 10:56:46 +0000 (13:56 +0300)]
Move SB RPCs from LISP Proto to API

The lisp-proto artifact contains the YANG model describing the LISP
protocol messages.  It also contained RPCs that are used to send those
protocol messages.  However, those RPCs are not part of the LISP
protocol itself, and this commit moves them to the API bundle.  They are
implemented the the southbound plugin.

Change-Id: I695068ba5a71db4fe3d5ae6560f03570bf9f3352
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMigrate netconf and restconf dependencies 99/26599/2
JMorvay [Mon, 7 Sep 2015 10:55:15 +0000 (12:55 +0200)]
Migrate netconf and restconf dependencies

Migrate project's restconf and netconf dependencies
and features to new groupId/version

Change-Id: I1c5f7fd7b0d781e1e3df378dd0b16e4a618fe1f0
Signed-off-by: JMorvay <jmorvay@cisco.com>
8 years agoMerge "Use odlparent configuration for jacoco"
Lori Jakab [Sun, 6 Sep 2015 13:11:40 +0000 (13:11 +0000)]
Merge "Use odlparent configuration for jacoco"

8 years agoRemove NETCONF module reference from POM/features 63/26463/1
Lorand Jakab [Thu, 3 Sep 2015 13:41:16 +0000 (16:41 +0300)]
Remove NETCONF module reference from POM/features

[... but leave the actual code]

Change-Id: I54ec36db20944d0c3bcf96ad3a146f5b477987e5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoRemove ClusterDAO 29/26429/1
Lorand Jakab [Thu, 3 Sep 2015 02:59:34 +0000 (05:59 +0300)]
Remove ClusterDAO

Change-Id: Idb42beaeaa2c951fe0f77c4496c90d36312bf9dd
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoRemove unneeded dependencies from POM files 15/26415/1
Lorand Jakab [Wed, 2 Sep 2015 18:52:16 +0000 (21:52 +0300)]
Remove unneeded dependencies from POM files

Change-Id: I1bf2bacca89d89dd89b7353818fab9c0920815a5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoUse odlparent configuration for jacoco 98/26298/1
Thanh Ha [Wed, 2 Sep 2015 02:45:22 +0000 (22:45 -0400)]
Use odlparent configuration for jacoco

Change-Id: Ibddda8c56e26372ddb0b05e508a5b02a3ee081dc
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoForce eid normalization and fix SourceDest RPCs 73/26273/1
Florin Coras [Tue, 1 Sep 2015 11:41:03 +0000 (13:41 +0200)]
Force eid normalization and fix SourceDest RPCs

This patch introduces two fixes:
1) Force eid normalization for all CRUD operationas. This is
particularly needed for IPv6 addresses.
2) Fix mask lengths for SourceDest addresses in RPCs

Change-Id: I3ad2877da94af9a2a704cf410e508c9d6580218a
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoMerge "Fix IP masking and normalize keys in TopologyMapCache"
Lori Jakab [Tue, 1 Sep 2015 07:25:10 +0000 (07:25 +0000)]
Merge "Fix IP masking and normalize keys in TopologyMapCache"

8 years agoFix IP masking and normalize keys in TopologyMapCache 59/26259/1
Florin Coras [Mon, 31 Aug 2015 22:25:14 +0000 (00:25 +0200)]
Fix IP masking and normalize keys in TopologyMapCache

Change-Id: Ie1dfc74131246bce7136d491f9da8bd450c2a3b2
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoMerge "Update DAO API"
Lori Jakab [Mon, 31 Aug 2015 17:01:52 +0000 (17:01 +0000)]
Merge "Update DAO API"

8 years agoUpdate DAO API 06/26206/4
Florin Coras [Sun, 23 Aug 2015 15:48:30 +0000 (17:48 +0200)]
Update DAO API

The changes are meant to simplify the interaction between
Map-Server/Map-Resolver and DAO but also to avoid expensive data types
conversions. Most notable:

- Use LispAddressContainer instead of IMappingKey as key for DAO. This
  required updating IPv4 and IPv6 addresses, as modeled in
  lisp-proto.yang, to include mask length, needed for longest prefix
  matches. Additionally, 1) for southbound messages, deserializers had to
  be updated to ensure that mask lengths of deserialized EIDs reflect the
  values set in the corresponding LISP messages fields 2) RPC handler
  methods had to be updated to ensure EID mask lengths are equal to those
  set in RPC input objects.
- EidToLocatorRecord is used as value in DAO instead of RLOCGroup. This
  avoids data type conversions when storing and retrieving mappings
  (Map-Register/Map-Reply) but also ensures that the matched EIDs are
  implicitly returned with each lookup. This avoids the overhead
  associated to building on the fly EID-to-RLOCGroup pairing, because of
  longest prefix matching requirements.
- Rename DAOMappingUtil to TopologyMapCache and cleanup of map-cache
  lookup logic
- Introduce new DAO API method for building nested DAOs. Since this
  acts as a factory method, it also avoids TopologyMapCache dependence
  on DAO implementation.

Change-Id: I1ef9c256fc0bf86d82de4d3d1473e7decd47a9e4
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoFix: Showing the LCAF Locators at the mapping table 36/26036/1
Alberto Montes [Wed, 26 Aug 2015 15:55:15 +0000 (17:55 +0200)]
Fix: Showing the LCAF Locators at the mapping table

Change-Id: Iba8f31bf2be202a4e1acb12832d7bbda997cd6cf
Signed-off-by: Alberto Montes <al.montes.gomez@gmail.com>
8 years agoAdd LISP user interface 33/25933/6
Alberto Montes [Tue, 25 Aug 2015 08:48:11 +0000 (10:48 +0200)]
Add LISP user interface

Add new menu option LISP UI, with two tabs, Keys and Mappings.

Change-Id: I30f855d686f159e8dd10534a46857f3414d9b470
Signed-off-by: Alberto Montes <al.montes.gomez@gmail.com>
8 years agoUpdate URLs for mappingservice postman collections 57/25857/1
Florin Coras [Mon, 24 Aug 2015 08:06:25 +0000 (10:06 +0200)]
Update URLs for mappingservice postman collections

Change-Id: Id18d8bf153e0a88876c1c6ea2ba6646fcebcb750
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoCleanup mappingservice.yangmodel 67/25567/2
Florin Coras [Thu, 20 Aug 2015 17:17:16 +0000 (19:17 +0200)]
Cleanup mappingservice.yangmodel

The most important changes:
- Rename lisp-control-plane.yang to lisp-proto.yang. RPCs and
  notifications are still to be moved out to a separate yang file
- Move to mappingservice.api and rename lfm-mapping-database.yang to
  mappingservice.yang since it is the API for
  mappingservice.implementation

Change-Id: I7c2161d2c310e20bdbf46ab67573514d3969f223
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoReorganize mappingservice.implementation 57/25457/9
Florin Coras [Wed, 19 Aug 2015 00:54:24 +0000 (02:54 +0200)]
Reorganize mappingservice.implementation

This consists of a number of incremental changes ultimately meant to
ensure the clear separation between the components implementing the LISP
control plane logic (MapServer/MapResolver) and the logic used to
manipulate the database that stores mapping state. This should give us
better isolation (i.e, should help testing) but also opens the
possibility to better optimize DAO/map-cache implementation for specific
use-cases, if needed.

Noteworthy changes:
- Move out code concerning logic behind CRUD operations on DAO from
  MapServer and MapResolver to DAOMappingUtil. In future patches the
  latter will be converted to a MapCache class instead of a helper
  class.
- Move serializer and LISP protocol utility functions from
  mappingservice.implementation to yangmodel.
- Remove bundle dependencies on mappingservice.implementation. Bundles
  should be importing mappingservice.api.
- Cleanup pom files

Change-Id: I199b8d2162cd2ab2b54cd3340eb24811fd6cd5be
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoMove integration tests to mdsal-it-parent 88/25388/6
Lorand Jakab [Fri, 21 Aug 2015 11:00:25 +0000 (14:00 +0300)]
Move integration tests to mdsal-it-parent

Change-Id: I233e61d53988036db34cdc78b48e94b9db004fae
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMove features to features-parent 90/25290/1
Lorand Jakab [Fri, 14 Aug 2015 13:57:17 +0000 (16:57 +0300)]
Move features to features-parent

Because:
  1) It's sort of needed for karaf based IT
  2) Less maintenance burden
  3) It's the RightThing(tm)

Change-Id: I5b527daea160e1bcc0509bda9c12f96816e1a8b9
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoRemoving mappingservice.netconf and its dependencies from build 67/25267/3
Florin Coras [Thu, 13 Aug 2015 21:17:40 +0000 (23:17 +0200)]
Removing mappingservice.netconf and its dependencies from build

Change-Id: I2e16ff038fbe5e3fbfc25c41968384a20cdb329d
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoFix breakage caused by config/netconf decoupling 53/25253/1
Lorand Jakab [Thu, 13 Aug 2015 16:41:29 +0000 (19:41 +0300)]
Fix breakage caused by config/netconf decoupling

Gerrit https://git.opendaylight.org/gerrit/#/c/23413 broke the build,
this commit fixes it.

Change-Id: I87c9b738d31a94f51d0f99f79cce89119627ff56
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoAdd basic Site-ID support to mappings 31/25231/1
Lorand Jakab [Wed, 12 Aug 2015 14:13:33 +0000 (17:13 +0300)]
Add basic Site-ID support to mappings

This patch adds basic support for storing a list of Site-IDs with a
mapping in the MD-SAL config datastore, both from the southbound via
Map-Register messages and from the RESTCONF interface. Using RPCs is not
supported yet. This is useful for grouping EIDs belonging to the same
site in the topology view of the LISP UI.

Change-Id: Ie2ffc2dfb5f922ca5be3e3282ef63af0f0054f43
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoUnclutter DEBUG log output 25/25225/1
Lorand Jakab [Thu, 13 Aug 2015 09:47:18 +0000 (12:47 +0300)]
Unclutter DEBUG log output

Move log messages that print out entire data structures to TRACE level,
so that users can switch between full detail (TRACE) and somewhat easy
to follow (DEBUG) output.

Change-Id: I41750e9e044bfcb2177a17a091e9c8648d8ba69a
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMerge "added suport for lisp southbound to act also as a mapping service client."
Lori Jakab [Wed, 12 Aug 2015 12:35:49 +0000 (12:35 +0000)]
Merge "added suport for lisp southbound to act also as a mapping service client."

8 years agoBug 4079: Fix regression introduced by Change-Id I3e9f92dcbb2d6bd82384d7229320e979b68... 42/25142/1
Lorand Jakab [Tue, 11 Aug 2015 10:32:56 +0000 (13:32 +0300)]
Bug 4079: Fix regression introduced by Change-Id I3e9f92dcbb2d6bd82384d7229320e979b68461d5

Change-Id: Id08dabdd577b2bb6575a205fb89e8e3f2d08b488
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoBug 4057: Make subscriber HashMap concurrent 21/24921/1
Lorand Jakab [Fri, 7 Aug 2015 12:35:51 +0000 (15:35 +0300)]
Bug 4057: Make subscriber HashMap concurrent

Change-Id: Ic3a70ccca9202584dcd293f2ca2a5459d7324ab2
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 7c370deff1cb8d0ecce845eb0d3bd874174d40b7)

8 years agoBug 4097: Don't add subscribers with no Source-EID 04/24904/1
Lorand Jakab [Thu, 6 Aug 2015 00:01:57 +0000 (03:01 +0300)]
Bug 4097: Don't add subscribers with no Source-EID

Change-Id: I3e9f92dcbb2d6bd82384d7229320e979b68461d5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 0d464b04187c2456e57ac5d758ccfac686f48618)

8 years agoadded suport for lisp southbound to act also as a mapping service client. 84/24884/1
David Goldberg [Mon, 19 Jan 2015 12:50:12 +0000 (14:50 +0200)]
added suport for lisp southbound to act also as a mapping service client.

Change-Id: Ic82bc85fd4254903ab39499b9f53348ede3c22b9
Signed-off-by: David Goldberg <david.goldberg@contextream.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit d1f12050a011dd8b08e10e23638bb3b1e2e53c3f)

8 years agoBug 4077: Send SMR when deleting a Src/Dst mapping 24/24824/1
Lorand Jakab [Wed, 5 Aug 2015 22:28:57 +0000 (01:28 +0300)]
Bug 4077: Send SMR when deleting a Src/Dst mapping

When we had a general mapping and within that a src/dst mapping,
deleting the src/dst mapping was not generating an SMR to the
subscribers of said  mapping. This commit fixes that.

Change-Id: I199af9f8558a8ebbf4a100f224c570893f548c20
Reported-by: Vina Ermagan <vermagan@cisco.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 551b102f4ae329dca674509120acbecfd035b716)

8 years agoBug 4046: Fix EID Record in SMRs 51/24451/1
Lorand Jakab [Thu, 23 Jul 2015 00:04:56 +0000 (17:04 -0700)]
Bug 4046: Fix EID Record in SMRs

Change-Id: I6712d47c7b3f877d01143b77203afffd47aaf812
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 65e3afef3b1362821dd4c54b3f9b18ab91069dac)

8 years agoBug 3995: Store empty mappings in DAO 62/24362/1
Lorand Jakab [Tue, 21 Jul 2015 04:52:11 +0000 (21:52 -0700)]
Bug 3995: Store empty mappings in DAO

Since empty mappings (mappings without a locator set) are not stored in
the DAO, we have an inconsistency between MD-SAL (which does store such
mappings) and the DAO. Additionally, it makes it impossible to set a
specific action for a specific EID, when no locators are present, for
example a simple "drop" policy. This commit makes it possible to store
and retrieve empty mappings from the DAO.

Change-Id: I9a380d3e7a1d4281b512854cffdc2f6eda6a277c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit dd034830cd0cb464d6bd2527a92f51bd14891008)

8 years agoBug 4005: Fix SMRs 27/24327/1
Florin Coras [Fri, 17 Jul 2015 01:55:10 +0000 (03:55 +0200)]
Bug 4005: Fix SMRs

Change-Id: I58bbbe77a219f2c65fd3dee9e830fc2da8a0f8a7
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from e5a682941b8a0b8d020e9b406220e2cf47fd8148)

8 years agoBug 4005: Set the correct Source-EID in SMRs 26/24326/1
Lorand Jakab [Thu, 16 Jul 2015 09:57:25 +0000 (12:57 +0300)]
Bug 4005: Set the correct Source-EID in SMRs

Change-Id: Ifdf0812db44f0e2eb6ce880a7ad23b67b29632f3
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit cb225f62c71a5b42d35afc366c719d7518675912)

8 years agoBug 4012: Fix NPEs due to insertion/removal of negative mappings 23/24223/1
Florin Coras [Fri, 17 Jul 2015 01:26:06 +0000 (03:26 +0200)]
Bug 4012: Fix NPEs due to insertion/removal of negative mappings

Change-Id: I3b475a6c0e99cec6652e308daaba1552cfe9f241
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit c8f77f83890002aa135d7b8ebb2502e9c68e267f)

8 years agoBug 4011: Fix LocatorRecord routed flag in Map-Replies 22/24222/1
Florin Coras [Fri, 17 Jul 2015 00:49:47 +0000 (02:49 +0200)]
Bug 4011: Fix LocatorRecord routed flag in Map-Replies

Change-Id: I1393f9f15601734e341b3f01463052d30661319e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 6b82aa0cf29f30b9ff16f3e993fd8ab1ef50150b)

8 years agoImprove exception code 96/24096/2
Lorand Jakab [Tue, 14 Jul 2015 12:07:19 +0000 (15:07 +0300)]
Improve exception code

Change-Id: If86fe497c1b8f89a50a919088638a14ce8117c5c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoBug 3877: Fix sending SMR to IPv6 subscribers 63/24063/2
Lorand Jakab [Mon, 13 Jul 2015 16:32:14 +0000 (19:32 +0300)]
Bug 3877: Fix sending SMR to IPv6 subscribers

Additionally, make the exception for failed SMRs more helpful, since it
only showed a pointer address of the stack trace, not the actual trace.

Change-Id: Ic7861c14c6d87bd9cc93eb69b3158532a229a15e
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 8b3bcab42d6ab687c9307d57fb67c01cfe37d577)

8 years agoMove HashMapDb to its own bundle 64/24064/2
Florin Coras [Mon, 13 Jul 2015 00:20:28 +0000 (02:20 +0200)]
Move HashMapDb to its own bundle

HashMapDb is a simple, in memory implementation of ILispDAO, the
interface that defines the API for the interaction with the Map-Server's
mappings database. Until now, HashMapDb was part of
mappingservice.implementation but with this commit it is moved to its
own mappingservice.inmemorydb bundle.

An important feature is that a ILispDAO implementation is now injected
into mappingservice.implementation at runtime through config-subsystem.
As a result, InMemoryDb can be easily swapped with other implementations.

Change-Id: I29af97b831414eecbbf3c29e6fbec086a627a770
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoBug 3979: Fix NPE for get-mapping RPC when mapping contains ELP 88/23988/1
Florin Coras [Fri, 10 Jul 2015 11:43:18 +0000 (13:43 +0200)]
Bug 3979: Fix NPE for get-mapping RPC when mapping contains ELP

Change-Id: Ie6ec638c0c10e62f7eb8b0aee2b875dc1b10d815
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit e9ce10cd33e357c6070598b5a4e2daca45cb0c33)

8 years agoBug 3951: Send SMRs to both SrcDst and Dst subscribers 81/23881/1
Florin Coras [Tue, 7 Jul 2015 15:20:01 +0000 (17:20 +0200)]
Bug 3951: Send SMRs to both SrcDst and Dst subscribers

Change-Id: I6754d02e67005b74be033dbbea2395910b8c479c
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 5d2c9ca667c38dd83d072d8487e7e6c477694991)

8 years agoBug 3951: For Src/Dst update, SMR Dst EID 51/23851/2
Lorand Jakab [Tue, 7 Jul 2015 12:25:38 +0000 (15:25 +0300)]
Bug 3951: For Src/Dst update, SMR Dst EID

Change-Id: I00c8b22a8a3c8c99e6d8d6fe6d5c6fd4fed626d5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit d27bd6bdb61db7d0385dc5c616ce43928b6eee19)

8 years agoMerge "Bug 3950: SMR parent subscribers on Src/Dst mapping change"
Lorand Jakab [Tue, 7 Jul 2015 19:11:21 +0000 (19:11 +0000)]
Merge "Bug 3950: SMR parent subscribers on Src/Dst mapping change"

8 years agoBug 3950: SMR parent subscribers on Src/Dst mapping change 32/23832/2
Lorand Jakab [Tue, 7 Jul 2015 12:16:25 +0000 (15:16 +0300)]
Bug 3950: SMR parent subscribers on Src/Dst mapping change

Change-Id: Iaf0dc0a62c04e4c67913d67d7b9bb18bba343ce6
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit f4246f57e06d62b2617a405d8351da5a53207fa8)

8 years agoBug 3946: Fix 'lisp:mappings' output for SrcDst 34/23834/1
Lorand Jakab [Tue, 7 Jul 2015 11:14:15 +0000 (14:14 +0300)]
Bug 3946: Fix 'lisp:mappings' output for SrcDst

Change-Id: Iea973d6af98e3446885b844385c15fabcbff3820
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 348aaae0421edb85de3958736f3cee925425c05c)

8 years agoBug 3781: Fix locator list name hack 06/23806/1
Lorand Jakab [Tue, 7 Jul 2015 07:35:57 +0000 (10:35 +0300)]
Bug 3781: Fix locator list name hack

There is an inconsistency in the mapping stored and the mapping
retrieved from the DAO, since the list key called 'name' for
LocatorRecord is autogenerated when replying. It looks like now a
getName() method is available, so we can retrieve the original key.

Change-Id: I28263028b1907720e4433b0336989a358abcf1c4
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit adcd2d69ec06c36bda88380151d2f6d4725e49b0)

8 years agoClean neutron POM file 29/23129/1
Florin Coras [Sat, 20 Jun 2015 02:07:02 +0000 (19:07 -0700)]
Clean neutron POM file

Change-Id: I939aeaa20922ed4feb221409a550b0734d3c298a
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 7fd15a56c31c23f95ca5e7629ac1413a26161db2)

8 years agoBug 3819: Fixing the inconsistency by using RPC to register 24/23024/1
Vina Ermagan [Thu, 18 Jun 2015 20:18:04 +0000 (13:18 -0700)]
Bug 3819: Fixing the inconsistency by using RPC to register

Change-Id: Ib390645f507ff011d7596e72d8b85ac17eb3038c
Signed-off-by: Vina Ermagan <vermagan@cisco.com>
(cherry picked from commit 277df59662c96e76b0ffddeac3526f5b26e808c4)

8 years agoMerge "Bug 3809: Fix pitr bit processing in MapResolver"
Vina Ermagan [Fri, 19 Jun 2015 00:39:33 +0000 (00:39 +0000)]
Merge "Bug 3809: Fix pitr bit processing in MapResolver"

8 years agoBug 3813: Fix elp handling in map-replies 43/22943/1
Florin Coras [Thu, 18 Jun 2015 22:44:57 +0000 (15:44 -0700)]
Bug 3813: Fix elp handling in map-replies

Change-Id: I2233b23e8c67cde3e5a9085fbd9c9130e379bfa7
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit cdbed83af5d3ec129eaf734e6d1a683320841904)

8 years agoBug 3809: Fix pitr bit processing in MapResolver 42/22942/1
Florin Coras [Thu, 18 Jun 2015 21:34:17 +0000 (14:34 -0700)]
Bug 3809: Fix pitr bit processing in MapResolver

Change-Id: I10fac0c722b1ae662f627f3197349ded0d6f9ab9
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 79031421451059e97e399f99e5798e9c3515723d)

8 years agoBug 3807: Fix SMR not being sent on mapping change 22/22922/2
Lorand Jakab [Thu, 18 Jun 2015 19:59:44 +0000 (22:59 +0300)]
Bug 3807: Fix SMR not being sent on mapping change

Change-Id: I42d52bb813c936643162328fb49a9c81d3ad5968
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 4abb7ea3a56be83ed4ff27462a5fa03a23b15a3f)

8 years agoBug 3798: Fix NPE when restoring dao from an empty mdsal datastore 65/22865/1
Florin Coras [Thu, 18 Jun 2015 08:55:49 +0000 (01:55 -0700)]
Bug 3798: Fix NPE when restoring dao from an empty mdsal datastore

Change-Id: I14b53e1455fc653ced92906247f2d84232148135
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit 0456793ff120dc7a643053efbf83dad240493697)

8 years agoBug 3781: Return all locators on the RPC interface 52/22852/1
Lorand Jakab [Wed, 17 Jun 2015 20:34:33 +0000 (23:34 +0300)]
Bug 3781: Return all locators on the RPC interface

When using the RPC interface to retrieve mappings, the DAO backend is
queried for the data.  Howver, the DAO doesn't store the 'name' list key
for a mapping, and so far the string "Autogenerated" was returned for
each locator.  It looks like the ODL RPC implementation doesn't allow
list entries with duplicate keys, so only one locator was returned to
the user (even though the LISP code handled all).

This commit changes to "Autogenerated" string to be the textual
representation of the locator.  This does not fully solve the bug,
since it is theoretically possible to list the same locator more than
once in a mapping.  That is not the case for normal operation however,
so at least we can lower the severity of the bug from 'critical' to
'minor'.

The proper fix is to store the user supplied key for the locator in the
DAO.

Change-Id: Icdfeb4a7ce9a79c16e854e8e92ebd6d1f7d30ed5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit a547901fc0f71feb4216bda5d69a73c82947e679)

8 years agoMerge "Bug 3765: Restore dao from mdsal config datastore at startup"
Lori Jakab [Wed, 17 Jun 2015 19:56:00 +0000 (19:56 +0000)]
Merge "Bug 3765: Restore dao from mdsal config datastore at startup"

8 years agoBug 3765: Restore dao from mdsal config datastore at startup 15/22815/1
Florin Coras [Wed, 17 Jun 2015 02:30:18 +0000 (19:30 -0700)]
Bug 3765: Restore dao from mdsal config datastore at startup

Change-Id: Iedbe7973aec8955f4573eca2c3d26bee69075b19
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoBug 3657: Fix IPv6 transport in southbound plugin 82/22782/1
Lorand Jakab [Tue, 16 Jun 2015 09:09:16 +0000 (12:09 +0300)]
Bug 3657: Fix IPv6 transport in southbound plugin

Change-Id: I265b6aa5ccd8d5c12db31aebfe683861b00dc4ea
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoBug 3590: Fix LCAF 12 mapping removal 79/22779/1
Lorand Jakab [Mon, 15 Jun 2015 17:30:26 +0000 (20:30 +0300)]
Bug 3590: Fix LCAF 12 mapping removal

Change-Id: If06a730304c1b2834ced2605cf729c8ff66eb78a
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoAdd code coverage for bundles under mappingservice/ 75/22775/1
Lorand Jakab [Thu, 11 Jun 2015 21:24:26 +0000 (00:24 +0300)]
Add code coverage for bundles under mappingservice/

Change-Id: Id3ae7c0943001a238678237dcb05fc8d301a9c7c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoMove config-parent to aggregator POM 74/22774/1
Lorand Jakab [Wed, 17 Jun 2015 10:11:25 +0000 (13:11 +0300)]
Move config-parent to aggregator POM

More then one project in the mappingservice/ directory is hanging off
config-parent.  This commit defines it as a parent in the aggregator POM
mappingservice/pom.xml, so that common configration for all projects,
like checkstyle and coverage can live in a single place.

Change-Id: I9e04b707ca0dbdac756bdd212ebc55bc869ee802
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
8 years agoBug 3661: Avoid storing mappings in config datastore when authentication 44/22744/1
Florin Coras [Tue, 16 Jun 2015 18:23:26 +0000 (11:23 -0700)]
Bug 3661: Avoid storing mappings in config datastore when authentication
fails

Change-Id: Ia1a30e75514ecdcb96ee123a22fa22cbd1ef61e0
Signed-off-by: Florin Coras <fcoras@cisco.com>
8 years agoBug 3757: Temporarily remove IT from the build 17/22717/1
Lorand Jakab [Tue, 16 Jun 2015 18:18:13 +0000 (21:18 +0300)]
Bug 3757: Temporarily remove IT from the build

Change-Id: I16d48fe514b90ca594040a96726807cefc647699
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoRemove old Hydrogen CLI 19/21719/1
Lorand Jakab [Wed, 3 Jun 2015 06:22:00 +0000 (09:22 +0300)]
Remove old Hydrogen CLI

Change-Id: I99c2abf7468f9c4aaf67ce03b42dde9cdd5fd686
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoExpand RPC API example Postman collection 18/21718/1
Lorand Jakab [Tue, 2 Jun 2015 17:31:50 +0000 (20:31 +0300)]
Expand RPC API example Postman collection

Change-Id: I87f0575f9fc11e15ba0e14f0bcbca0c67afa1cbf
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoRemove mappingservice.implementation activator 79/21479/2
Florin Coras [Sat, 16 May 2015 00:13:16 +0000 (17:13 -0700)]
Remove mappingservice.implementation activator

Change-Id: I6f5087f62fb129786092639d663a6c41fc2f98f3
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoBug 3380: Fix MD-SAL prefix overwriting 61/21461/1
Lorand Jakab [Thu, 28 May 2015 18:28:45 +0000 (21:28 +0300)]
Bug 3380: Fix MD-SAL prefix overwriting

The root cause of this bug was that the string representation for
maskable EID was just the base address, without the network mask.  This
commit adds the mask to the maskable addresses, and improves string
representation of LISP addresses in general.

Change-Id: I83d43ce41b5b88989c80bb3ac7a7e7fd5e1f225f
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoBug 3385: Update Application Data LCAF to latest draft 60/21460/1
Lorand Jakab [Wed, 27 May 2015 22:04:48 +0000 (01:04 +0300)]
Bug 3385: Update Application Data LCAF to latest draft

Change-Id: Ifa7c1fcd98058a3ca43927833034d43a0bdcfca7
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoBug 3150: Fix some serializers to add name 59/21459/1
Lorand Jakab [Tue, 26 May 2015 07:18:14 +0000 (10:18 +0300)]
Bug 3150: Fix some serializers to add name

Current YANG models include a key for most list elements, but the
serializers were not updated to fill that in.  This commit fixes that.

Change-Id: I728f40b8621b0d9eb4db08ce131d4997017c713b
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoBug 3355: Type 10 LCAF hops stored in user provided order 58/21458/1
Florin Coras [Mon, 25 May 2015 10:34:52 +0000 (03:34 -0700)]
Bug 3355: Type 10 LCAF hops stored in user provided order

Change-Id: I8cad90e632fee6b4ad6b07ac3cec211ee63b0fb7
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoBug 3112: Add SB registrations to MD-SAL datastore 57/21457/1
Lorand Jakab [Fri, 29 May 2015 22:46:43 +0000 (01:46 +0300)]
Bug 3112: Add SB registrations to MD-SAL datastore

Change-Id: I0dc44dd96a43fe5a104908192d7c7022d8889ffd
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoRemoving AD-SAL dependencies 97/21297/5
Florin Coras [Mon, 18 May 2015 23:22:32 +0000 (16:22 -0700)]
Removing AD-SAL dependencies

Change-Id: I8df9f0076d9ed2882f05669c53e6b0ec72b98894
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoModifying yangtools versions to use 0.8.0 92/21392/2
Brady Johnson [Fri, 29 May 2015 09:10:09 +0000 (11:10 +0200)]
Modifying yangtools versions to use 0.8.0

- This change is needed for the downstream SFC project,
  since this is causing SFC's version bump to fail

Change-Id: Ia7e392abd9d3053126b1bb5e3f8bfd15b031189f
Signed-off-by: Brady Johnson <brady.allen.johnson@ericsson.com>
9 years agoSwitching SB to config subsystem 51/21151/3
Florin Coras [Tue, 12 May 2015 06:59:52 +0000 (23:59 -0700)]
Switching SB to config subsystem

Change-Id: I976057f23d2f032546b9153b4df2160e00c503e0
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoRemove AD-SAL based northbound interface 51/20651/3
Lorand Jakab [Tue, 26 May 2015 07:46:34 +0000 (10:46 +0300)]
Remove AD-SAL based northbound interface

The AD-SAL based Northbound interface was deprecated in Lithium,
removing it with this patch for Beryllium.  There is still some AD-SAL
cruft left, but we'll eventually be able to remove it.

Change-Id: I6d783919f0ed81e43373f268a34b3903caa7eba3
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoBug 3223: Fix adding DistinguishedName from RPC 28/21028/1
Lorand Jakab [Tue, 19 May 2015 07:58:30 +0000 (10:58 +0300)]
Bug 3223: Fix adding DistinguishedName from RPC

The bug was caused by no string representation existing for
DistringuishedName, which is necessary for URI construction.  This patch
adds string representation to other all other LCAF types that were
missing it.

Change-Id: I72d49fa3b37e741c4f90baac5aa3bc5969679968
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoRemove dependency on clusterdao 57/20057/5
Florin Coras [Mon, 11 May 2015 21:08:45 +0000 (14:08 -0700)]
Remove dependency on clusterdao

This is part of an effort to remove adsal dependencies. Instead of
clusterdao we use HashMapDb, as an in memory map-server datastore.

Change-Id: Iccf7eccefe83e36fbf98e819b88a6036f7a7d4cf
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoDo not instantiate Shorts 86/19586/2
Robert Varga [Sun, 22 Mar 2015 22:58:34 +0000 (23:58 +0100)]
Do not instantiate Shorts

Speed up comparison by not instantiating an explicit Short instace, but
use autoboxing, which should result in better performance.

Change-Id: I260bf69935c2712162cb42404806e664f41a0cff
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoFix a maven warning 85/19585/2
Robert Varga [Tue, 5 May 2015 09:25:19 +0000 (11:25 +0200)]
Fix a maven warning

We had a duplicate config-api declaration. The effects were bounded,
but removing one of them fixes a maven warning.

Change-Id: I13f04d24ce7c7a735875e9abd5d47a1baf4c8c80
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Fix southbound start/stop sequence"
Lorand Jakab [Fri, 15 May 2015 05:48:31 +0000 (05:48 +0000)]
Merge "Fix southbound start/stop sequence"

9 years agoSwitch mappingservice implementation to config subsystem 76/19976/14
Florin Coras [Wed, 13 May 2015 14:09:23 +0000 (17:09 +0300)]
Switch mappingservice implementation to config subsystem

As a first step, the RPCs provided by the mappingservice implementation
are registered through the config subsystem. However, for the time being
we keep the Activator, not to break consumers (e.g., southbound or
northbound) that depend on it. As next steps, we'll switch the
consumers, one by one, to the config subsystem and once the process is
complete, we'll remove the Activator altogether.

Change-Id: Id8ff8549acf9769e22752dafd1aba326578bd0f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
9 years agoFix southbound start/stop sequence 23/20223/1
Lorand Jakab [Tue, 12 May 2015 17:01:11 +0000 (20:01 +0300)]
Fix southbound start/stop sequence

Change-Id: I865b818fa188f174fef9eff6d00b4ea62b4aa4ed
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit b2dfb13a01f7a494c3844b8399fd07848d4051db)

9 years agoBeryllium version bump 13/19413/3
Lorand Jakab [Tue, 12 May 2015 15:35:26 +0000 (18:35 +0300)]
Beryllium version bump

Change-Id: Ic13e9bbee5f14dc50770e4818c7c1f5511d4cbe1
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
9 years agoFix openjdk8 build 36/20136/2
Lorand Jakab [Tue, 12 May 2015 14:45:52 +0000 (17:45 +0300)]
Fix openjdk8 build

Change-Id: I2a2e6852d6ecd2e3e0f8bd78f450999e6bae3c11
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
(cherry picked from commit 2c75db6f2476d9a71d5bb9021050fb84add221e4)

9 years agoMerge "Support for Neutron Ports"
Lori Jakab [Thu, 30 Apr 2015 20:39:58 +0000 (20:39 +0000)]
Merge "Support for Neutron Ports"

9 years agoSupport for Neutron Ports 06/19406/1
Vina Ermagan [Thu, 30 Apr 2015 20:15:49 +0000 (13:15 -0700)]
Support for Neutron Ports

Signed-off-by: Vina Ermagan <vermagan@cisco.com>
9 years agoProcess RPCs to config data store 85/19385/1
Lorand Jakab [Thu, 30 Apr 2015 14:10:14 +0000 (17:10 +0300)]
Process RPCs to config data store

Change-Id: I156d1c71ae0a5afd670c9ba0a0b4e5bc50fc180b
Signed-off-by: Lorand Jakab <lojakab@cisco.com>