70 Commits

Author SHA1 Message Date
Jian Li
2c8a2a4f84 Bugfix: Acknowledge to ETR only if want-map-notify is set to true
Change-Id: I684bc1f1a7958b9777f90fe512980523490598ac
2016-11-30 20:06:45 +00:00
Jian Li
712ec05ba9 [ONOS-5688] Make LISP authKey and authKeyId be configurable
Change-Id: I8262cc1791e064547e79cb9a3cb58e99feec50b1
2016-11-30 18:32:05 +00:00
Jian Li
5b2b2369da Fix sonar warnings of LISP authentication package
- Restrict access level from public to package-private
- Log and pass original exception's message
- Prevent an utility class from instantiation

Change-Id: Ida35121edeb0675ea86ab8d788f4f8c386cb19ba
2016-11-30 18:26:03 +00:00
Ray Milkey
58c6af2321 Starting snapshot 1.8.0-SNAPSHOT 2016-11-22 17:26:52 -08:00
Ray Milkey
8b8b30ce29 Tagging 1.8.0-rc1 2016-11-22 17:08:32 -08:00
Jian Li
cdd276b7e4 Support CIDR ranged match for LISP EidRlocRecord with unit tests
Change-Id: I0f69aa48ab7f661958b5a5bf6c03cd5ceb571abe
2016-11-22 18:51:26 +00:00
Jian Li
55ddcdb647 Bugfix: try to use parent LCAF class for serializing NAT address
Change-Id: I792377de77344c0c493c77f9674ec4c55700f874
2016-11-21 18:40:44 +00:00
yoonseon
980cd7cf32 Bug fixes of calculating message length for InfoRequest/Reply
Changes
1. Wrap added InfoReqest processing with try..finally statement
2. InfoRequest serialize bug fix
3. Overide WriteTo() methods of DefaultLispInfoRequest
   and DefaultLispReply

Change-Id: Ifc74619508a004f3fa7c940c30a5905d2cd27963
2016-11-21 10:17:17 -08:00
Jian Li
6ef1b3f15f [ONOS-5623] Enhance map server to handle Info-Request control msg
Change-Id: If5f68041fbef786e912fc17e33a0e296df73cd3d
2016-11-18 16:02:20 +00:00
Jian Li
5ba6ec1955 [ONOS-5606] Try to use Epoll event group if OS natively support it
Change-Id: I449df3a0a9115c24aa29e15931877626879dae20
2016-11-18 15:29:16 +00:00
yoonseon
db268671b9 [ONOS-5627] Continuously handle LISP request when exception occurs
Change-Id: Ib1b32a5f3299d77632704e955a512aad4af37d92
2016-11-18 00:48:12 +00:00
Jian Li
ef0f723146 Bugfix: Parse the LCAF address by referring to length field value
Change-Id: Ia43521f531ad03f609219048f0fb1485118cd181
2016-11-17 16:55:35 +00:00
Jian Li
d1a109e651 Move authData calculation logic to each LISP message builder classs
Change-Id: I61f13cbb77c58f06efce7e9450f11d328749b247
2016-11-15 23:48:56 +00:00
yoonseon
beb41222c6 Enable to handle LISP Info (request, reply) messages
by LISPMessageReaderFactory

Change-Id: I1dac2765ba5da27f09db01b649032fb16ef46322
2016-11-15 23:40:36 +00:00
Jian Li
89c9ca9a18 Bump up the LISP LCAF version from draft 13 to draft 20
Change-Id: Ie99331c56a39c4f32226cd8f15bd27fa48802243
2016-11-11 05:58:45 +00:00
Jian Li
51aaca1752 Automatically calculate auth data length based on the auth method
Change-Id: I9d21834a160e6f4b2ed086f17cda144493e7c3aa
2016-11-11 05:57:53 +00:00
Ray Milkey
0bb1e10a3f Javadoc fixes
- fix missing Javadoc @param and @throw annotations
- enable checkstyle checks for method javadocs on non-private methods

Change-Id: I9a370419a699bab3225d85f2f641927600b9f11c
2016-11-11 01:09:15 +00:00
Jian Li
1118c12d6f [ONOS-5267] Initial implementation of MapResolver
Change-Id: I1438b0cc71b8fcb88064830d890ffc38ff9abd42
2016-11-10 23:34:11 +00:00
Jian Li
24f6cc01b1 [ONOS-5267] Initial implementation of MapServer and EidRlocMap
Change-Id: Id4b503d7c3905bd490a7825ff63614bd81f357d9
2016-11-10 23:09:08 +00:00
Jian Li
b9e1ac7d18 Bugfix: try to deal with the first two bytes of LCAF address stream
The LCAF address stream starts with LCAF AFI code rather than
Reserved 1 field. So to properly serailize and deserialize the
stream, we need to consider the first two bytes of LCAF address
stream.

