2548 Commits

Author SHA1 Message Date
David Glantz
de82adae28 Added annotations for tier and meteredUsage
Change-Id: I9a32bc1b5787361cdb7c4b6d7a23279c75188571
2020-03-20 20:41:48 +00:00
David Glantz
0843f5d375 Added metered annotation to link
Change-Id: Ief7410d442e8e1c556cc97c0578aa5d717a7b127
2020-03-19 16:31:39 +00:00
pier
6341ff8002 Fixes an NPE in OFDPA pipeliners
- Introduced a new method to indicate whether the pipeliner is ready to receive objectives or not
- Ensure init() in OfDpa2Pipeline and OvsOfdpaPipeline can only be invoked once
  This is to avoid processing duplicated DEVICE_ADDED events introduced by gerrit 18899

Change-Id: Icb08935cb1f2761d7c98b5086fc27b6a0d8bc0cf
2020-03-18 17:57:50 +00:00
Charles Chan
b51e8442d1 Introduced a new API to match on auxLocations in getConnectedHosts
Change-Id: I3df5493898bd389a5dfe631053f5ce51c076c106
2020-03-18 05:23:51 +00:00
Esin Karaman
fb3a1bbd13 VOL-2734 Adding inner vlan id field to McastConfig to configure inner vlan id
value for double-tagged multicast flows. The full path of the task:
https://jira.opencord.org/browse/VOL-2734

Change-Id: I45dcd26fd91fba81184e4bf59640f6e43da535cc
2020-03-13 10:43:14 -04:00
Aaron Dunlap
239ea5c996 Adding annotations for jitter, delay, loss, availability, flapping
Change-Id: I04943c27f7e9e2c7b50f574838f2d6e53f5ceef6
2020-02-27 08:58:49 -06:00
Rory Savage
daeb949506 Throw exception if dscp value is not byte.
Change-Id: Iae005dda9f28fb28f1bcc9ea5de31f1bf2c65843
2020-02-26 04:10:28 +00:00
pier
9334091802 Fixes user provided timeouts.
New Atomix releases use null timeout instead of timeout with duration 0
when it is requested to compute the timeout.

Change-Id: I8f7ec8a65a1b5f3aca3b59894bfc9cee868f8b57
2020-02-19 20:48:23 +01:00
Jordan Halterman
4330078de1 Support user-provided timeouts in intra-cluster communication service
Change-Id: I4ed9cd2e84df83b45ae17af24b9780b9ac97a95d
2020-02-17 09:42:13 +01:00
Thomas Vachuska
811ea2b63d Add ability to administratively remove ports of an offline device.
Change-Id: Iaee085be1cd53f783ed80e7c277403eb65ef6d8f
2020-02-11 19:49:53 +00:00
Ray Milkey
d4a28ca901 Revert "Add ability to administratively remove ports of an offline device."
This reverts commit 38d24f316a850c0c4e8c44fecf7a3caec60bd40c.

Change-Id: Ida101ef112072ccf0c74d19df1d0f9b0df05f58c
2020-02-11 19:17:22 +00:00
Thomas Vachuska
38d24f316a Add ability to administratively remove ports of an offline device.
Change-Id: If856e306a523af0c7c4f5e7b27ddfbacef120593
2020-02-11 11:12:28 -08:00
Jordan Halterman
01f3bdd388 Fetch flows in buckets to avoid large memory allocations/serialization in flow store
Additionally adds FlowRuleStoreException to make checkstyle happy again

Change-Id: I998c8eb8a730e10ac29b1dd1df8cefb4668b262c
2020-02-06 21:46:28 +00:00
DongRyeol Cha
5f6f04a472 Add a API to process a port description using consumer
Originally, there is a only API to discover the ports from device.
It fetches all ports from devices and returns as list.

If port fetching takes long, we cannot see the port update immediately until all ports are fetched.
So, I have added a API to fetch a port immediately, so that caller can get the updated port immediately when it is discovered.

Change-Id: I76571f9d015ee436edb8fe30ba5436352cc3c1ed
2020-01-13 18:37:48 +09:00
DongRyeol Cha
da008e3767 Add a exceptional port number to do not display port number
The PortNumber class always displays numeric value if it has name.
But in some case, we don't want to display numeric value.

