lispflowmapping.git
7 years agoMerge "Add timeout to subscriber data"
Vina Ermagan [Thu, 16 Mar 2017 22:41:14 +0000 (22:41 +0000)]
Merge "Add timeout to subscriber data"

7 years agoMerge "Provide Karaf 4 features"
Vina Ermagan [Thu, 16 Mar 2017 18:22:18 +0000 (18:22 +0000)]
Merge "Provide Karaf 4 features"

7 years agoAdd timeout to subscriber data 88/52088/11
Lorand Jakab [Mon, 20 Feb 2017 22:10:29 +0000 (00:10 +0200)]
Add timeout to subscriber data

The timeout of a subscriber is immutable too, and needs to be
transmitted in a MappingChanged notification using the YANG modeled
subscriber data.

Change-Id: Id62485c79b92ba35c6cd682c78a888ed14234059
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoSMR parent prefix continued 77/48977/33
Lorand Jakab [Mon, 5 Dec 2016 12:15:51 +0000 (14:15 +0200)]
SMR parent prefix continued

This patch completes work started in
https://git.opendaylight.org/gerrit/#/c/47120/

First, it handles the insertion of a positive mapping that overlaps
a negative one, by removing the negative mapping and generating SMRs for
its subscribers. This leads to pushing the positive mapping to the right
subscribers and generating only the needed negative mappings.

Second, it merges negative mappings when a positive mapping is removed
(reversing what was done in the first point above).

Additionally, it creates a variable for the action considered the
default for negative mappings, and uses it in the right places instead
of harcoding Action.NativelyForward.

Change-Id: I6a8799d3af23c20a9797840b3e64f632a3e2ee91
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoProvide Karaf 4 features 94/50094/21
Lorand Jakab [Fri, 6 Jan 2017 19:06:55 +0000 (21:06 +0200)]
Provide Karaf 4 features

This patch provides Karaf 4 features for lispflowmapping. The neutron
upstream doesn't have its Karaf 4 patch finalized and merged yet, so our
odl-lispflowmapping-neutron feature for Karaf 4 is not enabled yet (but
it is migrated and ready to be enabled).

Bug: 7628
Change-Id: Icf8d404f4d46c71557b1f6f088626c2fb75200c8
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoGUI - Add default redirect on app start 34/53134/1
Daniel Malachovsky [Fri, 10 Mar 2017 11:52:47 +0000 (12:52 +0100)]
GUI - Add default redirect on app start

Due Dlux split we removed Topology app from odl-dlux-core feature.
There were also default redirect to that app, so it was landing page, when
DLUX was started.
This patch adds default route to GUI in this project.

More info:
https://wiki.opendaylight.org/view/Weather#Rename_some_odl-dlux-.2A_features_to_odl-dluxapps-.2A

Also fixed errors caused by refactor in YangUI and Yangutils

Change-Id: I125ebc851b749a244b834627326833a71e8079ea
Signed-off-by: Daniel Malachovsky <dmalacho@cisco.com>
7 years agoBug 7818: xTR-ID timestamp updated only when merging 68/52868/1
Lorand Jakab [Mon, 6 Mar 2017 10:10:18 +0000 (12:10 +0200)]
Bug 7818: xTR-ID timestamp updated only when merging

A warning was shown on the Map-Register fast path with default setting,
saying somthing "Could not update timestamp for EID 192.0.2.0/24 xTR-ID
E073DF027BF20605DC9B9518BA753345, no mapping found". Default settings
mean that mapping merge is not on and xTR-ID mappings are not stored, so
the warning is not warranted. And it's not just the warning, the extra
lookup at EVERY fast path Map-Register timestamp upadte has a
performance cost, so make sure it only happens when merge is on.

Change-Id: Id7a66ff8c3309bbcb4ef0bf014f2987149f02fe7
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoFix radix trie last byte prefix comparison 40/52740/4
Florin Coras [Fri, 3 Mar 2017 09:40:21 +0000 (01:40 -0800)]
Fix radix trie last byte prefix comparison

Change-Id: Id360576c7a6e59fc556d484d9f869985e8f1714a
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoAllow Address for getString() 93/52293/3
Lorand Jakab [Mon, 27 Feb 2017 11:21:44 +0000 (13:21 +0200)]
Allow Address for getString()

For now getString only takes LispAddress arguments (and XtrId). Some
times we only have access to the Address inside LispAddress, and we want
to be able to print that too in a user friendly way.

Change-Id: I9568ec9b08dba5c78572140b467d982e32f592ab
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoFix NPE related to mapping record in IT 59/52759/1
Shakib Ahmed [Fri, 3 Mar 2017 12:28:34 +0000 (04:28 -0800)]
Fix NPE related to mapping record in IT

Change-Id: Ica7dbdf7e054729f1586c7867d5a40a80ad2eab5
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoAdd missing <name> fields for pom.xml files 43/52743/1
Anil Belur [Fri, 3 Mar 2017 10:02:25 +0000 (20:02 +1000)]
Add missing <name> fields for pom.xml files

This is used by autorelease scripts to automatically parse which project
is failing a build and report to the mailing list automatically. We need
names in the format:

    ODL :: <groupId> :: <artifactId>

