239 Commits

Author SHA1 Message Date
Miguel Borges de Freitas
5b32b59b34 [OpenFlow] Save dp_desc as a device annotation
dp_desc represents the human readable description of a given datapath
and is provided by an OpenFlow switch when it connects to the controller
in the response to the OFPMP_DESC request. ONOS already has access to
this information when the OpenFlowSwitch object is constructed (accessed
via sw.datapathDescription()) but it does not save it or propagate it in
any way. dp_desc, unlike the dp_id which is "random", works like a switch
label. Accessing this information from the controller app layer is
important so that different business logic can be applied according to
the provided "marking". Thus, save the value into the Device Annotations
if available.

Change-Id: Ifaa715a0440e99ce31fdd8d4753c2e892385e33b
2021-10-14 15:11:09 +00:00
Anton Chigrin
bf14b37efe Use typed queues for OF message processing
Process OF messages through 8 queues. Output queue for messages
controlled per OF Agent with help of message classifiers.

Queues can be configured through component configuration mechanism
for "org.onosproject.openflow.controller.impl.OpenFlowControllerImpl"
component.

Classifiers can be configured through NetworkConfig API in the following
form:

      {
        "devices": {
           "of:0000000000000001": {
               "classifiers": [{
                   "ethernet-type":"LLDP",
                   "target-queue":0
               },{
                   "ethernet-type":"BDDP",
                   "target-queue":0
               },{
                   "ethernet-type":"0x1234",
                   "target-queue":1
               }]
           }
        }
      }

Where "target_queue" is queue number from 0 to 7 (7 is default queue),
"ethernet_type" is a type of a packet either in "0xFFFF" from or enum
name as defined in the "org.onlab.packet.EthType.EtherType" enum.

Change-Id: I0512ef653d90c36f00289014872170c1a8aa5204
2019-08-29 17:27:49 +00:00
Andrea Campanella
02f86c84a0 Fix for propeties that need to have the same name as the used variable.
Enabling rest reply timout to be configured

Change-Id: I4435c1d359a47b64d861c9a1be7ec1008371ba2b
2019-03-19 18:03:10 +00:00
Ray Milkey
5ec42085af Remove deprecated Port Statistics APIs
- Builder set of port number as an integer
- Query port number as an integer

Change-Id: Id4b4380c75237f293d2cc28a102748d416cf5c01
2019-02-14 17:43:07 +00:00
Thomas Vachuska
00b5d4fee0 Removing commented out @Property annotations from the drivers, protocols, pipelines and providers.
Change-Id: I4cabc5a53c93b778824c72cebbce0ec49700eade
2018-10-30 23:43:55 +00:00
Thomas Vachuska
22ea6126e4 Removing BUCK files and other Buck-related auxiliaries.
Change-Id: I23691380efcd9bce4906695605214ed59ada0e87
2018-10-24 20:02:31 +00:00
Thomas Vachuska
4167c3f011 Fixing component properties for various providers.
Change-Id: I909c84958109f61e10a542774a2d4b82c428c0f5
2018-10-16 20:29:47 +00:00
Ray Milkey
d84f89ba3d [WIP] Upgrade ONOS to karaf version 4.2.1
Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
2018-09-28 11:20:57 -07:00
Ray Milkey
761e80a427 Remove pom files from ONOS
Change-Id: I53e2395466cba10222d638736635b11380421d98
2018-08-21 18:11:58 +00:00
Ray Milkey
312d987732 Starting snapshot 1.15.0-SNAPSHOT
Change-Id: I9239c7695f7faf6dc184a0ff54a34dedf4761b2d
2018-08-20 16:09:54 -07:00
ONOS Jenkins User
03e5521fba Starting snapshot 1.14.0-SNAPSHOT 2018-08-14 22:13:58 +00:00
ONOS Jenkins User
3594c24cb2 Tagging 1.14.0-rc2 2018-08-14 22:13:02 +00:00
ONOS Jenkins User
4e5f2d67ac Starting snapshot 1.14.0-SNAPSHOT 2018-08-13 23:16:37 +00:00
ONOS Jenkins User
cff0bd8922 Tagging 1.14.0-rc1 2018-08-13 23:15:43 +00:00
Ray Milkey
4867af2f9c Revert "Tagging 1.14.0-b1"
This reverts commit 78ce40093ac008fd6d169ab83d2d5961f91f6e31.

