805 Commits

Author SHA1 Message Date
Pavlin Radoslavov
af5ff79583 Added new method IpAddress.valueOf(InetAddress inetAddress)
and use it as appropriate inside DistributedClusterStore.memberAddress()
2014-10-31 20:51:47 -07:00
Pavlin Radoslavov
d0e32d7486 Added support for IPv6 addresses to class IpAddress:
- For some of the methods, the IP Version needs to be specified by the
   caller. This applies to the IpPrefix API as well.
 - For now, everywhere IpAddress is used and the IP version has to be
   explicitly specified by the caller, we assume/specify IPv4.
 - Added unit test for class IpAddress: for both IPv4 and IPv6 addresses.
2014-10-31 18:11:43 -07:00
Ayaka Koshibe
3ef2b0db6c vertical feedback path for Role replies
Change-Id: I31bdb85f90901ec79147adeea0df8ceae00ed1dc
2014-10-31 14:02:54 -07:00
Thomas Vachuska
442d26a9cf Added javadocs. 2014-10-31 08:45:14 -07:00
Brian O'Connor
41718fced1 Applied some fixes to Intents
- Use classname instead of class in IntentId
- Added hashcode and equals to LambdaResourceAllocation
- Untrack resources in IntentManger during uninstall
- Refactored common code in OpticalPathIntentInstaller
- Copied SimpleLinkResourceStore to DistributedLinkResourceStore
- Added a few unserializable files to KryoNamespaces

Change-Id: Ic35d102244972d5cf0c64482fd99e8c9bb1293a6
2014-10-30 16:59:19 -07:00
Thomas Vachuska
4b42077418 Cleaned up a slew of Javadoc errors in preparation for switch over to Java 8. 2014-10-30 16:46:17 -07:00
Yuta HIGUCHI
2befc661d9 Loosen Kryo config only for DistributedIntentStore
Change-Id: Ie3f05e2d894b0d44f7c0ad645b77c65d1f2ce02b
2014-10-30 15:57:49 -07:00
Yuta HIGUCHI
d40e950c71 use termService field
Change-Id: I56998905db4f0403e8c244937a788555dea37823
2014-10-30 15:43:45 -07:00
Pavlin Radoslavov
855ea2d5b9 Refactor the IpPrefix API and implementation:
* Now IpPrefix uses IpAddress to represent the subnet address
 * The IpPrefix subnet address is masked-out by the prefix length.
   E.g., IpPrefix("1.2.3.4/24") is now stored as IpPrefix("1.2.3.0/24")
 * Removed IpPrefix methods that are not used or don't apply anymore
 * Replaced usage of IpPrefix with IpAddress where appropriate
2014-10-30 15:32:39 -07:00
Thomas Vachuska
96f4d47578 Merge remote-tracking branch 'origin/master' 2014-10-30 14:10:57 -07:00
Thomas Vachuska
7b652ad97c Fixed some javadoc warning/errors.
Fixed NPE error in objective tracker.
Preparing for upgrade to Java 8 and Karaf 3.0.2.
2014-10-30 14:10:51 -07:00
Toshio Koide
32336182cc Initial implementation of unit tests for SimpleLinkResourceStore. 2014-10-30 13:02:47 -07:00
Yuta HIGUCHI
38b4d9d9ec Device Mastership
try to fix Masteship recognition mismatch when MastershipEvent suggest different view.

Change-Id: If1aba3d330978c48e8c4053fb47f4d149d57966e
2014-10-30 12:10:24 -07:00
Yuta HIGUCHI
dfe6e3bd05 allow null Master in MastershipTerm
Change-Id: I840354eb6d0b5a1bac91887a41626c33c49d592c
2014-10-30 12:10:24 -07:00
Toshio Koide
69e5257d32 Fix bugs on SimpleLinkResourceStore. 2014-10-30 11:14:56 -07:00
Toshio Koide
bce7425092 Add javadocs for ResourceType. 2014-10-30 11:14:56 -07:00
Jonathan Hart
4f60f98bd8 Implemented multi-instance packet out.
We've defined a PacketStore abstraction through which outbound packets are
sent. The packet store has a simple implementation (basically a no-op) and a
distributed implementation on top of the cluster messaging service.

Change-Id: Ib32753314fe518ef1fd67c858db744b004539938
2014-10-30 11:02:52 -07:00
Toshio Koide
07df706db1 Add javadocs for LinkResourceStore interface. 2014-10-30 10:54:25 -07:00
Yuta HIGUCHI
b5b71b3ce1 DistributedMastershipStore
- try to avoid unnecessary remote writes
- avoid reads from blocking if possible
- atomically read term info

Change-Id: I50badc718726261ccb14a6feefc578b420d28923
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
4b0ca2cfb1 Add constructor to create empty RoleInfo
Change-Id: If16483fb20d8d0010a22982e0d8f20a295017e62
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
f1d159a6b5 remove term lock
Change-Id: Ia19323d2bb1e30f2c62ddda7c6269928c4d73fb3
2014-10-30 08:21:27 -07:00
Yuta HIGUCHI
225e63e3d4 turn off duplicate check for now
Change-Id: Ic11a4e4c33ae219df1ddf49f512b8f61a145dc91
2014-10-30 08:21:27 -07:00
Toshio Koide
106d4495d3 Initial implementation of LinkResourceStore for single instance env. 2014-10-30 04:23:23 -07:00
Thomas Vachuska
e3784c9c09 Added protection against no resources to PathIntentInstaller. 2014-10-29 21:09:10 -07:00
Thomas Vachuska
a05c0a2941 Merge "Prototype bandwidth reservation" 2014-10-29 18:26:50 -07:00
Jonathan Hart
68fef9d95e Added modification instructions to Kryo
Change-Id: I4c571240560442aa6ac105c0ec6b3488641f0530
2014-10-29 17:30:03 -07:00
Thomas Vachuska
d16ce18d0c Added Port.Type and plumbed it throughout. 2014-10-29 17:25:29 -07:00
Ray Milkey
caa450ba34 Prototype bandwidth reservation
This is a prototype of the bandwidth reservation implementation.
There is no bandwidth discovery, it is all faked.  The bandwidth is
specified by allocating a special Intent used for demonstration purposes.
This code also uses faked out interfaces in the Resource Manager, and will
need to be refactored when the real Resource Manager is in place.