This patch formats in the same format as found in the startup archetypes
patch found here: https://git.opendaylight.org/gerrit/52522

Change-Id: I9c822509f8cb035cd656f5b2ff8c427c85cf7176
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
7 years agoFix a NPE in SmrScheduler 96/52296/2
Lorand Jakab [Mon, 27 Feb 2017 11:29:00 +0000 (13:29 +0200)]
Fix a NPE in SmrScheduler

Change-Id: Iae5bd84361d19b5a6f30f881b2fd5eced26eb171
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 7182 related: Remove M2E lifecycle mapping 29/52429/1
Michael Vorburger [Tue, 28 Feb 2017 22:54:59 +0000 (23:54 +0100)]
Bug 7182 related: Remove M2E lifecycle mapping

These should never be in individual projects anymore now, we handle this
centrally, either in odlparent, or
https://github.com/vorburger/opendaylight-eclipse-setup, or by
appropriate lifecycle-mapping-metadata.xml in a Maven plugin (that's
what Bug 7182 does for the yang-maven-plugin; this removes what makes
that not work for these projects).

Change-Id: Ic3e7f81560e54882a8c17bece500148637aa1087
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoImprove OOR server config in tutorial resources 39/52239/1
Lorand Jakab [Fri, 24 Feb 2017 09:46:26 +0000 (11:46 +0200)]
Improve OOR server config in tutorial resources

Change-Id: Ic39d735a78d5b07e83ce71546f9c96f6ba5b2f64
Reported-by: Rashmi Pujar <rashmi.c.pujar@gmail.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Time Bucket DS for handeling SB mapping timeout"
Vina Ermagan [Tue, 21 Feb 2017 06:44:03 +0000 (06:44 +0000)]
Merge "Time Bucket DS for handeling SB mapping timeout"

7 years agoBug 6071: Fix fast path Map-Notify auth data 16/52016/1
Lorand Jakab [Fri, 17 Feb 2017 21:33:55 +0000 (23:33 +0200)]
Bug 6071: Fix fast path Map-Notify auth data

Change-Id: I40884696576be4b311930312e8e09148f15810bb
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoTime Bucket DS for handeling SB mapping timeout 13/46013/19
Shakib Ahmed [Thu, 1 Dec 2016 19:19:28 +0000 (11:19 -0800)]
Time Bucket DS for handeling SB mapping timeout

Mapping records in map caches have expiration time. When
mapping records surpass their expiration time, they are
supposed to be expired, meaning, removed from the map cache.

Right now the mapping records are expired in a lazy manner,
meaning, we query and handle the validity of the mapping only
when the mapping are beign asked for which introduces the
possibility of mapping records being in map cache indefinitly
if they are not requested for.

Time Bucket data structure maintains mapping records and
delete them upon expiration in a non-lazy manner.

Change-Id: I664249cc5c5d14cb54759369c6f982aef89a0ca3
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoSimplify and centralize sb mapping removal 47/51747/5
Shakib Ahmed [Sat, 11 Feb 2017 00:17:16 +0000 (16:17 -0800)]
Simplify and centralize sb mapping removal

Whenever we remove a mapping from smc, we also need to remove the
necessary data from data store. Now all the mapping removal are in
seperate places in mapping system making it hard to track whether all
the mapping removal call removing all the data properly.

The goal of the patch is to simplify mapping removal and centralize
all the mapping removal calls in few methods which will remove the
mapping properly from everywhere.

Change-Id: Ia279c019a186e3cdc349eb912abd499bde3e3802
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoBug 7789: Don't break DLUX when loading LISP UI 55/51855/1
Lorand Jakab [Tue, 14 Feb 2017 11:27:24 +0000 (13:27 +0200)]
Bug 7789: Don't break DLUX when loading LISP UI

This simple patch just fixes the breakage caused by loading the LISP UI,
which results in an empty page, and the inability to access any of the
already loaded DLUX apps. However, making the LISP UI functional again
will require more work.

Change-Id: I8b2a08c93eeb1a77acc5496cc26a67f99f5aa825
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoFix default mapping data for MappingSystemTest 25/51825/1
Shakib Ahmed [Mon, 13 Feb 2017 22:41:40 +0000 (14:41 -0800)]
Fix default mapping data for MappingSystemTest

Change-Id: I3193fc66474f78dedad7a3034326168d3520265c
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoCheckstyle: fix ParenPad violations 00/51700/1
Lorand Jakab [Fri, 10 Feb 2017 16:38:32 +0000 (18:38 +0200)]
Checkstyle: fix ParenPad violations

Enforcing no space(s) after a left parenthesis and before a right
parenthesis is a proposed change [0] which can only be merged when all
violations are fixed in projects enforcing checkstyle. This patch fixes
those violations.

[0] https://git.opendaylight.org/gerrit/#/c/51316/

Change-Id: Ib4c793428f67e465a3caa6ccbf49364c3ca3c905
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Make part of the Subscribers object modeled"
Vina Ermagan [Fri, 10 Feb 2017 03:41:39 +0000 (03:41 +0000)]
Merge "Make part of the Subscribers object modeled"