Change-Id: I7bc64fb38e6091c94bdcbe2fd8963e02dd616bc5
2016-11-10 19:54:59 +00:00
Jian Li
99f83ef62d Add LISP Traffic Engineering LCAF address with unit tests
Change-Id: I516f399e54896f923e7fbf25de9a48426e21ea40
2016-11-10 07:16:45 +00:00
Jian Li
afe2d3f41c Fix the LispMessageEncoder to reply with UDP message sender
- Add AbstractLispMessage to store sender IP address per message
- Fix the LispMacAuthentication class to accept byte array as input
- Rename LispMessageEncoderTest class
- Try to use MessageToMessageEncoder to result in UDP message

Change-Id: I977302cdadf5c96c60c889be291ad5d90e3bc7cf
2016-11-07 10:11:35 +00:00
Jian Li
f11594a816 Bugfix: handle LISP map-request message that is encapsulated in ECM
Change-Id: If7ed64f4999719d2d13cd2f5c59bcaf920157bfe
2016-11-07 10:11:08 +00:00
Jian Li
88addd557e Add AuthenticationDataLength field when deserialize Map-Register
Change-Id: I961ec472948df7a6a88547eb2e5e60eb38969320
2016-11-01 13:24:57 +00:00
Jian Li
6322a36cb3 [ONOS-5267] Rewrite LISP bootstrap class to use UDP rather than TCP
- Try to use MessageToMessageDecoder to decode DatagramPacket
- Use Bootstrap instead of ServerBootstrap in a way to use UDP
- Add a dummy LispController interface
- Remove unnecessary handlers from LispChannelInitializer
- Rename LispController to LispControllerBootstrap

Change-Id: I7d930f46ffb87d88b3449ba78e066d8b1c065093
2016-11-01 22:14:31 +09:00
Yoonseon Han
ca814bfbee [ONOS-5480] The implementation of LISP Encapsulated Control Message (ECM).
Changes
1. ECM message is added.
2. Default ECM message is added with builder, reader, and writer.
3. Implented other messages writeTo() methods.

Change-Id: I3ed6f66a7ec7a318f30596d64c35ac15365c8c4c
2016-10-25 16:14:43 +00:00
Jian Li
f8c2d4aa9b Add LISP MAC SHA1 and SHA256 authentication mechanisms
Change-Id: Ib699e7b400c85d0c0c22e312de56b90e1c7dad7b
2016-10-17 18:35:20 +00:00
Jian Li
451cea3762 Add LISP channel pipeline along with server bootstrap
Change-Id: I9ca12bbab5c4dad474bd6d7fa70e96a179bf4e50
2016-10-17 18:27:37 +00:00
Jian Li
84b7582ac6 Code clean up for LISP address and control message test cases
- Statically import builder classes to improve code readability
- Instantiate builder object in one line

Change-Id: I5439c5b2b160e19591234dff598e537f1c64b355
2016-10-17 18:18:24 +00:00
Jian Li
2775935682 [ONOS-5427] Add LISP Info-Request and Info-Reply message type
Change-Id: Ia54919945609a57e45b34af3bbe7b04e4a7efbec
2016-10-17 18:16:17 +00:00
Jian Li
52015761b9 [ONOS-5427] Add LISP NAT LCAF address class along with unit tests
Change-Id: I27e792d32aa2b30bf42ca0687161e9df9352cb6b
2016-10-17 18:01:43 +00:00
Jian Li
cbc57e3b22 Add type code into LispType enum to prevent arbitrary place holder
With the existing implementation, if we want to specify type value
8 to ECM Lisp type, we need to generate several place holders
inside LispType enumerator, otherwise ECM will be assigned a
subsequent number which is 5.
With this commit, we can specify arbitrary number for each Lisp
enum type, therefore, no need to add redundant placeholder for
the purpose of incrementing enum value.