This patch provide this behavior.

Change-Id: I3d91742594c4aef7eaa103190159605aed31e2a0
2020-01-10 20:15:42 +00:00
Charles Chan
eb5bd49982 Added CLI and REST support for auxLocations
Change-Id: I04e78f766dcbb18bce4a2f9160d3740ec2fbd846
2020-01-09 23:34:56 +00:00
Charles Chan
f42939d9ea Introduced HOST_AUX_MOVED event
Additionally,
- Fixed an issue in DistributedHostStore that didn't copy innverVlan, tpid and suspend bit correctly in some cases
- Clarified javadoc of getConnectedHosts

Change-Id: I56c93eea878a24a6588ceecdbeac75c1747ae8cc
2020-01-09 02:01:17 +00:00
Carmelo Cascone
da15af8ce3 Drop using BNG attachment IDs in favor or dynamically allocated line IDs
The current implementation of BngProgrammable for fabric.p4 uses
attachment IDs as line IDs, thus forcing apps such as bngc to be aware
of such implementation detail and to manage the allocation of such IDs.
Unfortunately, allocation of IDs is dependent on the device (P4 program)
implementation (e.g., line counter size), and so it should not be left
to apps.

This patch removes the need for attachment IDs at all and instead relies
on a driver-level service to dynamically allocate line IDs based on the
attachment attributes (currently s-tag, c-tag, mac address).

The current implementation of the allocation logic is a trivial one,
i.e. non-distributed and non-optimized.

Change-Id: Ie960936ee750cf565b8de41370085ecf9d49e931
(cherry picked from commit 6aa2a6ea743e8104ee3c62acb7d26acbd1452614)
2020-01-07 17:50:07 +00:00
HelloONOS
acd863601e add bridge configuration at Arista Switch driver
For Arista switch, the following code is required
because the port to be used as OpenFlow bridge should be added.

Change-Id: Id73560b9c9592838ba91329ef652742fb1beb65b
2020-01-07 17:26:36 +00:00
Rohit Singh
35fd94cfaf BER Driver Implementation
Change-Id: Ie215228ae4081ab0b984aafd757601a982ec84d2
2019-12-04 16:29:45 +00:00
Daniele Moro
893988e6be Update to BngProgrammable API
Setup of an attachment won't trigger counters clean up

Change-Id: I6be72bdedb71bbc6152e8192ec4614a2f812b014
(cherry picked from commit e12d0ea7f3a7590a30c282294e83f7978bda914b)
2019-12-02 23:41:13 +00:00
Andrea Campanella
f468858e91 Avoid propagating a null chassisID
Change-Id: I028008e45d1c78d149ef654047b9c1572eb05476
2019-11-28 14:31:02 +01:00
Charles Chan
a132689743 Support auxiliary location in Host
Change-Id: If65ee733f03aa098a1db2b4ab663b1591495b061
2019-11-27 00:54:45 +00:00
Daniele Moro
464e5ed61e First implementation of BngProgrammable API
- BngProgrammable interface moved to ONOS core
- BngProgrammable implementation in fabric pipeliner

Change-Id: Ia020d19f305d8819eef7f70453b14cb00fd31af8
(cherry picked from commit 8fd75e7352d12c9ad90b8461a9550d8f7e1b263d)
2019-11-01 23:18:29 +00:00
Andrea Campanella
dadf640230 Moving Power values to Double
Change-Id: I3529dffe017784487df31b56430e7b9fb9db0454
2019-08-09 13:27:56 +01:00
Rohit Singh
16d4df99b6 cassini Modulation Driver Impl | ONOS-7979
Change-Id: Iba45f3e41fc39e63c7dc96acf5d2da248dc6bf68
2019-08-01 10:03:25 +00:00
Harshada Chaundkar
5a198b0359 REST API for obj-nextids
Change-Id: Ibad03de0a6ffa8a478037120c84edfe6722f4d9b
(cherry picked from commit 0acb326963dda08a5eef16134eca5cba84b8e75d)
2019-07-26 09:39:04 +02:00
Carmelo Cascone
37f31ad685 Add stratum-fpm driver for fixed-pipeline Broadcom targets
Change-Id: I934428331feb35ed312a98db97c270168047af1f
2019-07-16 18:46:56 +00:00
Gamze Abaka
f57ef606fc Adding purgeOnDisconnect support to the meter subsystem and adding vlanId match
criteria to EAPOL trap flows.