7 years agoUse org.osgi:org.osgi.core instead of org.eclipse.tycho's osgi (Equinox) 92/51592/1
Michael Vorburger [Thu, 9 Feb 2017 00:07:52 +0000 (01:07 +0100)]
Use org.osgi:org.osgi.core instead of org.eclipse.tycho's osgi (Equinox)

see https://git.opendaylight.org/gerrit/#/c/51520/

I'll like to block use of dependency tycho ASAP.

Change-Id: Iacb6b5efe337eed156a44dc32528445eda99fd06
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoMake part of the Subscribers object modeled 68/51268/4
Lorand Jakab [Tue, 31 Jan 2017 16:33:03 +0000 (18:33 +0200)]
Make part of the Subscribers object modeled

This is a first step in solving bug 7272 and propagating subscriber data
to slave nodes in a cluster. This patch makes the YANG additions,
renames the SubscriberRLOC class to Subscriber, which makes more sense
(originally the SubscriberRLOC object only held the RLOC, now it holds
the source EID too), and uses the modeled SubscriberAddresses inside
Subscriber to store the source RLOC and EID.

Change-Id: I2e3ae71e7c9948d962921553b00cfecd76f445f1
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Remove xtr id mappings on mapping overwrite"
Vina Ermagan [Tue, 31 Jan 2017 02:04:53 +0000 (02:04 +0000)]
Merge "Remove xtr id mappings on mapping overwrite"

7 years agoSMR parent prefix 20/47120/32
Miroslav Toth [Wed, 19 Oct 2016 11:22:00 +0000 (13:22 +0200)]
SMR parent prefix

Change-Id: I54ee2460012a0ac08a2cc0333e2ce0d9ae98953b
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoRemove xtr id mappings on mapping overwrite 09/50909/5
Shakib Ahmed [Mon, 23 Jan 2017 21:43:29 +0000 (13:43 -0800)]
Remove xtr id mappings on mapping overwrite

If there are 2 xtrs with different merge mapping configuration
registers same eid, we may or may not have merged mapping for
the eid in Map Cache but we will have xtr id specific mapping
in XTRID_RECORDS all the time. When we have xtr id specific
mapping from the xtr with merge configuration, but overwritten
mapping record in RECORD, then the xtr id specific mappings
may become untracked and hence not removed ever.

This patch removes previous xtrid specific mappings too when
mapping records are being overwritten.

Change-Id: Iaf8686367fb881b5794a3bf232e6c2e12d5ec6f8
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoAdd virtual parent sibling prefix lookup methods 32/50732/2
Lorand Jakab [Fri, 20 Jan 2017 14:56:17 +0000 (16:56 +0200)]
Add virtual parent sibling prefix lookup methods

Change-Id: I6fa317cbb7cdd0bcef2531b761e1c2dc19d1ce6d
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 7586: Make Extended SingleFeatureTest pass 36/50736/1
Lorand Jakab [Fri, 20 Jan 2017 18:13:03 +0000 (20:13 +0200)]
Bug 7586: Make Extended SingleFeatureTest pass

We missed the fact that southbound is a dependency for mappingservice,
because of the RPCs to send reply packets. This patch corrects the
feature dependency and allows the new extended SingleFeatureTest to
pass, so we can be removed from the feature blacklist.

Change-Id: I5aadb06cdb2c9ce1bd9c1c3b4efdade53e4a1bcc
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Fix removal of expired mappings when merge on"
Vina Ermagan [Fri, 20 Jan 2017 01:42:00 +0000 (01:42 +0000)]
Merge "Fix removal of expired mappings when merge on"

7 years agoMerge "Remove SimpleMapCache#getXtrIdTable()"
Vina Ermagan [Fri, 20 Jan 2017 01:40:57 +0000 (01:40 +0000)]
Merge "Remove SimpleMapCache#getXtrIdTable()"

7 years agoCleaning operational should clean map-cache too 96/49696/7
Lorand Jakab [Wed, 21 Dec 2016 11:11:13 +0000 (13:11 +0200)]
Cleaning operational should clean map-cache too

The recently added remove-all-operational-content RPC removes the
operational datastore content, but the in-memory southbound map-cache is
not cleaned on master nodes, since southbound operations go to the cache
first. This patch explicitly clears the southbound map-cache on master
nodes when the RPC is called.

Change-Id: I3c1b899de592f5499779c55fb880481a60f9a64a
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoFix removal of expired mappings when merge on 79/50579/1
Lorand Jakab [Tue, 17 Jan 2017 21:12:14 +0000 (23:12 +0200)]
Fix removal of expired mappings when merge on

Change-Id: Ie1f1752471f72400788d28e81fd7f41ede6273f7
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoRemove SimpleMapCache#getXtrIdTable() 43/50443/5
Lorand Jakab [Tue, 17 Jan 2017 19:43:09 +0000 (21:43 +0200)]
Remove SimpleMapCache#getXtrIdTable()

Change-Id: I53394480d41a5f0eb6356dfed24e293fbc5dfc19
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoSeparate authentication key in-memory storage 15/49715/5
Lorand Jakab [Wed, 21 Dec 2016 15:50:09 +0000 (17:50 +0200)]
Separate authentication key in-memory storage