Change-Id: I8482f550c30f75d65333f6be9c9115a930abc56f
2018-08-10 16:53:10 -07:00
Ray Milkey
78ce40093a Tagging 1.14.0-b1 2018-08-10 11:16:44 -07:00
Ray Milkey
18fb081fa6 Build providers using bazel
Change-Id: I7d4ebcfb1d593e10aa93f0a4f7111680ed66a7e7
2018-06-27 22:03:35 +00:00
Thomas Vachuska
5b38dc079c Extending DeviceProvider interface to include triggerDisconnect method.
- extended interface with default method implementation
- modified DeviceManager to exploit the new provider feature
- refactored a number of device providers to use the new method
    instead of relying on indirect DEVICE_REMOVED events

Change-Id: Ib315357ef06463012fcf26bbe937c8cdccbf3a94
2018-05-15 16:03:05 +00:00
Thomas Vachuska
164ecf6019 Adding mechanism for device subsystem & providers to trigger device
reconnect in support of ONOS-7645 (device driver change)

- added device listener to OpenFlowDeviceProvider to properly disconnect switch
- removed device listener from OpenFlowControllerImpl
- augmented DriverManager to consult NetworkConfigService as a primary source

Change-Id: I1aa8e9cc7e81ff3af7a72145f4e51f3e32022806
2018-05-09 17:51:20 +00:00
Ray Milkey
bca9049101 Starting snapshot 1.14.0-SNAPSHOT
Change-Id: I97bab4e31d2b701f015289eae29d0c58a4937685
2018-04-13 12:47:31 -07:00
Palash Kala
496ef1a27c [ONOS-7552] Port disabled in ONOS but enabled in switch
Change-Id: I74c33e359073eda0706b2d59946737f053675326
2018-03-31 00:00:50 +00:00
Yuta HIGUCHI
53e4796d55 Deprecate potentially error prone constructor methods
Change-Id: I82d95c27dc7c4b1a6dcf5cc48a1c7583b5e30e2c
2018-03-05 20:43:39 +00:00
Ray Milkey
d6a67c3909 SONAR suggestion - explicit break in switch statements
Change-Id: Ib648192fe84f37947936592c4635397706b14377
2018-02-05 17:52:53 +00:00
Ray Milkey
3717e604d5 SONAR suggestions - prevent truncation of arithmetic expressions
Change-Id: I4694c0c3183b991a4f0db793f584bc77a5fb7d60
2018-02-02 23:06:44 +00:00
Ray Milkey
986a47aa7c SONAR suggestion - generic exceptions
Replace uses of generic RuntimeException
with more appropriate unchecked exceptions

Change-Id: If283743c2cf7252b8d280bdb788708ebbe57da9d
2018-02-01 18:36:33 +00:00
Laszlo Papp
bf2cd740bd Make it possible to annotate as lambda
Change-Id: I8166adc5e6cc30568356606c33991384c7d0006b
2018-01-23 17:49:21 +00:00
Laszlo Papp
8e8ff057aa Use USE_FREQ for port stats
Change-Id: I797c521ed722dde0fd9fa6cab930aef2349aecbc
2018-01-19 19:42:10 +00:00
Laszlo Papp
58174814a8 Do not collect flow and port stats if unsupported
Change-Id: I8dd175803c64e2cafa57b7cbf8b9c268a6391739
2018-01-16 18:09:19 +00:00
Laszlo Papp
73f9aeaa11 Avoid division by zero
Nothing stops an OF agent to return zero for lambda values and ONOS
probably ought to not crash then.

