913 Commits

Author SHA1 Message Date
Brian O'Connor
f0c5a052a5 Initial implementation of CORRUPT state (ONOS-1060)
- Added CORRUPT state to state machine and event type
- Simplified phases using new request field
- Improved null-safety by using Optionals

Change-Id: I1d576b719765b5664aef73477ee04593e8acc4fd
2015-04-28 20:17:42 +00:00
Sho SHIMIZU
0c3c076b52 Inherit resources from a high level intent when creating a FlowRuleIntent
Make constructor without resources argument deprecated

Change-Id: I400cedfb2ec5f8ec3217e4729d95b075ceb0b025
2015-04-28 19:55:52 +00:00
Sho SHIMIZU
2de9449f07 Inherit network resource information from a high level intent
This patch fixes ONOS-1677

Change-Id: I37d8742eb1a03b56d1e47d30d9342546ab42d23b
2015-04-28 17:49:38 +00:00
Charles M.C. Chan
2184de1e7f ONOS-1756: Improve CLI auto completers
- Add more ICMP types and codes
- Add completer for --icmp6Type
- Add completer for --icmp6Code
- Add completer for --extHdr
    It is a multiValued option.
    For example, the following command will match an IPv6 packet with both fragment and routing extension header:
    add-point-intent --ethType IPV6 --extHdr FRAG --extHdr ROUTING
    NOTE: OVS 2.3.1 does not support OFPXMC_OFB_IPV6_EXTHDR match field yet.
- Change parameter of TrafficSelector.matchIPv6ExthdrFlags() from int to short since that field is 9 bits only

Change-Id: I55944399f3985f2cc09330a726f21983de273341
2015-04-28 17:47:22 +00:00
Ray Milkey
a05fd20b79 Unit tests for some uncovered Intent types
Change-Id: I9ddd0a4f8d12222b6f5c6bc2d127d6082bc0649d
2015-04-27 22:45:38 +00:00
Simon Hunt
20e1679390 ONOS-1477 - GUI -- Added glyphs to nav menu.
Change-Id: Ifacd5d389bdc2bb5adc61182b8329de9e2557af2
2015-04-24 14:29:39 -07:00
Simon Hunt
38c2b6a2b0 ONOS-1478 - GUI -- Segment navigation menu into categories.
Change-Id: I54bddcada1541ebf2926a6536e4c14bb8a1d3a66
2015-04-24 13:02:14 -07:00
Thomas Vachuska
8b91f4f82b GUI -- Added category to the UiView abstraction.
Change-Id: I55fff4d242e8d6b8d8ce3d25e8f9355dc0ef976a
2015-04-23 17:55:36 -07:00
Simon Hunt
1002cd8e9a GUI -- Added UiViewHidden subclass of UiView to allow for views that do not have an entry in the navigation panel.
- Added placeholder "flow" view.

Change-Id: I3a969d16baf608b132c10cfc7f154d0ce51c765e
2015-04-23 21:54:50 +00:00
Sho SHIMIZU
f1fa96ccb5 Implement toString in OpticalConnectivityIntent
Change-Id: I0035c8cdd9f909af24a47b0db04d306c33aa8c44
2015-04-23 17:17:37 +09:00
Thomas Vachuska
ca540c39d4 Fixing javadocs.
Change-Id: Idd845ac2cb2ac2739735c384bd8f096fb975210c
2015-04-22 21:24:19 -07:00
jcc
3d4e14a72b FlowRule private extension refactor.
1.merge private flow into regular flowrule subsystem.no mirror code any
more.no change flowrule api.
2.define a rich-data-type to carry private flow.
3.modify OpenFlowRuleProvider.class to support for 3rd party private
flow.i don't know whether is suitable.because this class name is
relative with open flow protocal.
4.fix some junit test bug caused by modification of FlowRule interface.

