63 Commits

Author SHA1 Message Date
Ayaka Koshibe
c06c89bfe8 REST API modifications to take application ID/Kep pair to fetch intents.
Change-Id: Icee85c6d801c92d94c6905f1d4316f63fea4e560
Reference: ONOS-1007
2015-02-13 14:13:55 -08:00
Jonathan Hart
4fd4ebb9d0 Continue updating GossipIntentStore to new API.
Includes changes to ECMap to support generating timestamps based on values.

Change-Id: Ide55979aaa4f7757e67a6b3efed6e51d45ee318c
2015-02-13 14:12:30 -08:00
Ray Milkey
f9af43c2ea Refactoring of IntentId based APIs
- getIntent
- getIntentState
- getInstallableIntents

Change-Id: I6d2073dfa165e0e5adcef46fe5908b563b481a43
2015-02-13 14:10:55 -08:00
Pavlin Radoslavov
febe82cc82 Implement some of the missing IPv6 flowmod treatments
Work toward ONOS-509

The following treatments are added/implemented:
  - IPV6_SRC
  - IPV6_DST
  - IPV6_FLABEL

Also:
 - Renamed L3ModificationInstruction.L3SubType.IP_SRC and IP_DST
   to IPV4_SRC and IPV4_DST (for naming consistency).
 - Few minor fixes in related code: Javadocs, comments, log messages,
   and IP address usage.

Change-Id: I551056f767a37e7cb6ae7d79f4a3929183500b57
2015-02-12 18:24:54 +00:00
Ray Milkey
0cc189e681 Add a test for unsupported criterion type
Change-Id: I0820b8f7fe9a375554721438284b5e9352c289b2
2015-02-09 11:14:42 -08:00
Ray Milkey
46670a881f Refactor criterion codec test and matcher
- codec test now uses the json matcher rather than comparing itself
- refactored the codec matcher to be less ugly
- fixed a bug in how eth types are compared

Change-Id: Iaf9980c52e98518405a23d2cdde7ccd7d4afaa9b
2015-02-09 09:59:03 -08:00
Pavlin Radoslavov
5e4f754f19 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
  - IPV6_EXTHDR

Also, fixed the match criteria for the optical signal type
to represent unsigned 8 bits integer (per spec).

Change-Id: I925db19cb43c5d9f589c1f090b6a75faabe0a19b
2015-02-09 01:20:09 +00:00
Pavlin Radoslavov
f3b693381d Fix toward ONOS-960 - Signed/unsigned value mismatch for OpenFlow-related
match/action conditions

Fixed the signed/unsigned issue for the match conditions

Also:
  * Reordered some of the code in CriterionCodec.java so the order
    of handling various Criterion types follows the order as defined in
    Criterion.java
    - In the process, removed a duplicated entry for Type.MPLS_LABE
    - Fixed an issue with TCP/UDP/SCTP ports being accessed as 8-bit integers
      instead of 16-bit integers

  * Updated some of the unit tests in CriterionCodecTest.java to use
    larger integer values that could expose better potential bugs in
    the tested code.

Change-Id: I531d13bd258ebc559ce6be716863c01613427a98
2015-02-09 01:16:31 +00:00
Yuta HIGUCHI
32a53c5a85 Instruction related fixes
- Fixed PushHeaderInstructions bug, where half-baked Ethernet instace was used
  only to hold ethernetType. (ONOS-987)

Change-Id: I330a862c8a18206250befbd4e22ee6d189beed83
2015-02-08 01:41:43 -08:00
Ray Milkey
9ee62f52f2 add unit test for criterion codec
Change-Id: I0797c164dbbc03cd46a9d861e758f85cd27845d6
2015-02-06 14:52:07 -08:00
Ray Milkey
73ba84aa42 Refactor criterion codec
The previous implementation was a huge switch statement. These
changes attempt to use polymorphism to avoid all of the branching
inherent in a switch.

Change-Id: If997f028346de02b883356bcde07f62674e319be
2015-02-06 10:02:26 -08:00
Ray Milkey
ed0b1663ab Fix tests that were hiding the setUp() mthod in the JerseyTest framework
REST API tests were defining a set up method called setUp(), which had
the unwanted side effect of hinding the parent class' implementation.
Made the set up and tear down methods for the tests have unique names so
both will be executed.

Also fixed some javadocs while editing the files.

Change-Id: Ifaa75fe650d5909b066769e5e12cb5c834267a20
2015-02-05 18:25:54 +00:00
Yuta HIGUCHI
293ede0bcf Workaround for ambiguous isA method
- Eclipse complains isA() is ambiguous.
  'isA' method does exist in both EasyMock and hamcrest Matcher.

Change-Id: I6b98dbe1b4f1f0ce4fcbc2dcaded9b666fc19b33
2015-02-05 00:08:41 -08:00
Pavlin Radoslavov
d0fd841978 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
  - IN_PHY_PORT
  - IP_DSCP
  - IP_ECN
  - METADATA