One use case for this is when only one direction is supported on a port,
for example tx. Unfortunately, the openflow specification does not
separate the directions into different properties, so the agent
implementation has to return some frequency value for rx in this case
even if only the tx direction is supported. However, anything non-zero
would probably be untruthful as it would indicate valid reading to the
end user.

Even zero will be problematic for unsupported power reading in a
direction as 0 dBm is a valid value, but not sure how to deal with any
better.

Change-Id: I2597bd7d577d9c2e1a3b44421fe505b8b3b6cc92
2018-01-15 19:23:45 +00:00
Laszlo Papp
9dfb5129b2 Use port stats prop from OF 1.4
Change-Id: I8b4bb7dc7f0f77014e67c81f5e73e2afb50664ef
2018-01-12 21:11:14 +00:00
Laszlo Papp
7cf6037b2c Expose optical properties
Change-Id: I30714563a6a02e5c4c777b759968251625ec4969
2018-01-12 18:58:24 +00:00
Laszlo Papp
20cfb6f871 Expose tx_pwr_min/max
Change-Id: I13a9f11a0cd7e1821997846afcf34d3cd29fa688
2018-01-10 23:32:38 +00:00
ONOS Jenkins User
45d340c839 Starting snapshot 1.13.0-SNAPSHOT 2018-01-09 01:56:13 +00:00
ONOS Jenkins User
32ebb5add8 Tagging 1.13.0-b8 2018-01-09 01:54:28 +00:00
Yuta HIGUCHI
f83c8cfdf6 Maintain OFPortDesc up-to-date
- OFPortDesc cache managed by AbstractOpenFlowSwitch was not always maintained properly.
  reorganized data structure to maintain per OFPortDesc, last known instance

Change-Id: I1b26d7ca284e44bf9744c30374394c581653d78f
2017-12-18 14:58:22 -08:00
ONOS Jenkins User
61881df1ee Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 21:19:45 +00:00
ONOS Jenkins User
d22dccc27f Tagging 1.13.0-b7 2017-12-12 21:18:01 +00:00
ONOS Jenkins User
4bf9e3a520 Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 18:46:22 +00:00
ONOS Jenkins User
168ac92b8d Tagging 1.13.0-b6 2017-12-12 18:44:15 +00:00
ONOS Jenkins User
0e78e27f0c Starting snapshot 1.13.0-SNAPSHOT 2017-12-12 03:27:00 +00:00
ONOS Jenkins User
2a7d833cab Tagging 1.13.0-b5 2017-12-12 03:25:23 +00:00
ONOS Jenkins User
c53a15f933 Starting snapshot 1.13.0-SNAPSHOT 2017-12-11 20:43:30 +00:00
ONOS Jenkins User
d06da9e33c Tagging 1.13.0-b3 2017-12-11 20:41:44 +00:00
ONOS Jenkins User
716484c58c Starting snapshot 1.13.0-SNAPSHOT 2017-12-09 03:41:19 +00:00
ONOS Jenkins User
6a6ac1d5a0 Tagging 1.13.0-b1 2017-12-09 03:39:39 +00:00
ONOS Jenkins User
a57a814230 Starting snapshot 1.13.0-SNAPSHOT 2017-12-09 00:57:30 +00:00
ONOS Jenkins User
8977cedde7 Tagging 1.13.0-b0 2017-12-09 00:55:39 +00:00
mskala
c584bd9278 [ONOS-7269] Additional annotation about OpenFlow port status
Change-Id: I9a1b3cede47316c372322af68dc652d4f372f9fb
2017-11-29 17:35:26 +00:00
Ray Milkey
a09f87f02b Starting snapshot 1.13.0-SNAPSHOT
Change-Id: Ib3360118c42aa760632ff80537d585865813060f
2017-11-21 09:38:31 -08:00
Ray Milkey
cc6ec60fb2 Starting snapshot 1.12.0-SNAPSHOT 2017-11-10 16:22:59 -08:00