Change-Id: I6c54d1e97f231a75bd1b416f0893e0379613d7ce
2015-04-23 04:11:34 +00:00
Jonathan Hart
17d0045c99 Upgrade packet requests to use flow objectives API.
Addressed a few issues found while using the flow objectives across a cluster:
 * Flow objectives should be installable from any node, not just the master.
   Therefore we need to ensure all nodes initialize a driver for each switch.
 * We no longer store a list of objectives that are waiting for the switch
   to arrive. If the we don't know about the switch yet we'll try a few times
   over a few seconds to find it, but after that we'll give up and report an
   error to the client.
 * Default drivers need to be available when the FlowObjectiveManager starts
   up, otherwise it is common to get flow objective requests before any
   drivers have been loaded.

Change-Id: I1c2ea6a223232402c31e8139729e4b6251ab8b0f
2015-04-23 00:16:29 +00:00
Saurav Das
3ea46622c8 Removing dependency on lower level drivers for the BGPRouter application.
Also a couple of bug fixes

Change-Id: I8f2ec58ed3403ae03cf7c068dabb30ae4272ff85
2015-04-22 14:08:43 -07:00
Thomas Vachuska
6cba495a6f ONOS-1736 - Modified PacketManager to register packet request flows using the core app id, instead of the requesting app id. This is to prevent packet request flows from vanishing when app removes all its flows. This is a provisional fix until packet requests allow removal via reference counting or a similar tracking strategy.
Change-Id: Ib0e53ae8c6b5ae030a9c17a34407a5897027127b
2015-04-22 12:38:22 -07:00
alshabib
d17abc2e93 Refactored driver to use new FlowRule api.
Deprecated transition with table types and added api for transition with table ids.

Change-Id: Ifcf2d87d16810666d992e4d9f5ddca3d0da460be
2015-04-21 18:27:28 -07:00
Thomas Vachuska
b52a014a46 GUI -- Added ability to display port names in the devices view detail.
Change-Id: Iffaf3b46099f868b7245fe0c7819d13e5bff76d3
2015-04-22 00:56:43 +00:00
alshabib
f6ea9e624b Implemented a globally unique next id generator in FlowObjectStore
Change-Id: Ib98b2996e1ebcca56ad816ea94f25d838c5f4d44
2015-04-21 17:08:26 -07:00
alshabib
08d9898714 FlowRule api no longer uses TableTypes. Existing usages are converted to
integer representations via Type.ordinal() call

Change-Id: Ie2a26c5ced166e12f0e1ea22e39cd5195455a1ad
2015-04-21 23:52:19 +00:00
wei wei
a668122db1 Java-doc improvement
Change-Id: I9737cd0e636d94a829c8c79440654c8fe1b55e36
2015-04-21 23:27:38 +00:00
wei wei
89ddc320e9 Generic Tunnel Subsystem (ONOS-1276) and L1/L0 (OTN/ROADM)extensions (ONOS-676):
1)Initial Work for ONOS-676: OTN/ROADM (L1/L0 NE) support in ONOS by extending the device/port modeling;
  - extending device type to include L1 OTN NEs;
  - extending port type to include ODUCLT port(T-port), OCH-port(L-port), OMS-port (WDM-port);
  - more standard annotations related to OTN/ROADMs support will come from PCEP provider as well as TL1 providers;
2)Intial Work for ONOS-1276: generic Tunnel subsystem in ONOS for both packet (L3/L2) networks and optical (L1/L0) networks
  - supporting PCEP framework, which is capable of interacting with the PCEP provider;
  - supporting any other kind of tunnel provider;
  - each Tunnel is associated with at least two Labels (abstracted logical entity/Id for virtualization of physical port);
  - same type of Tunnels can be formed as a reachablity graph for other services and NB applications use;

Change-Id: I29af495f90e179e2c5d8753b76e02889a3b4355b
2015-04-21 17:11:34 +00:00
alshabib
db7740788c Introduced a builder for flowrules and deprecated the old flowrule constructors.
Change-Id: I4bf6e102c67c2effd0d8b65538fcf3a8a1db69e1
2015-04-21 15:00:49 +00:00
Madan Jampani
fd45d5e929 Use similar return types for LeadershipService.getCandidates() and LeadershipService.getCandidates(topic)
Change-Id: I9aaea9dfa14e4e9916103a61c8e59290ad656aa7
2015-04-20 23:54:22 +00:00
jcc
fff0de972d Initial sketch of LabelResource APIs
LabelResource subsystem will be used to manage label resources such as
MPLS labels, ... (Part of ONOS-1223)

