800 Commits

Author SHA1 Message Date
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
HIGUCHI Yuta
5bb99a4015 Add support to decode Device, Port, Link JSON.
- Device, Port, Link can now be encoded and decoded back to Java Object,
  which will be Object#equals to the original.
- Modified DeviceServiceAdapter to be null-safe when possible
- Modified JSON assertion/matcher not to check for exact number of attributes

Change-Id: I7cf02e2254cf17f6265fb15847912519e564b14f
2015-04-09 06:08:29 +00:00
Thomas Vachuska
ca88bb7440 Cleaning up and enhancing driver subsystem and the flow objective subsystem.
Change-Id: Ica600ef1aaa46d19e764cd7a197454a4e0f85a08
2015-04-08 19:38:02 -07:00
Madan Jampani
3e033bd22d Added a LogicalClockService for ordering arbitrary events in the cluster. Updated couple of areas that are currently vulnerable to clock skew
Change-Id: I14548ecb3c783104de8d72cbb5eb21de6ece08ed
2015-04-09 01:19:29 +00:00
Madan Jampani
b5d72d59f6 Support for a distributed counter
Change-Id: I346e9baa28556fac13e53771021f5f6fbcd75ac9
2015-04-08 19:33:54 +00:00
alshabib
77b8848f51 added FlowObjectiveService to act as an objective manager between applications and drivers
Change-Id: I4dc44db8bafae8a55b7663895c87b1b08645637f
2015-04-07 15:48:36 -07:00
alshabib
faa1e36627 Initial sketch and implementaion of Objectives.
These objective will be used to provide a layer of abstraction
that isolates applications for device pipeline details.

initial objective support

Change-Id: I019302822421f0fe1f508f2f7527d91578e30116

initial implemetation of a simple pipeline behaviour

Change-Id: Id0d9167896c717d05cda90e1524fc24c76e9fc9b

initial implementation of objectives

Change-Id: I768fa2020308d5feb95eaaff355aa511b323beca
2015-04-07 15:48:36 -07:00
Ayaka Koshibe
a48f752480 Leadership construct includes List of NodeIds to describe current
leader/backups (candidates) for a topic. This includes removing the RoleInfo in
LeadershipEvent, to deduplicate information.

RoleInfo is also made a bit saner with the Optional leader field.

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

Change-Id: I957c4d79125873d5a7280f60231d26d2806ab27f
2015-04-03 20:55:10 +00:00
Madan Jampani
bff6d8f4fc Added distributed transaction support through a two phase commit protocol
Change-Id: I85d64234a24823fee8b3c2ea830abbb6867dad38
2015-04-03 20:39:07 +00:00
Ray Milkey
77a455f4c5 Intent manager unit test enhancements
- add test to be sure that all flows are removed when intents
  are withdrawn
- add test to be sure that all flows are removed when an intent
  installation fails. Currently disabled, intent cleanup is
  not implemented
- enable installation time out test

Change-Id: I8c7a75292a97404ef89856647c67ef2f70ffcf6f
2015-04-03 19:39:56 +00:00
Thomas Vachuska
00121ed30a Javadocs cleanup.
Change-Id: Ia731178e76b29a2f00045efad759b9c0559645d7
2015-04-03 00:23:18 +00:00
alshabib
8c2a8b33c1 Initial sketch of driver based configuration api.
Change-Id: I82468aea5d698b28a4fd996142f9c88d7a56e31f
2015-04-02 22:01:35 +00:00
Madan Jampani
08706ce97f Added support for a distributed set implementation that is backed by Consistent Map
Change-Id: Ic393d305d31abcdf1dd4c9afc3b9234f8d50da2d
2015-04-02 10:57:44 -07:00
Madan Jampani
a89f8f95d4 Added support for "maps" cli command that displays meta information for various consistent maps in the system
Change-Id: I63e590a8520ac9d1238efe4ad0033dcba939e472
2015-04-02 17:48:58 +00:00