Authentication key operations (add/get/remove) are part of the IMapCache
interface, so all map-caches implement them, even though we only really
use them in SimpleMapCache. This makes map-caches less "general", in the
sense that they need to be aware of the AuthenticationKey type, and we
have unused code.

This patch creates a new IAuthKeyDb interface and the AuthKeyDb class
implementing it, which contains only the authentication key operations.
The MappingSystem and the LispSouthBoundPlugin are switched to the new
implementation.

This is a prerequisite for a full solution to bug 7272, by making it
possible to remove all sub-keys when removing a mapping, leaving the
RadixTrie in a consistent state. It also makes a proper implementation
for the newly introduced remove-all-operational-content RPC, since
deleting all operational content should delete all southbound mappings,
but not authentication keys, which are now in the same in-memory
structures.

Checked system tests, all passing.

Change-Id: I9536dbccb06d486e205f8a15e9e8ac3fa1c53fcc
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoRemove the last remnants of the CSS 40/50540/1
Lorand Jakab [Tue, 17 Jan 2017 11:13:53 +0000 (13:13 +0200)]
Remove the last remnants of the CSS

We don't use the config sub-system (CSS) anywhere in our project, so
remove the dependecy completely.

Change-Id: Ic2d0de34907ef4273339d50796aca594c77d8b05
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Account for merging on mapping removal"
Vina Ermagan [Mon, 16 Jan 2017 23:40:05 +0000 (23:40 +0000)]
Merge "Account for merging on mapping removal"

7 years agoFix NPE in SimpleMapCache 34/50034/2
Lorand Jakab [Wed, 4 Jan 2017 21:34:10 +0000 (23:34 +0200)]
Fix NPE in SimpleMapCache

This was causing a serious performance regression too, introduced with
Gerrit c/46778, "Make SimpleMapCache simple again".

Change-Id: I531a5f103322f5389b20197895a381aceef79fa5
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAdd sibling prefix lookup methods to RadixTrie and HashMapDb 21/50121/2
Lorand Jakab [Sat, 7 Jan 2017 11:26:55 +0000 (13:26 +0200)]
Add sibling prefix lookup methods to RadixTrie and HashMapDb

Change-Id: Ib639113b120ce63444a164e857e78f3f41830243
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAccount for merging on mapping removal 44/49744/2
Lorand Jakab [Thu, 22 Dec 2016 14:50:10 +0000 (16:50 +0200)]
Account for merging on mapping removal

When removing an xTR-ID mapping, if merge is on, the main mapping needs
to be re-calculated.

Change-Id: Ib49869b18de83ffb62f3cf311a87568b242425f8
Reported-by: Shakib Ahmed <sheikahm@cisco.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAdd toString() to MappingData 46/49746/1
Lorand Jakab [Thu, 22 Dec 2016 16:54:38 +0000 (18:54 +0200)]
Add toString() to MappingData

When running the `mappings` command on the Karaf console to view current
in-memory data structures, the address field of mapping shows the memory
reference of the MappingData object, since it doesn't override the
toString() method. This happens since the SimpleMapCache class was
simplified in https://git.opendaylight.org/gerrit/#/c/46778/ and the
MappingRecord was wrapped into a container class.

This patch implements the toString() method for the MappingData class.

Change-Id: Ib39ddb2c6330c28734f948d854ed42925cb1aa3a
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAdd RPC to delete operational content 70/49670/2
Lorand Jakab [Tue, 20 Dec 2016 19:34:34 +0000 (21:34 +0200)]
Add RPC to delete operational content

This is useful when debugging all kinds of issues, as the RESTCONF
interface only allows removing all config datastore content, but not the
operational datastore content.

Change-Id: I6a1d1c2c86b63d825cd4994ffe8e98ccee6aa82d
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoIT: Add constant for sleep time 34/49634/1
Lorand Jakab [Tue, 20 Dec 2016 09:40:28 +0000 (11:40 +0200)]
IT: Add constant for sleep time

In addition, decrease sleep time for the multi-site tests from 2 seconds
to 1 second, to avoid the following type intermittent errors:

Failed tests:
  MappingServiceIntegrationTest.testMultiSite:414->testMultiSiteScenarioA:687
SMR contained Eid [_address=Ipv4PrefixBinary
[_ipv4AddressBinary=Ipv4AddressBinary [_value=[-64, 0, 1, 1]],
_ipv4MaskLength=32, augmentation=[]], _addressType=class
org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv4PrefixBinaryAfi,
_virtualNetworkId=InstanceIdType [_value=2], augmentation=[]] which
wasn't expected.

AND

Failed tests:
  MappingServiceIntegrationTest.testMultiSite:415->testMultiSiteScenarioB:802
SMR contained Eid [_address=Ipv4PrefixBinary
[_ipv4AddressBinary=Ipv4AddressBinary [_value=[-64, 0, 2, 5]],
_ipv4MaskLength=32, augmentation=[]], _addressType=class
org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv4PrefixBinaryAfi,
_virtualNetworkId=InstanceIdType [_value=2], augmentation=[]] which
wasn't expected.

Change-Id: I551e1f6ba60fc54ab259a419cd8c5ce97eaa1ba9
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoComment about config option modification dependencies 65/49465/2
Lorand Jakab [Fri, 16 Dec 2016 09:56:32 +0000 (11:56 +0200)]
Comment about config option modification dependencies