:)

Change-Id: Ib11eac84d81d7d86eaaf0222cf0bd7d3c64d2e51
2015-04-20 15:01:18 +00:00
Madan Jampani
c26eede685 Added a messaging service implementation on top of IOLoop. Added ability to easily switch between netty and io loop (default is netty)
Change-Id: Id9af0756bf0a542f832f3611b486b2ac680b91e4
2015-04-20 05:28:48 +00:00
alshabib
2a441c6807 Flow Objective implementation
Provides an abstraction which isolates the application from any pipeline
knowledge. By using the provided objectives applications can express
their forwarding desires in a pipeline agnostic way. The objectives
are then consumed by a driver for the specific device who converts them
into the appropriate pipeline coherent flows.

Change-Id: I74a68b4971c367c0cd5b7de9d877abdd117afa98
2015-04-17 22:57:56 +00:00
Marc De Leenheer
76d8974d5d Full long value for port numbers. Fix port number serializer.
Change-Id: I106ce3d39533e22f5a9a0e6972b91f669068198b
2015-04-16 15:03:03 -07:00
Thomas Vachuska
e10f56b8b0 Fixing javadocs.
Change-Id: I9e6b3d7eb08d17d4ad450277a1279f6aaefd4640
2015-04-15 18:20:08 -07:00
Marc De Leenheer
c0e37ec916 Method for getting port name
Change-Id: I0c8804835242dcbdbbf1595fa3c177cdf9809b6a
2015-04-15 19:04:07 +00:00
Ray Milkey
34c959066d ONOS-533 Fix copyrights
- Any files created in 2014 and modified in 2015 got a copyright of
  2014-2015
- Used canonical form of 2014-2015 to be inclusive of extra years.
  Some files had 2014,2015

Change-Id: If9a133618873e4000b8f10299bde7c870eb1fbd5
2015-04-15 17:41:07 +00:00
Pingping Lin
c9e16bfa1d add a virtual gateway for reactive routing
There is no physical gateway in SDN network.
  However a host needs a gateway when it tries to communicate with a remote host.
  So we designed a virtual gateway for SDN network.
  The virtual gateway can have multiple IP addresses.
  Each IP address is used as the default gateway address of an IP prefix.
  We only configure one MAC address to the virtual gateway.
  You can choose any MAC address from the BGP speakers as the virtual gateway MAC address.
  We configure this MAC address staticly in the sdnip.json configuration file.

Change-Id: I2a72bef797fc55d25bb5473e8fca624ad659e1d1
2015-04-15 16:31:14 +00:00
Srikanth Vavilapalli
10e75cd1dc ONOS-1443: Group bucket statistics support and group CLI formatting
Change-Id: Iaa6d8ae1f9222eb9c29d14bf1615a7449e50c4d3
2015-04-14 21:06:44 +00:00
Ayaka Koshibe
fd26a3055c Create local storage for topic candidates mapping. This also includes:
- using Optional in Leadership, and some commenting.
 - using MutableBooleans + compute()

    part of: Device Mastership store on top of LeadershipService
    Reference: ONOS-76

Conflicts:
	core/api/src/main/java/org/onosproject/cluster/LeadershipService.java
	core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java