Change-Id: I82a82a3f5bc313dc1f79aaa66a77889408e8c891
2016-10-03 20:49:52 +00:00
Brian O'Connor
bfc02ecd22 Bumping snapshot version to 1.8.0-SNAPSHOT
Change-Id: I4ca57b277d8ac814b8a10b107d995cb1cc4d499d
2016-09-16 17:41:55 +00:00
Brian O'Connor
b19fc86f82 Bumping version back to 1.7.0-SNAPSHOT
Change-Id: I1df9d0f12cd7ec7597499d41cacebdbe75899556
2016-09-16 00:12:21 -07:00
Brian O'Connor
338bc0cf19 Bumping pom versions to 1.7.0-rc2 and fixing some maven issues
Change-Id: I6169420328333d0916452aa92efbfa961d72e9c4
2016-09-16 00:11:45 -07:00
Jian Li
e4f12161a1 Add LispMessageEncoder and LispMessageDecoder with unit tests
Change-Id: If73a41687a9c2400de23bbde6179a63ac7f75d15
2016-09-12 17:45:49 +00:00
Jian Li
b26d350b58 Improve unit test coverage by considering MapRecord and EidRecord
Change-Id: I156d9ce8a4c3becedb188a53b6ce1b8f24a5e41b
2016-08-30 17:35:40 +00:00
Jian Li
42b3e4383c Remove recordCount and locatorCount from LISP control message class
Because recordCount or locatorCount is only used when decoding the
LISP control message received from xTR, therefore, there is no
need to provide any interface to specify this value from obj builder.

Change-Id: I380b275e6f06feb4846b84f62ebf2430ad5a9ec6
2016-08-30 17:35:30 +00:00
Jian Li
d4e6370b21 Add NotNull and Argument check during object build for LISP object
Also correct IP enumeration type into IP4.

Change-Id: Id970ee608c885826cfd2de7b5448b2bc451e079f
2016-08-30 17:31:51 +00:00
Jian Li
e4ba2a4460 Add unit tests for LISP control message serializer and deserializer
Change-Id: Id517db99635ad8e055d6581e5c0f3ac9f45f2869
2016-08-29 16:55:37 +00:00
Jian Li
76ea05796d Add unit tests for LISP address serializer and deserializer
Change-Id: I56538221f3951d18c1feb9343d87cbb46c3ed04d
2016-08-29 16:52:22 +00:00
Jian Li
edc5db1346 [ONOS-4718] Initial implementation of LISP control msg serializer
Change-Id: Ia068e1b158f05dd70839cb1020f15dc66b0142a0
2016-08-29 16:51:31 +00:00
GUNi
ba87170b5e [ONOS-4718] Initial implementation of LISP address serializer
Change-Id: I71e1923f6daf1abdf2bf9798a9e421c81926a45c
2016-08-22 18:26:37 +00:00
Jian Li
a7b394d410 [ONOS-4718] Deserialize addresses from LISP control message class
With this commit, we try to deserilize all LispAfiAddress from
all LISP control message classes.

Change-Id: Iaf911bff90c45a70859285e426dc1649c3e6db32
2016-08-22 18:20:37 +00:00
Jian Li
4eb3e3ace0 Revise comments to align protocol stack
Change-Id: If39b022398b90bcff6c2086da1bab8247f6c03ff
2016-08-22 18:14:46 +00:00
Jian Li
115d8602af [ONOS-4718] Initial implementation of LISP address deserializer
Change-Id: I522e16e7fd197380cf4c99038561fe9aa8f93730
2016-08-22 18:14:15 +00:00
Yuta HIGUCHI
0de4ba9401 Remove duplicate version specifications
Change-Id: I0fe6027e66815ab2e7db5e090dd5aea39b3c36e1
2016-08-18 15:59:50 +00:00
Jian Li
47671905bb [ONOS-4718] Initial implementation of LISP control msg deserializer
- Add LispLocatorRecord interface along with
  DefaultLispLocatorRecord class and unit test class
- Add deserialization logic for four LISP control message classes
  and two auxiliary classes
- Add ByteOperator utility to ease the bit access and manipulation
  for byte data type

Change-Id: I68edf6877a0ebb52260296fc556e0690b795a845
2016-08-12 22:35:34 +00:00
Jian Li
26069e2d35 [ONOS-4718] Add skeleton code for de-serializing LISP ctrl messages
Change-Id: I52f7905538e5832e5282812df869b8158ce23334
2016-08-12 22:15:52 +00:00
Jian Li
e9af3b4810 Add unit test for LISP address to check obj equality & construction
This commit adds various unit tests of LISP addresses in a way to
check object equality and construction.
This commit also makes minor changes to existing LISP address
classes to allow the test cases to pass all unit tests.

Change-Id: Ice9f9634bdd243baaf1eed1539ea8d5808dda01d
2016-08-08 23:40:23 +00:00