87 Commits

Author SHA1 Message Date
Thomas Vachuska
de563cf235 Added ability to form a cluster via REST API.
Change-Id: Ib71f6b4caed1b1c4b9db78596ee35bf5cab05184
2015-04-01 20:39:37 +00:00
Ray Milkey
4250735018 Remove deprecated instructions() method in the traffic treatment class
Change-Id: I739b35bdcbf9867c639c7b6ca4006f3eeafbb055
2015-03-24 18:18:28 +00:00
Ray Milkey
67c22726a2 ONOS-1242 - REST API for Withdrawing Intents
- upgraded Jersey to 1.19 for some REST bug fixes for Java 8
- consolidated references to Jersey by using the dependecy
  management plugin in the top level pom file.

Change-Id: Ic027f97f8fce6c673c9f2c02a92abaeedfedeb97
2015-03-23 20:40:33 +00:00
Thomas Vachuska
8683e01678 Fixing codec usage.
Change-Id: I9101296a7ec4d4b13bf11df3e49e17afad79405e
2015-03-19 01:40:30 +00:00
HIGUCHI Yuta
3c994f7e8c ONOS-1329: Migrate Codec related code to onos-core-common bundle
- removed unused dependency to onos-core-trivial tests

Change-Id: I0f13cff6cc99403f7c0e0d7362f83d0ba557f10b
2015-03-19 00:42:52 +00:00
Ray Milkey
3e3ec5f786 [Cardinal] Add builders for Intents and remove extra constructors.
Starting with PointToPoint intent to see how it looks

Change-Id: I5366a05d657ceaad18c03b95cd71f5d1107200e2
2015-03-18 22:17:54 +00:00
Brian O'Connor
6ea48a22fe Starting snapshot 1.2.0-SNAPSHOT
Change-Id: Iffa1055c22448849353ede6581c277f4d3de78d8
2015-03-17 20:07:20 -07:00
Brian O'Connor
91d9019b24 Tagging ONOS Blackbird release: 1.1.0
Change-Id: Iee1accb8f83e03a1c4b2250d36d48aefd6383c97
2015-03-17 19:45:58 -07:00
Brian O'Connor
1545b1ef08 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I8caca4df60027426c18b51c1b35c313fe9ac1c10
2015-03-11 16:38:23 -07:00
Brian O'Connor
20fa3a45f9 Tagging 1.1.0-rc2
Change-Id: I1fa0feb1b790f79baa465fd82965433e109b34b2
2015-03-11 16:23:07 -07:00
Ray Milkey
c24cde3305 Add priority to Intents
Change-Id: Ibe63356f5b15a6aa6ca7731dba3382c3317a95ec
2015-03-11 02:14:30 +00:00
Brian O'Connor
6b5281356b Adding emptyTreatment() and emptySelector()
Note: There was a change that adds a DROP action to
a traffic treatment if there are no other actions present.
To get a traffic treatment without the drop rule, use
emptyTreatment()

Change-Id: I1f23ed5e1fa7519eb94fcafa85facbad815d5e9c
2015-03-10 16:48:45 -07:00
Abhishek Dwaraki
1e5873e94d ONOS-400 Topology creation and up time formatting fixes
Change-Id: Iaf6d4dbbc1c7eaae9465a2d931d40f07a75ad07d
2015-03-09 22:50:23 +00:00
alshabib
346b5b362d Traffic Treatements now support deferred, immediate, table, and clear instructions.
By default, treatments are all immediate. Treatments will be deferred if the builder
predicated by deferred(). Subsequent treatments will be deferred until immediate is called
on the builder again. Multiple calls to deferred and immediate are permitted.

Change-Id: I76b3a44f2219fc1e72a7fb41b72d7bd602be85b7
2015-03-09 18:28:58 +00:00
Brian O'Connor
266ac66643 Starting snapshot 1.1.0-SNAPSHOT
Change-Id: I2abf73c248c04f0559f97b313be034b48761695a
2015-03-01 07:36:09 +00:00
Brian O'Connor
352236e289 Tagging 1.1.0-rc1
Change-Id: I9c95f8309e1c98bc1a25eeaad1962b4d28257261
2015-03-01 07:36:08 +00:00
Ray Milkey
43a2822c10 Refactor tests to use shared mock implementations
Change-Id: Iba4e44b7bb88f8a31add9475a9155f85375ae61a
2015-02-23 22:44:24 +00:00
Thomas Vachuska
93da11f8b5 Providing sample web.xml configuration for enabling basic authentication of REST API & GUI.
Change-Id: I1ee8853945611d7778a4a4dc38883cfe266a5efa
2015-02-23 18:22:53 +00:00
Pavlin Radoslavov
ab8553a52a Fix a bug: there are two ECN bits in the IPv4 header, not three.
Change-Id: Ibdfce817f2a506644e0f9cd16f46cf6ab1f75eb7
2015-02-20 14:13:50 -08:00
Yuta HIGUCHI
6a47964aad Instruction related fixes
- Removed redundant equality check. (ONOS-975)
- Enforced using Instruction Factory methods.
- cosmetic fixes.

Change-Id: I178b55f8568c1a9132f0aa88465b8b34dc2b2df2
2015-02-20 19:12:19 +00:00
Ray Milkey
cc53abd74e Favor adapter classes over service interfaces in unit tests
In unit tests that are mocking an entire interface, instead
extend the Adapter class so the unused method overrides
are no longer needed.

Change-Id: I6e332cc5cb59410f163deea223fbc94e73d83917
2015-02-20 00:35:32 +00:00
Thomas Vachuska
62ad95f3f1 Added ability to upload apps as both app.xml or app.zip.
Added a number of app.xml files for built-in apps.
Added ability to install & activate in one command.

Change-Id: I3fa5fa487ef76d9fe3da4d6dce8045d538cba423
2015-02-18 21:33:52 +00:00
Yuta HIGUCHI
179f3775e3 Fix boxing/unboxing to parse a primitive
Change-Id: I83f6beac585f8b6b28a95080783e5ca51454fbfe
2015-02-18 17:28:39 +09:00
Michele Santuari
4b6019e449 ONOS-631 #Initial MPLS intent implementation
Change-Id: I6f906b953f06f395cc67e612648802e333c0e581
2015-02-14 10:00:48 +00:00
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