Change-Id: I7f090abb123cf23bb5126a935a6e72be00f3e3ce
2015-04-14 20:58:10 +00:00
Marc De Leenheer
171c2e863d PortNumber also backed by port name
Change-Id: Id47781be714bf1efe7d008c8e97ab172177a85f9
2015-04-14 08:33:44 +00:00
Thomas Vachuska
c40d463c27 Consolidating null providers and making them fully configurable and integrated with the ConfigProvider to allow arbitrary topologies.
Change-Id: I899e27a9771af4013a3ce6da7f683a4927ffb438
2015-04-14 01:23:24 -07:00
Madan Jampani
ec5ae341db Use the Executor interface when specifying where to handle incoming messages
This is done so that one can simply specify a direct executor.
Change-Id: I1c3ea977dd7c2d604588d587fd67f7012355eedf
2015-04-13 23:43:52 +00:00
Madan Jampani
2bfa94cf15 Revamped ClusterCommunicationService API
Change-Id: I9326369de3d2413b0882b324979d10483c093de9
2015-04-13 16:51:24 +00:00
Thomas Vachuska
facc3f5ba8 Enhancing the driver subsystem to allow retrieving originating data/handler contexts from the behaviours.
Change-Id: I973888190d569e7e147376b5ae4da9d2f2d9c620
2015-04-11 00:42:17 +00:00
Sho SHIMIZU
2c05f91d66 Refactor: Use descriptive methods when comparing Timestamps
Change-Id: I938f1db98c3d6868da73b5f3e8e01e7a787260c1
2015-04-11 00:38:59 +00:00
Sho SHIMIZU
25d843cf7c Insert a blank line after the description in Javadoc
Change-Id: Id83ef1bf434e3f99fd2aedd91f10da0d7f98e4cb
2015-04-11 00:38:04 +00:00
alshabib
a3a476d1c4 reinstating the key field in FilterObjectives
Change-Id: I25f7d105edd562785cb213f747e7d9e0650f2635
2015-04-11 00:37:36 +00:00
Sho SHIMIZU
d2e78f9804 Remove unnecessary modifiers to follow the convention
Change-Id: Ie8ff539252df6ed9df5ff827d639166a78fbf18d
2015-04-10 23:03:19 +00:00
alshabib
910aff10a7 WIP: Initial implementation of filterObjectives using driver subsystem.
Incomplete implementation

Change-Id: I3745d481027659d4ca44b72139e5461c02e8c3ef
2015-04-09 16:57:18 -07:00
sangho
538108bae8 ONOS-1440: Implements port statistics feature, which polls port statistics of all devices every 10 seconds. Also, implemented a simple portstats ONOS CLI command to show the statistics.
Change-Id: I57e046ae2c2463a58b478d3a5b523422cde71ba2
2015-04-09 22:43:41 +00:00
alshabib
975617b709 ImmutableMap.Builder does not allow for duplicate keys, causes build() to fail.
Change-Id: I235ec0f802b3befbfa3e6338e8bd28814eb868c4
2015-04-09 13:26:53 -07:00
Jonathan Hart
cc36be8bb0 Don't use exceptions for commonly-used logic
+ javadocs

Change-Id: Ib4d886e10996273855ab5784dc4a0d86f5b11103
2015-04-09 11:56:54 -07:00
Jonathan Hart
ca335e9366 Add persistence option to ECMap
Work towards ONOS-1337

Change-Id: I24e6a42e2f8856b363e79786829c51344797b81b
2015-04-09 18:17:45 +00:00
Thomas Vachuska
5c2f813575 Device driver framework enhancements and CLI.
Change-Id: I5dea67620259797eff89a985718934034a86d63e
2015-04-09 18:17:09 +00:00
alshabib
429477825c implemented a distributed default flow registration mechanism to avoid duplicate requests from other onos instances
Change-Id: Ib2abb483456538e3e08e9790c4b4b0d50db8b384

implemented a distributed default flow registration mechanism to avoid
duplicate requests from other onos instances

Change-Id: I620cc51ac29cddaffa73cdbb20e9a9acbdd9ea69
2015-04-09 18:01:02 +00:00
Ayaka Koshibe
c19b8b84fd DistributedLeadershipManager tracks topic election candidates in addition to
leaders. Includes update to leaders CLI command to list candidates.

part of: Device Mastership store on top of LeadershipService
Reference: ONOS-76

Conflicts:
	core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java

Change-Id: I587bb9e9ad16a9c8392969dde45001181053e5e6
2015-04-09 17:57:51 +00:00