Change-Id: I6f529ee90b2b9e0d5046f83c034e8be3faf86d8b
2015-02-05 05:44:00 +00:00
Thomas Vachuska
ebf5e54d44 ONOS-542 Added ability for app bundle to carry it's own artifacts, including feature repo. Fixed onos-package script. Added JSON output to CLI.
Change-Id: If4f2c774d3fc2d68c0a8e91b3084b99d7c75d927
2015-02-05 05:22:53 +00:00
Ray Milkey
540b2ce182 Make JSON codecs immutable
The contract for JSON codecs requires that they have no
local context.  Make them all immutable, and test that they
stay immutable.

Change-Id: Ia3930b844ede231940da05699f5f08605f946e0c
2015-02-05 04:59:22 +00:00
Ray Milkey
f195b02624 Unit tests for applications REST APIs
Change-Id: I4e8360ca9b0ca9eafe1b226b648acfe2b0676caa
2015-02-03 23:30:29 +00:00
Ray Milkey
19ffea35f8 ONOS-790 - REST APIs for paths
Change-Id: I5e08778e75c98c1156df7972af9897b52677d371
2015-02-03 21:10:39 +00:00
Pavlin Radoslavov
320e6c97f8 Implement some of the missing Selector and Match Conditions
Work toward ONOS-509

The following match conditions are added/implemented:
 - UDP_SRC, UDP_DST
 - SCTP_SRC, SCTP_DST
 - ICMPV4_TYPE, ICMPV4_CODE
 - IPV6_FLABEL
 - IPV6_ND_TARGET
 - IPV6_ND_SLL
 - IPV6_ND_TLL

Also:
 * Renamed method
     TrafficSelector.Builder.matchInport(PortNumber port)
   to
     TrafficSelector.Builder.matchInPort(PortNumber port)
   (for consistency with the corresponding method(s) elsewhere)
 * Reordered the code for some of the existing matching conditions
   to follow the order in the OpenFlow spec, so it is easier to
   cross-reference such code.
 * Added missing Javadoc
 * Added few more Criterion.Type values as per OpenFlow spec 1.5.0

Change-Id: I7fc1656f32d8a7280c67d7827e4aa84528b0eafc
2015-02-03 14:40:08 +00:00
Ray Milkey
4c0da81c28 Fix missing break statement found by Sonar
Change-Id: I5581aca308531517b1e73751487c042ab09ec606
2015-02-02 21:50:34 +00:00
Ray Milkey
2287d8850f ONOS-887 - Return a 404 status when a URL specifies a bad resource
Change-Id: I145ae65076d54ec50f7627a50307c975df8f2c0a
2015-01-30 23:07:43 +00:00
Sho SHIMIZU
0ce220af4f ONOS-426 - make the unit of Bandwidth clear
Change-Id: I6f23f01306ece906fb6a6a894a52a6369983eeed
2015-01-30 00:40:05 +00:00
Thomas Vachuska
02aeb0339f ONOS-542 Defining application subsystem interfaces & public constructs.
Change-Id: Iba0d2cb69dace5beee8a68def9918059ce755b5c
2015-01-30 00:28:45 +00:00
sangho
11c30ac6d3 Add a new method sendMsg(OFMessage msg, TableType type) in OpenFlowSwitch interface to support multiple-table aware FlowRuleService.
Other changes are caused due to the new method.
Add type() in FlowRule interface to determine the table in which the flow rule need to be set.

Change-Id: I6518a01f4a5fba23f09f70b619f3844b5e33ce8f
2015-01-29 09:35:06 -08:00
Ray Milkey
9c3d3367a1 Make REST API unit tests choose a free port to allow concurrent builds
Change-Id: I05579d38e9374c40ef67251a30869361e31fc6d8
2015-01-28 11:09:45 -08:00
Ray Milkey
8fd68cae15 ONOS-792 Implement Unit Tests for Links and Devices REST APIs
Also added a missing attribute to the Devices codec

Change-Id: I824a3559ca6278297a52169249f413c850204a9b
2015-01-27 15:33:44 -08:00
Ray Milkey
521d3709dc Removed prototype REST resource
Change-Id: I3edf7b7e1b4f8e7b1d26b3c5945e614da328014d
2015-01-26 12:29:41 -08:00
Ray Milkey
3f02569dde Use JsonBodyWriter directly rather than converting JSON to strings first
Change-Id: I2facf51d0bf9b6ea4ccb47b0ac4214af203982a1
2015-01-26 11:50:49 -08:00
Ray Milkey
c401e6e3c6 ONOS-792 Unit tests for Topology REST GET APIs
Change-Id: I2e82b9b9b6133ba80aa8f02df582f867b924a641
2015-01-26 19:07:56 +00:00
Ray Milkey
f25d1353d3 Fix Javadoc warnings
Change-Id: I857d8bd7d9fc0862f3c0097d3e65cbedfb997b0f
2015-01-23 15:47:00 -08:00
Ray Milkey
82e5031545 ONOS-792 - topology related REST GET APIs
- GET /topology
- GET /topology/clusters
- GET /topology/cluster/{clusterId}
- GET /topology/cluster/{clusterId}/devices
- GET /topology/cluster/{clusterId}/links
- GET /topology/broadcast/{connectPoint}
- GET /topology/infrastructure/{connectPoint}