When we add/remove/modify a configuration option in ConfigIni.java, some
external modifications are required in the odlparent and docs projects.
Make this clear in a comment.

Change-Id: Id5ceb334cdf1075a1090b229672b1a3c5c575e24
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Remove overwrite configuration and convert it to mapping merge configuration"
Lori Jakab [Fri, 16 Dec 2016 08:36:09 +0000 (08:36 +0000)]
Merge "Remove overwrite configuration and convert it to mapping merge configuration"

7 years agoRemove overwrite configuration and convert it to mapping merge configuration 55/49455/1
Shakib Ahmed [Thu, 15 Dec 2016 21:35:18 +0000 (13:35 -0800)]
Remove overwrite configuration and convert it to mapping merge configuration

Change-Id: I511ec249ff2f5e3c6fef2336bfc4455728a08535
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoAdd parent prefix lookup methods to RadixTrie and HashMapDb 35/49335/4
Lorand Jakab [Wed, 14 Dec 2016 10:00:27 +0000 (12:00 +0200)]
Add parent prefix lookup methods to RadixTrie and HashMapDb

Change-Id: I30342f6ac146d78ed3708430cec684a4d603910f
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMake SimpleMapCache simple again 78/46778/20
Lorand Jakab [Mon, 10 Oct 2016 19:22:08 +0000 (22:22 +0300)]
Make SimpleMapCache simple again

A lot of logic in SimpleMapCache is intelligence to handle LISP specific
features, like merging mappings from several different xTRs and handling
expiration of mapping state from UDP xTR registrations. This logic does
not belong there architecturally, and should be moved out.

SimpleMapCache still needs to handle some LISP specific functionality,
but methods implementing that functionality should not be part of the
general IMapCache contract, which is implemented by all map caches. This
commit introduces a new interface, ILispMapCache, which is only
implemented by SimpleMapCache, to provide access to xTR-ID specific
mappings.

Since FlatMapCache was not really maitained and tested, this patch
causes the map caches not be built when `iterateMask` is false. It's
better to fail than give undefined behavior to the user.

The patch also updates the mapping system and mapping service interfaces
to use MappingData instead of the immutable MappingRecord (contained
within) so that mapping context can be easily carried in both directions
between layers.

Change-Id: I49dbc68615a360d1b9d1c32b4af23726f173259f
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoFix radix trie lookup exact 59/49059/4
Florin Coras [Wed, 7 Dec 2016 01:43:01 +0000 (17:43 -0800)]
Fix radix trie lookup exact

Change-Id: I6d29db3f0d5d576e83006a3f051ae97d9dfcf510
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoAdd postman collection in FD.io tutorial 19/49119/1
Shakib Ahmed [Wed, 7 Dec 2016 23:20:15 +0000 (15:20 -0800)]
Add postman collection in FD.io tutorial

Change-Id: I36a68b6699c14d98eb528f2226fac54d46728174
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoMerge "WIP: Update Tutorial for FD.io and OOR"
Vina Ermagan [Wed, 7 Dec 2016 02:05:45 +0000 (02:05 +0000)]
Merge "WIP: Update Tutorial for FD.io and OOR"

7 years agoBug 7272: Fix prefix removal in MultiTableMapCache 50/49050/2
Lorand Jakab [Tue, 6 Dec 2016 18:22:13 +0000 (20:22 +0200)]
Bug 7272: Fix prefix removal in MultiTableMapCache

This fix is a bit of a brute-force, since it removes authentication keys
and all data, when removing a mapping, but for the MultiTableMapCache in
lispflowmapping as-is currently it is OK, since authentication keys are
stored in SimpleMapCache. So this is just a band-aid for the particular
use case reported in the bug, but a proper fix will require more
changes, which need to be discussed.

Change-Id: I295d2921f6b81505271887fbde2078ec38dbca0d
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 7293: Fix radix trie removals that update the root (2) 20/49020/1
Florin Coras [Tue, 6 Dec 2016 10:25:37 +0000 (02:25 -0800)]
Bug 7293: Fix radix trie removals that update the root (2)

Change-Id: I08e202ba0557d1dfb013680c7f3720f4fb470f72
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoBug 7293: Fix radix trie node removals that update the root 66/48966/2
Florin Coras [Mon, 5 Dec 2016 07:36:20 +0000 (23:36 -0800)]
Bug 7293: Fix radix trie node removals that update the root

Set the isRoot flag if when removing intermediaries the root is
updated.

Change-Id: I1650798c333262ad79bc92240210f90f665131b7
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoSonar: Reorder modifiers ... 52/48652/1
Lorand Jakab [Thu, 24 Nov 2016 09:04:27 +0000 (11:04 +0200)]
Sonar: Reorder modifiers ...

... to comply with the Java Language Specification.

Change-Id: I670b63d32ce0e8d4f9d0814a5fdbefa989064319
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoSonar: Move trailing comment on previous empty line 24/48624/2
Lorand Jakab [Wed, 23 Nov 2016 12:53:11 +0000 (14:53 +0200)]
Sonar: Move trailing comment on previous empty line