Change-Id: I1f9a16b4144f5440bb529014a6a6f0f21d22839e
2014-10-29 16:10:16 -07:00
Yuta HIGUCHI
eb5a0b9d7d minor Device - Mastership fixes
Change-Id: Id6d46e22fb67f01cd5c0802cf4fad135a043ec77
2014-10-29 15:59:40 -07:00
Jonathan Hart
29858af463 Add an empty topology at initialization so we can never have a null topology
Change-Id: I07921583e107895aeeb627f7d61920fed800e77c
2014-10-29 15:33:18 -07:00
Pavlin Radoslavov
52307e60ba IpAddress and IpPrefix related cleanup:
* Removed IpAddress.MAX_INET_MASK and use IpPrefix.MAX_INET_MASK_LENGTH
   instead
 * Renamed IpAddress.INET_LEN to INET_BYTE_LENGTH
 * Added IpAddress.INET_BIT_LENGTH, INET6_BYTE_LENGTH, and INET6_BIT_LENGTH
 * Removed methods that are semantically incorrect, or are not needed/used
   - IpAddress.prefixLength()
   - IpAddress.toPrefix()
   - IpAddress.mask()
   - IpAddress.netmask()
   - IpAddress.network()
   - IpAddress.host()
   - IpAddress.isMasked()
   - IpAddress.contains()
   - IpPrefix constructor for version and bytes (but no netmask)
   - IpPrefix.valueOf(int)

 * Misc. other cleanup.
2014-10-29 15:07:37 -07:00
Yuta HIGUCHI
6a529232f6 Change ProviderId.NONE to none:none
Change-Id: I556f5cdbb555d195950985cdbd4dab538132a154
2014-10-29 12:21:31 -07:00
Thomas Vachuska
ef5a809573 Merge remote-tracking branch 'origin/master' 2014-10-29 11:28:48 -07:00
Thomas Vachuska
425a2d757f Modified intent compilers to only chose paths that are appropriate to the type of intent, i.e. packet or optical. 2014-10-29 11:28:28 -07:00
Ayaka Koshibe
317245a6db add check for duplicate MastershipEvents to DeviceManager
Change-Id: I2753366b29ef32fa77ebcefff4b2202f1afe0006
2014-10-29 11:15:59 -07:00
Ayaka Koshibe
e60d452eda avoid transient changes to MastershipStore from being posted as events
Change-Id: Id033cf50f865e44439138f5b3814ebaedb832b73
2014-10-29 11:15:59 -07:00
Yuta HIGUCHI
b87ef9587d human readable time representation for toString
Example:
 LinkEvent{time=2014-10-28T23:24:23.461, ...

Change-Id: I439cea488afd97dfa4f1c1e5770f2e2d7b64d321
2014-10-28 23:34:23 -07:00
Yuta HIGUCHI
ea15015f7c convert anonymous class to nested class
Change-Id: I2d0770b80ca4806fabf31fd358ecb165d3e9f778
2014-10-28 22:55:14 -07:00
Yuta HIGUCHI
72569d6571 remove synchronized
Change-Id: I1a11e48d042797744a4ac834fd65f6417c700f57
2014-10-28 22:40:01 -07:00
Yuta HIGUCHI
71fa493b96 Add TODO memo
Change-Id: I2ae516383b02516b8d36e1f23331f81b57569ac5
2014-10-28 22:27:49 -07:00
Yuta HIGUCHI
56df70f929 Added debug log
Change-Id: Icc86bb91a382fd2d9bb013b9d6d30e0f45ffad74
2014-10-28 22:26:15 -07:00
Yuta HIGUCHI
4b52444082 DistributedFlowRuleStore related fixes
- handle no master for Device case
- Changed failed item type to FlowRule

Change-Id: If6c85751759cf6ba9ab0ed0384cbe1bf08a5d572
2014-10-28 22:23:57 -07:00
Yuta HIGUCHI
087019ba56 register some Intent related classes
Change-Id: I71ec0c7db930ffb9a1f2bc3da7c3de2f598ee5ee
2014-10-28 21:08:33 -07:00
Thomas Vachuska
bd8c988f24 Merge remote-tracking branch 'origin/master' 2014-10-28 15:53:35 -07:00
Thomas Vachuska
c0bbbd4f89 Allowing link stores to create links injected by ancillary providers.
Fixed oe-linc config
2014-10-28 15:53:30 -07:00
Yuta HIGUCHI
10a31c3b85 initial Distributed IntentStore using Hz
Change-Id: Iffb3f5fdfe8ba080fd039e67f8473ea18348f20d
2014-10-28 14:42:06 -07:00
Thomas Vachuska
4f1a60c9fd Revised copyright message. 2014-10-28 13:39:11 -07:00
Thomas Vachuska
444eda6066 Added JSON for role command. 2014-10-28 13:09:42 -07:00
Toshio Koide
9be539e079 Preparing implementation of link resource data store. 2014-10-28 11:07:52 -07:00
Pavlin Radoslavov
444b519327 Replaced the usage of IpPrefix with IpAddress in the context of
Controller Nodes.

Change-Id: Id2b25fb071bb20541db3f77b7afefe886520538e
2014-10-28 10:45:19 -07:00