* Adding purgeOnDisconnect property to MeterManager
* DeviceListener implementation on MeterManager
* Adding purgeMeter(DeviceId deviceId) method to MeterStore
* Calling the above method when DEVICE_AVAILABILITY_CHANGE is received
* Adding vlanId match criteria to EAPOL trap flows (OltPipeline change)

Change-Id: Ibb254302efe94edf1fd596f74a6eef6587410475
(cherry picked from commit 91b38543d822a0d9d092f9b3ff7760b1a206226a)
2019-07-15 16:30:54 -07:00
hwchiu
effadedbe9 Correct javadoc
Change-Id: Idf2b88f697f7077a57f7162e0a790c4a4872ae21
2019-07-12 22:42:59 +00:00
Arnav Jain
efb57e5f99 Full Fix to getRegisteredApps
Change-Id: I63efb375af941cebcbd858b9b8f03524a72f0562
2019-07-09 14:24:10 -07:00
Carmelo Cascone
5bb59f28e5 Revert "Corrections to getRegisteredApplications and CLI implementation"
ApplicationService is not available. For example, when using the ONOS CLI:

onos> apps -s -a
Service org.onosproject.app.ApplicationService not found

The issue seems to be a circular dependency, as ApplicationManager depends on CoreService, but CoreManager depends on ApplicationService.

Reverting for now.

This reverts commit 35ef3d3000f8b19608531dfd06f8e78482c45b32.

Change-Id: I298c3c7844df7f2395e092fbb89a8e9264883094
2019-07-09 01:30:06 +00:00
Arnav Jain
35ef3d3000 Corrections to getRegisteredApplications and CLI implementation
Change-Id: Ia24997b9fcb5d658592f11f710c0b4e8eb40309a
2019-07-08 20:01:09 +00:00
Arnav Jain
6cbacf1223 Added method getRegisteredApplications
Change-Id: Ic741dfcca84fd72fd2ab236bef97cfeadc890d16
2019-06-19 01:10:10 +00:00
Kieran McPeake
e1b418f08b Clean up logging in (or relevant to) Juniper NETCONF provider
Also fix missing chassisId in DefaultDeviceDescription.toString()

Change-Id: I944baf0b3a4eb9960c0cbcec2ad585701d9a2989
2019-06-05 10:09:33 +01:00
Sean Condon
13f42b7a86 Updated the GUI2 archetype with real gui code
Change-Id: If0fb2a6cb38bff69a978a7a23dd2e3a6212d67f3
2019-06-03 16:07:35 +01:00
Boyuan Yan
7bee2483f2 [ONOS-7947] implement PowerConfig methods in Cassini equipment.
This patch is based on patch#21952, which shows optical details in ONOS GUI.
The emulator could be pulled via "docker pull onosproject/oc-cassini:latest".
Currently, there are still some questions unresolved:
1. The power values defined in PowerConfig.java are long, but the values defined in yang should be float.
2. In PowerConfig.java, I need to rename method **currentPower** to **currentOutputPower**.
3. In PowerConfig.java, the **default** in method definition is used to avoid the effect on all implemented class.
   This condition should be changed finally.

Change-Id: If5a3ec77d9a906718b80531afa67bc67388bca4f
2019-05-29 07:24:17 +00:00
alessio
d4a2b84c2a [ONOS-7948] Netconf driver for Lumentum ROADM-20.
Added support for flowrules coming from the compilation of an OpticalConnectivityIntent.
FlowRules coming from ROADM app are still supported.
Minor updates to DeviceDiscovery and PowerConfig.

Patch 2: Driver and OpticalPathIntent support for partner-ports.
Now bidirectional intents can be configured also in presence of unidirectional links.
ROADM app visualizes devices of type TERMINAL_DEVICE and partner port details.
Checkstyle.

Patch 3: [ONOS-7974] [ONOS-79076] partner-port renamed to reverse-port. Bug fix.
Addressed comments by Ramon Casellas and Andrea Campanella. Checkstyles.