Change-Id: I300972c7be4d89ffdc73a58475fa4a533ab5fc4b
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoIT - timed out mappings 16/46816/2
Miroslav Toth [Mon, 19 Sep 2016 11:06:43 +0000 (13:06 +0200)]
IT - timed out mappings

Change-Id: I5b4c26821058c21584d028daff26698443d26bab
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAllow setting SB registration validity value 08/45808/3
Miroslav Toth [Mon, 19 Sep 2016 12:26:46 +0000 (14:26 +0200)]
Allow setting SB registration validity value

For integration testing it helps speed things up if we don't have to
wait the full 200 seconds to elapse before a southbound entry expires
(which is minimum allowed value to be set). This patch allows setting
values lower than 200 s as the southbound timeout, and logs a warning
when that happens.

Change-Id: I9532d74d85c5f519e09480e92c1f8f542fefcc93
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoWIP: Update Tutorial for FD.io and OOR 51/48451/2
Shakib Ahmed [Thu, 17 Nov 2016 18:16:23 +0000 (10:16 -0800)]
WIP: Update Tutorial for FD.io and OOR

Change-Id: I986b6e5873c74ed486fb07c9dda1e6ac5405b1ac
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoRemove expiration code from HashMapDb 04/48104/2
Lorand Jakab [Tue, 8 Nov 2016 08:19:53 +0000 (10:19 +0200)]
Remove expiration code from HashMapDb

It wasn't used anywhere, and it didn't belong there architecturally.

Change-Id: Id94a6b7e730215b910e7fc4ca41bde537ede35c8
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoNetty multi-threading: do not hardcode number of threads 18/47818/1
Lorand Jakab [Wed, 2 Nov 2016 06:38:49 +0000 (08:38 +0200)]
Netty multi-threading: do not hardcode number of threads

Make the number of threads dependent on available cores. See comment in
source file for reasoning.

Change-Id: I7a1393f3879ef74ec6c5bcc756bd997a9e1bb112
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMake Netty multi-threaded in southbound 74/47774/2
Lorand Jakab [Thu, 27 Oct 2016 04:40:06 +0000 (07:40 +0300)]
Make Netty multi-threaded in southbound

Change-Id: I0790af750be50e3f04997c4157279b3d69594d83
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMake Channel an argument to handleSerializedLispBuffer() 64/47664/4
Lorand Jakab [Thu, 27 Oct 2016 11:26:14 +0000 (14:26 +0300)]
Make Channel an argument to handleSerializedLispBuffer()

In preparation for multi-threading, this patch allows the sender channel
to be passed as an argument to handleSerializedLispBuffer() which puts
the packet on the wire.  Since the ChannelHandlerContext passed to
channelRead() has the original channel where the packet was received, we
can use it to send out the packet on the same channel, instead of using
just one channel for sending in LispSouthboundPlugin.

Change-Id: I1cd6205f8dc2e5431f73910ed1563773a1b12a1c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoReliable SMR - fix performance issue 10/47610/7
Miroslav Toth [Wed, 26 Oct 2016 13:11:26 +0000 (15:11 +0200)]
Reliable SMR - fix performance issue

Change-Id: I7f942037002cb983432368f54fd32c260b838e91
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoBug 7035: Fix race condition in HashMapDbTest 88/47588/1
Lorand Jakab [Wed, 26 Oct 2016 08:59:42 +0000 (11:59 +0300)]
Bug 7035: Fix race condition in HashMapDbTest

Change-Id: Icf436365637d0227963c787af61cd5206dcc6a84
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoCreate and switch to a concurrent version of LispSouthboundStats 65/47165/4
Lorand Jakab [Wed, 19 Oct 2016 18:46:53 +0000 (21:46 +0300)]
Create and switch to a concurrent version of LispSouthboundStats

Change-Id: Ia3961a584f9008b0de54fbbb87ecce33d308f3dc
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 7018: Fix NPE when SMR and no locators 81/47481/1
Lorand Jakab [Tue, 25 Oct 2016 09:41:40 +0000 (12:41 +0300)]
Bug 7018: Fix NPE when SMR and no locators

Change-Id: I2ef46e25509f40637c6a29bee81855dd383ac48c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoReliable SMR - executor shutdown update 56/47056/1
Miroslav Toth [Tue, 18 Oct 2016 08:45:38 +0000 (10:45 +0200)]
Reliable SMR - executor shutdown update

Change-Id: I7153553ce2710f8b197f5520fe4862bcef314efb
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoBug 6361: Make LispSouthboundHandler stateless 73/46973/4
Lorand Jakab [Fri, 14 Oct 2016 22:36:38 +0000 (01:36 +0300)]
Bug 6361: Make LispSouthboundHandler stateless

This fixes the performance regression that's currently visible in our
graphs, for both types of Map-Registers.

Change-Id: I402a71d76f2f391fb46a31dd86b091dc35ad879c
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoIntegration test - Reenable MultisiteScenario 12/47012/3
Miroslav Toth [Thu, 13 Oct 2016 09:26:53 +0000 (11:26 +0200)]
Integration test - Reenable MultisiteScenario