Change-Id: I2a5053b9e7f8bb7f4e3daa4b82b31376a47578cf
2015-01-23 21:51:12 +00:00
Sho SHIMIZU
d7d18005e8 Prohibit null for resources field in Intent
Change-Id: I128c6e63ccccaf817e83ff1c440a731fb98b42f7
2015-01-22 19:03:58 +00:00
Ray Milkey
b9a8a18734 ONOS-741 - JSON codecs for constraints
Change-Id: I6eebc2ef5f6c28956f0944524aa90f44cebfcc60
2015-01-21 22:09:45 +00:00
Ray Milkey
db358086fd Unit tets for instruction JSON codecs
Fixed several bugs in codecs turned up by unit tests

Change-Id: Icddb31aa3d2cb58612a0578772d24ff5f113d073
2015-01-16 22:00:10 +00:00
Ray Milkey
d03eda01c0 Unit tests for Instruction and Ethernet codecs
Added tests for codecs for Ethernet and Instruction classes
Also fixed some bugs uncovered by the tests

Change-Id: I29f82d169e81b3fca417f88fab992148bf36dc71
2015-01-12 18:00:10 +00:00
Ray Milkey
c95bb9d27e ONOS-574 - Complete REST APIs for flows
- codecs for all objects referenced by flows
- codecs for HostToHost and PointToPoint intents
- standardized on context.codec() rather than direct calls to new codec()

Change-Id: I94fcb6e31a9161132c6efc2793b9c46fa3cc4570
2015-01-09 22:07:42 +00:00
Ray Milkey
4f5de001a8 Implement REST APIs for flows:
- get all flows
- get all flows for a device
- get all flows for a device with a given ID

Change-Id: Ifb1541e4ae4a7e49f1347b34bef2fe788902368d
2014-12-19 23:50:40 +00:00
Ray Milkey
2b217144a9 Implement GET REST API for intents
- GET /intent and GET /intent/id implemented
- Basic codec for Intents
- Unit tests

Change-Id: Idbe59d4f7a792c88c77d6f3498d01d4cb7c4467d
2014-12-15 20:22:07 +00:00
Ray Milkey
02f446b6cd Add a negative test for Host REST API
Change-Id: I84b2645f6a2521bb66a46f09793765956dfc5d04
2014-12-12 18:40:43 +00:00
Ray Milkey
1f95bd3f84 Implement REST API for Hosts objects
Change-Id: Ie1d4f7c19c47d2d357dedf81016e4d4d197e4052
2014-12-11 22:31:38 +00:00
Brian O'Connor
7f2e9bf19a bumping version to 1.1.0-SNAPSHOT
Change-Id: I35f10fa7ffab12365ad852f5253bc1f395282f9b
2014-12-04 23:45:40 -08:00
Brian O'Connor
5b29ebd309 Bumping version to 1.0.0
Change-Id: I0cdd1f64a9292c91af27b86e89bd8251b2c298f3
2014-12-04 21:54:26 -08:00
Brian O'Connor
abafb50f58 Changing org.onlab.onos package to org.onosproject
Change-Id: Ic81421faa27acdcff045add47d9e0a715cd4f575
2014-12-02 22:26:20 -08:00
Brian O'Connor
03defe7939 Moving org/onlab/onos to org/onosproject
Change-Id: I742627fe0862cac78391cf70010f99dc26dce1e6
2014-12-02 22:22:39 -08:00
Thomas Vachuska
3f06e081a4 Various gui & test script tweaks.
Change-Id: I62d8c560d4d533cd6d38ee9388a2a2e0400f51a2
2014-11-21 12:08:10 -08:00
Thomas Vachuska
ece59ee93a Fixing visuals for the SDN-IP demo.
Change-Id: Idd518213062c49c4f9011b951d87d2020927608a
2014-11-19 21:38:51 -08:00
Ayaka Koshibe
78bcbc1227 remove dependency on Devices for handling MastershipEvents
Change-Id: Ie1670e77d3eee5dbd597f574ebe16d687e7b551e
2014-11-19 15:39:08 -08:00
Thomas Vachuska
dea45ff7da Adding enhancements to the GUI server-side.
Fixing a few intent-related glitches for the optical use-case.
Fixing lat/lng information in the optical config.

Change-Id: I6a1dd1ee69c2db2f0e351d191627bba468a3c49c
2014-11-12 20:31:04 -08:00
Thomas Vachuska
21e03649dd Cleaning up Javadocs.
Change-Id: I41d075e3e6f6a26b340ce21a5baa8b238dc069ad
2014-11-11 10:23:08 -08:00
Thomas Vachuska
ca60f2b0f1 Initial sketch of codecs and REST API approach.
FIxed typos and defects.
ONOS-81

Change-Id: I789444a181abea509c354966545c927e305710d1
2014-11-06 13:29:42 -08:00