Patch 4: documentation.

Patch 5: addressed comments by Andrea Campanella.

Patch 6: checkstyle.

Change-Id: Ie5ca41eee6cb6f8f87f076f2af19c99cadd6d851
2019-05-24 14:21:54 +00:00
jobin
d19b7143c5 Introduced HostMoveTracker to suspend hosts that moves too frequently
Change-Id: I3037c626657790ce6817feddba7dbbfac203b188
2019-05-22 12:36:00 +00:00
Carmelo Cascone
75a9a8958e Trigger pipeconf deploy right after registration
Without waiting for the next pipeconf watchdog periodic probe.
To support this, this patch extends the PiPipeconfService to advertise
pipeconf registration events.

Change-Id: Ib44f1813bd37083c666a5e7980de320ce469c2d2
2019-04-23 19:39:56 +00:00
Gamze Abaka
dadae72079 In order to implement VOLTHA VOL-949 task (https://jira.opencord.org/browse/VOL-949) , OltPipeline (pmc-olt driver) must support meter, transition and also QinQ vlan push instructions.
Change-Id: Ie027469fa190a78b0c8366da55431ebc62e699ef
2019-04-22 17:11:38 -07:00
Carmelo Cascone
3b4baa07e4 Improve fingerprint computation for pipeconf
Do not read extensions in memory and consider pipeline model.

Change-Id: I3e077fbcd9ed0a2dba78b4e1c87e95ecb7287be6
2019-04-18 05:57:49 +00:00
Carmelo Cascone
33f36a0ec7 Clean up PipelineInterpreter API by removing ambiguous methods
Such as mapping from PiMatchFieldId to Criterion.Type. This should not
be required since the only translation happening is from north
(Criterion.Type) to south (PiMatchFieldId).

Change-Id: I204e0bd66b3996fd60bc11d4241e8a0408e11582
2019-04-18 05:55:06 +00:00
Carmelo Cascone
9db4d5c644 Add support for P4Runtime clone sessions via Group API
Clone sessions can now be created by defining groups with new type CLONE

The PI framework has been refactored to abstract commonality between
multicast groups and clone sessions as both are managed as part of the
P4Runtime packet replication engine (PRE).

Change-Id: I2f23c629b7de1931d5cab96ec76aef26130ce418
2019-04-17 21:55:13 +00:00
Carmelo Cascone
5079a7f4ac Define new type of group CLONE
Used to distinguish between multicast groups and clone sessions in
P4Runtime.

Change-Id: I21a2411c759a1d9524b4a69354c8b343100f8f05
2019-04-17 21:55:02 +00:00
pier
8b3aef446d Implements accumulation of the fwdobjectives in ofdpa pipelines
Change-Id: I95cbdd9b3fb8d439003a103111a01dc3aee2072b
2019-04-17 15:26:58 +00:00
Charles Chan
8b488de794 Allowed apps to specify whether the existing component config value should be overridden
Change-Id: Ic0992adb49cbcce17e17a71af954fbeeafde97d3
2019-04-12 22:28:23 +00:00
Carmelo Cascone
c2be50a804 Allow sharing the same gRPC channel between clients
This change introduces a refactoring of the gRPC protocol subsystem that
allows the creation of a gRPC chanel independently of the client, while
allowing multiple clients to share the same channel (e.g. as in Stratum
where we use 3 clients).

Moreover, we refactor the P4RuntimeClient API to support multiple
P4Runtime-internal device ID using the same client. While before the
client was associated to one of such ID.

Finally, we provide an abstract implementation for gRPC-based driver
behaviors, reducing code duplication in P4Runtime, gNMI and gNOI drivers.

Change-Id: I1a46352bbbef1e0d24042f169ae8ba580202944f
2019-04-11 23:14:41 +00:00
Sean Condon
a3ce00ba00 GUI2 Add links to GUI2 when created dynamically
Change-Id: Ibfa7ae0fa9b02fd6e1b40b9f201ff002c19591a9
2019-04-10 11:44:01 +01:00
Harshada Chaundkar
dcd1b14987 Packet throttle support
Change-Id: I6f2da5ed25f794561349013bfcbf9afa85d5e190
2019-03-28 18:36:17 +00:00