Change-Id: I070b06d2117ee18cea322cef850ee2bad8f6cc0f
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoIntegration test - reliable smr 47/46947/1
Miroslav Toth [Fri, 14 Oct 2016 13:09:21 +0000 (15:09 +0200)]
Integration test - reliable smr

Change-Id: If1fc454fb79f5a948e5addce8cf645f813bf7ce7
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoMerge "Use Netty Epoll in SB when available"
Vina Ermagan [Thu, 13 Oct 2016 23:53:44 +0000 (23:53 +0000)]
Merge "Use Netty Epoll in SB when available"

7 years agoReliable SMR async 76/45376/21
Miroslav Toth [Thu, 8 Sep 2016 13:20:28 +0000 (15:20 +0200)]
Reliable SMR async

Change-Id: I7b639c2f933069adcfb5140f44c89712ff218f7d
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoMerge "JUnit Test - RadixTrie test with random IPs."
Florin Coras [Wed, 12 Oct 2016 18:10:19 +0000 (18:10 +0000)]
Merge "JUnit Test - RadixTrie test with random IPs."

7 years agoBug 6925: Fix NPE in SimpleMapCache 99/46799/1
Lorand Jakab [Tue, 11 Oct 2016 18:42:36 +0000 (21:42 +0300)]
Bug 6925: Fix NPE in SimpleMapCache

This restores performance to levels before
https://git.opendaylight.org/gerrit/#/c/43473/

Change-Id: I03e935d1a1d3a4774610db6421c5705c56e26800
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoUse Netty Epoll in SB when available 83/46683/1
Lorand Jakab [Fri, 7 Oct 2016 12:55:22 +0000 (15:55 +0300)]
Use Netty Epoll in SB when available

Preliminary performance testing shows that using Epoll on Linux x64
increases Map-Request, un-authenticated Map-Register and authenticated
Map-Register response rates from an average of 57k, 44k, and 31k replies
per second respectively to 88k, 55k, and 38k replies per second on our
internal reference testing platform.

Note that the sending rate is 100k requests per second, which means that
at higher sending rates the Map-Request performance may be even better
(although still "lossy").

This is the first step in improving southbound performance, with a
second patch to follow for multi-threaded packet handling, which depends
on Epoll (thus this patch).

Change-Id: I540a755850fb4c40ed0b1a4c745dbb4a5fa7bc9f
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Remove ${karaf.version} property from pom.xml"
Vina Ermagan [Thu, 6 Oct 2016 23:03:16 +0000 (23:03 +0000)]
Merge "Remove ${karaf.version} property from pom.xml"

7 years agoJUnit Test - RadixTrie test with random IPs. 86/46286/5
Miroslav Toth [Thu, 22 Sep 2016 12:00:51 +0000 (14:00 +0200)]
JUnit Test - RadixTrie test with random IPs.

Change-Id: I88f1d1044d8f0e67f580152cdd332af64d2cb8d7
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoExtract ConfigIni into separate module 18/45818/5
Miroslav Toth [Mon, 19 Sep 2016 14:25:10 +0000 (16:25 +0200)]
Extract ConfigIni into separate module

Change-Id: I45cf2a8100c28278a2813dceb89d60202ba95a60
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoRemove ${karaf.version} property from pom.xml 23/46323/1
Lorand Jakab [Fri, 30 Sep 2016 12:36:20 +0000 (05:36 -0700)]
Remove ${karaf.version} property from pom.xml

org.apache.karaf.shell.console is now part of odlparent since
https://git.opendaylight.org/gerrit/#/c/42971 so we can get rid of one
more property in a pom file, which is a GoodThing(TM).

Change-Id: I1dc6eccabb1140668786b62fc00bbe8072600ced
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 6782: Fix parent insertions for empty children 03/46203/1
Florin Coras [Mon, 26 Sep 2016 20:07:50 +0000 (23:07 +0300)]
Bug 6782: Fix parent insertions for empty children

Expanded unit test as well.

Change-Id: I94b042c4b2c36ef92eade91592a5244309ae4815
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoAdd RadixTrie parent insertion unit test 98/46098/2
Florin Coras [Thu, 22 Sep 2016 17:54:39 +0000 (19:54 +0200)]
Add RadixTrie parent insertion unit test

Change-Id: Ida639fde073a5a43a3e2abe01a6d7fd700d0086c
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoMerge "Bug 6782: Fix RadixTrie parent insertions"
Vina Ermagan [Thu, 22 Sep 2016 17:12:08 +0000 (17:12 +0000)]
Merge "Bug 6782: Fix RadixTrie parent insertions"

7 years agoBug 6782: Fix RadixTrie parent insertions 42/46042/1
Florin Coras [Thu, 22 Sep 2016 10:47:37 +0000 (12:47 +0200)]
Bug 6782: Fix RadixTrie parent insertions

Change-Id: I75ca63a47b1f487cdd87b9fdcf9685ef6f6439ff
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoBug 6759: Fix NPE when request for expired mapping 96/45896/1
Miroslav Toth [Tue, 20 Sep 2016 14:19:40 +0000 (16:19 +0200)]
Bug 6759: Fix NPE when request for expired mapping

Change-Id: Ia7ccf53f27ceaf472b259fc60dec294749de8a69
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoBug 6754: Add serializer for IPv6 prefix SimpleAddress 78/45878/2
Florin Coras [Tue, 20 Sep 2016 09:36:29 +0000 (11:36 +0200)]
Bug 6754: Add serializer for IPv6 prefix SimpleAddress

Change-Id: Ib1b57540ca7e17b6721202ce3164d9d8f7ca02cc
Signed-off-by: Florin Coras <fcoras@cisco.com>
7 years agoMerge "Add RPC to read per xtrId mappings for an EID."
Vina Ermagan [Sat, 17 Sep 2016 00:49:31 +0000 (00:49 +0000)]
Merge "Add RPC to read per xtrId mappings for an EID."

7 years agoMerge "Add OOR conf files in tutorial"
Vina Ermagan [Thu, 15 Sep 2016 01:29:22 +0000 (01:29 +0000)]
Merge "Add OOR conf files in tutorial"

7 years agoFix RESTCONF collection for delete IPv4 Key call. 05/45605/1
Shakib Ahmed [Wed, 14 Sep 2016 22:40:58 +0000 (15:40 -0700)]
Fix RESTCONF collection for delete IPv4 Key call.

Change-Id: I0c4a1deae9a6dc49141488e6d058a51d5a41b449
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoAdd OOR conf files in tutorial 56/45556/1
Shakib Ahmed [Wed, 14 Sep 2016 00:55:46 +0000 (17:55 -0700)]
Add OOR conf files in tutorial

Change-Id: I6306157b5fa50087f4206ac818b3e260a6daef0b
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoBug 6536: Allow propagation of SB notifications on slaves 51/45151/1
Lorand Jakab [Mon, 5 Sep 2016 09:25:48 +0000 (04:25 -0500)]
Bug 6536: Allow propagation of SB notifications on slaves

First, add support for operational data store change notifications (we
only watched the config data store), since southbound originated
mappings are stored there.

Second, do not ignore southbound originated mappings coming from the
MD-SAL data store change notifications, if we're on a slave.

Change-Id: I310e6ae20600229c2d1b4aa9138ba6193fe3b9a1
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoAdd RPC to read per xtrId mappings for an EID. 44/44744/2
Shakib Ahmed [Fri, 26 Aug 2016 17:37:01 +0000 (10:37 -0700)]
Add RPC to read per xtrId mappings for an EID.

Change-Id: I21dd3c3406c06f04e56869544b4233bb2834f4ef
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoBug 5257: Make subscriber timeout 10 mins more than the TTL associated with mapping... 78/44578/6
Shakib Ahmed [Tue, 23 Aug 2016 22:36:00 +0000 (15:36 -0700)]
Bug 5257: Make subscriber timeout 10 mins more than the TTL associated with mapping record

Change-Id: I32a3f383922f84b2ed32db420cdedb3057826771
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
7 years agoBug 6529: Remove registration date when deleting mapping 37/44637/1
Lorand Jakab [Wed, 24 Aug 2016 22:55:55 +0000 (17:55 -0500)]
Bug 6529: Remove registration date when deleting mapping

Change-Id: I4ff664568058aab384abef5c21f4154aa61f42de
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 6527: Switch to ClusteredDataTreeChangeListener 18/44618/1
Lorand Jakab [Wed, 24 Aug 2016 16:43:50 +0000 (11:43 -0500)]
Bug 6527: Switch to ClusteredDataTreeChangeListener

Change-Id: I74f44d21f92a824817b7ff31d3b3d29665fd1bf4
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoBug 6511: Fix negative Map-Replies with empty database 68/44568/2
Lorand Jakab [Tue, 23 Aug 2016 19:34:10 +0000 (14:34 -0500)]
Bug 6511: Fix negative Map-Replies with empty database

Change-Id: Ie56c5f982a50a9e35d9c6d9bf7066fbb7e590cbc
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
7 years agoMerge "Integration Test - negative prefix generation"
Lori Jakab [Tue, 23 Aug 2016 20:44:29 +0000 (20:44 +0000)]
Merge "Integration Test - negative prefix generation"

7 years agoBug 6362: Don't save timestamp to MappingRecords 73/43473/9
Lorand Jakab [Fri, 5 Aug 2016 22:34:59 +0000 (17:34 -0500)]
Bug 6362: Don't save timestamp to MappingRecords

Change-Id: I9906e2310108b81b584e7fad39a310b8d79a4b3b
Co-authored-by: Miroslav Toth <mirtoth@cisco.com>
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoJUnit test: LispAddressUtilTest 91/44491/1
Miroslav Toth [Mon, 22 Aug 2016 13:25:02 +0000 (15:25 +0200)]
JUnit test: LispAddressUtilTest

Change-Id: I5db556a3e38bf0bf94a9996b00de1eea4fe3dabe
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>
7 years agoIntegration Test - negative prefix generation 26/44126/2
Miroslav Toth [Tue, 16 Aug 2016 13:49:32 +0000 (15:49 +0200)]
Integration Test - negative prefix generation

Change-Id: Ib728ed78f1c0602c0ebfb48528eacedfe9ef3760
Signed-off-by: Miroslav Toth <mirtoth@cisco.com>