783 Commits

Author SHA1 Message Date
Brian O'Connor
1b2aea88c0 Removing gratuitous relativePath from pom.xmls
The default value for relativePath is: ../pom.xml

Change-Id: I1f5e5e6bfa1e91fcddae4f8cb8ab0c00c276e6b0
2016-06-16 07:05:31 +00:00
Carmelo Cascone
25f1888414 Various bmv2 changes to reflect onos-bmv2 v1.0.0 (onos1.6 cherry-pick)
Most notably:
- Updated repo URL and commit ID to official onos-bmv2 fork
- Removed ugly string-based table dump parser, now there's
	a proper API to retrieve table entries (added support in
	Bmv2DeviceAgent)
- Removed unused arguments in packet-in API

Change-Id: I5ff0948eb8fec5283a085913496c187e7b278d8d
2016-06-16 01:30:12 +00:00
Carmelo Cascone
0831efb0b5 Various changes in BMv2 driver and provider modules (onos1.6 cherry-pick)
Driver notable changes:
- Implemented new behaviors, removed deprecated ones
- Removed flow rule translator classes (now under protocol module)
- Improved FlowRuleProgrammable: now it uses BMv2TableEntryService
	to lookup/bind flow rules with BMv2 table entries, retrieves flow
	statistics, better exception handling when adding/replacing/removing
	table entries.
- Improved PacketProgrammable: better exception handling and logging

Provider notable changes:
- Bmv2DeviceProvider: detects and notifies device configuration
	changes and reboots to Bmv2DeviceContextService, added support for
	periodic polling of port statistics
- Bmv2PacketProvider: implemented workaround for OutboundPackets with
	flood treatment

Change-Id: I79b756b533d4afb6b70025a137b2e811fd42a4e8
2016-06-16 00:48:51 +00:00
Carmelo Cascone
17fc9e41df Major refactoring of the BMv2 protocol module (onos1.6 cherry-pick)
- Created 3 separate sub-modules: API (doesn't depend on
    Thrift), CTL (depends on Thrift), THRIFT-API (to generate Thrift
    sources)
- Implemented 2 new services (for device configuration swapping and
    table entry management) needed to distribute BMv2-specific state
    among ONOS instances.
- Implemented a BMv2 controller (previously other modules where
    using separately a Thrift client and a server)
- Added a default BMv2 JSON configuration (default.json) and interpreter
    to be used for devices that connect for the first time to ONOS.
    This allows for basic services to work (i.e. LLDP link discovery,
    ARP proxy. etc.).
- Changed behavior of the flow rule translator and extension selector,
    now it allows extension to specify only some of the match parameters
    (before extension selectors were expected to describe the whole
    match key, i.e. all fields)
- Various renaming to better represent the API
- Various java doc fixes / improvements

Change-Id: Ida4b5e546b0def97c3552a6c05f7bce76fd32c28
2016-06-16 00:47:42 +00:00
Charles Chan
fc5c780fa1 CORD-61 Dynamic XConnect support
- Add new XConnectConfig with unit test
- Gather XConnect features into XConnectHandler
- Introduce ObjectiveError.Type.GROUPREMOVALFAILED
- Rename
    - NetworkConfigEventHandler -> AppConfigHandler
    - XConnectNextObjectiveStoreKey -> XConnectStoreKey
    - Test json file
- Refactor

Change-Id: I8ca3176ed976c71ce9e28b7f3722ce80d49c816f
2016-06-14 15:06:11 -07:00
Saurav Das
b5c236e2eb In this commit:
Bug fix when optimized SR re-routing fails, do full re-route
   Bug fix filtering objectives should be called for new device even if there is an existing grouphandler
   Bug fix NPE in ofdpa driver due to null check on the wrong variable
   New cli command for debugging flow-objectives for pending next-objectives
   Flow objective cli commands now start with "obj-"

Change-Id: I819f82d1d67769cb9fbbde60f099d29b8e7f7c9e
2016-06-14 21:08:22 +00:00
Ray Milkey
e022ef6c14 Unit tests to be sure drivers will load
Change-Id: I95cd5c7ffa52727cab409541b7dd0e6d5a8d0bd4
2016-06-08 23:01:34 +00:00
Andrea Campanella
0b4f49279d Fixing loading of unexisting class caused by deprecation
Change-Id: Id29a933a519bbf6e2c7fe33549885fd92fcbcb9e
2016-06-08 17:11:18 +00:00
Saurav Das
251908110a In this commit:
Bug fix where filtering objectives are not installed due to available ports becoming enabled later.
   Bug fix where flow objective store had no listener for notifications from drivers across multiple instances of the controller.
   NPE fix in ofdpa driver for non-existing groups.
   Preventing ofdpa driver from sending spurious pass notification to app.
   Incrementing retry filter timer from 1 to 5 secs in default routing handler.
   Made several debug messages clearer.

Change-Id: I828671ee4c8bcfe03c946d051e1d1aac9d8f68dd
2016-06-08 17:01:12 +00:00
Charles Chan
9cae4ecd56 remove wipeDeferred in ACL table
Change-Id: Ibf95094046eb58f5dc651d57b36356028fd4ac46
2016-06-07 17:39:37 +00:00
ivoutsas
69b9763a70 Cisco Ios PortDiscovery
Change-Id: Ic51466d027f45de8ee91c9904e92b450bf9d0bb7
2016-06-06 16:02:00 +00:00
Andrea Campanella
6c71a0500a Deprecating PortDiscovery in favour of DeviceDescritpionDiscovery
Change-Id: Ie9cff7937412c62c8a5a3b75b87a43952017f146
2016-06-06 16:00:02 +00:00
HIGUCHI Yuta
e81d7e95c5 int/Integer is pre-registered to Kryo.
Change-Id: Ib66d8f3aac62ae837211d0e362207965403b4ead
2016-05-31 23:01:51 +00:00
HIGUCHI Yuta
07a9e563da [ONOS-4588] Separate optical driver from "default" driver bundle
Note: If you're using optical devices currently in "default" driver bundle,
(LINC-OE, Calient fiber switch, ECI devices, OpLink ROADM)

you'll need to load the driver/app "drivers.optical" in adition to default drivers

e.g.,
a) Add to cell definition
 export ONOS_APPS=${ONOS_APPS},drivers.optical

b) Activate after starting ONOS
 onos> app activate org.onosproject.drivers.optical

Change-Id: I126c09bebc816d11b4700a80e7a36a8e6c3e1b49
2016-05-27 16:43:20 +00:00
Ray Milkey
ce7db1b65f Fix for ONOS-4568 - Intents stuck in INSTALLING state
The default pipeline driver was not calling the success callback for
next objectives. This caused the intent installer to think there
were still flows in need of installation, and the intent never
completed.

Change-Id: Ib411c317b28475cfc1e966e31f859cebbeea3792
2016-05-24 21:01:11 +00:00
Phaneendra Manda
7ff0643f9d Nicira extension for setting nsh header fields is modified to set field
Change-Id: I4c9d39a2e83315324c23954e491b20d43a5c63cc
2016-05-24 15:41:23 +00:00
Brian O'Connor
e642f7cf7b Bumping version to 1.7.0-SNAPSHOT
Change-Id: Id105bf08ecbdac6d4e214ae035b4220aea90f29f
2016-05-23 18:35:29 -07:00
Charles Chan
eefdedfb50 Remove redundent byte[].class registration
Also added names to some serializer for debugging purpose

Change-Id: I0997b61a5d08df84c85ca28f6a5ed23417fb8c22
2016-05-24 00:09:42 +00:00
Charles Chan
985b12e08e Revert part of the changes in Ofdpa2Pipeline
It is possible that one of vidCriterion and ethCriterion is missing
We should just skip the corresponding table and proceed

Change-Id: I220e4efb8c8d5c163f541ad41e0a4d80b6286afe
2016-05-20 22:37:15 +00:00
Jonathan Hart
888eeda759 Fix SoftRouter kryo registrations.
Change-Id: I32cae7b7bc917718719f51d684c57d3a586d2d73
2016-05-20 13:42:26 -07:00
Thomas Vachuska
ab0bded4c1 Fixed order of static elaboration in FullVlanAvailable implementation.
Change-Id: I88a7c3ffb9f4017d99465146fae4ce1288de66d0
2016-05-20 19:48:41 +00:00
Sho SHIMIZU
55caa1cfcd ONOS-4561: Exclude non standard VLAN IDs
Change-Id: I3f7542521d0867e71f11263e46d6116cd6120428
2016-05-20 16:12:10 +00:00
Michele Santuari
d2c8b157b4 corsa support intent
Change-Id: I6eaa46d1ef39405defa3b0661e94d1cf285db332
2016-05-18 21:26:54 +00:00
Jian Li
08926a9ddc Support to specify Ofdpa extension through REST API
Code clean up for Nicira extension codec.

Change-Id: Idbbfd1ca12b01d46e3b6c90ebce39e6a6605cb58
2016-05-18 20:45:51 +00:00
gaurav
adc9004725 support mcast based filtering objective CORD-673,review comments addressed for patch-3
Change-Id: Id18e51826fe2355b1a7fcdba46af94b8577dac60
2016-05-18 15:26:57 +00:00
Bob zhou
e9795fdc97 [ONOS-4426] [ONOS-4511] [ONOS-4502] Upgrade Vtn Module when access same network segment.
Change-Id: I3afe6b36a44f0eedd642eeadfc23fc3233e7621e
2016-05-17 16:18:47 +00:00
HIGUCHI Yuta
dbb631fc88 Move Fujitsu device specific code out to Fujitsu driver bundle.
Change-Id: I5c2960378541e27ffb2087a05acbbf3a3f44bd1e
2016-05-16 16:18:10 -07:00
HIGUCHI Yuta
9605c788c3 Move Ciena Waveserver specific code out to Ciena driver bundle.
Change-Id: I96adc5e878a391dd608ad856354ac89638638554
2016-05-16 14:34:05 -07:00
Carmelo Cascone
f8cf288d75 Added ability to poll flow counters in BMv2
Also fixed few minor things here and there.

Change-Id: Ib5e6a92de46870f52510cd6fad0cef8da022bb62
2016-05-12 12:24:02 -07:00
HIGUCHI Yuta
deae31ec05 [ONOS-4513] Move DefaultOpticalDevice to reduce package exported.
Change-Id: I88db1508290e8d3722d46e85b947b4fdc9f4b66d
2016-05-11 17:56:03 +00:00
Carmelo Cascone
feb7edb2d5 Fixed bug due to wrong priority in BMv2.
In BMv2 0 is the highest priority, while it is the lowest for ONOS.

Change-Id: Iedb66598f293bf456cf4d206e19c0ff632edfd2c
2016-05-11 15:34:22 +00:00
Carmelo Cascone
a2f510ebba Improve flow rule polling consistency with bmv2
Change-Id: Iee5e7d7bee8f16505fe4d2acf48e65775bb2a524
2016-05-11 15:26:35 +00:00
Carmelo Cascone
d4e7a77b91 Removed hardcoded model from BMv2 driver
Now it uses the model stored in device annotations. Also refactored flow
rule translator classes to reflect this change.

Change-Id: I46541bcc2ab5a267eef4becb6250b9a99684056a
2016-05-10 16:57:36 +00:00
HIGUCHI Yuta
5be3e820cf ONOS-4417 Remove OtuPort out of core.
Change-Id: Ibc72ee617b238005585f0bcd873b9123e48ee7fc
2016-05-09 23:39:00 +00:00
HIGUCHI Yuta
4c0ef6b54a ONOS-4416 Remove OduCltPort out of core.
Change-Id: I04324a72e48af84afdbfa32b84c8e57f39411000
2016-05-09 23:38:47 +00:00
HIGUCHI Yuta
95d83e8067 ONOS-4415 Remove OmsPort out of core.
Change-Id: Ic796c4e715789ba18f350f28e29db04dd537822f
2016-05-09 23:38:16 +00:00
HIGUCHI Yuta
34a3f69be1 ONOS-3503 Remove OchPort out of core.
- Implementation of a Behavior OpticalDevice has the knowledge of
  translating annotations into optical specific port.
- OpticalDeviceServiceView checks if the Device is a OpticalDevice
  and translate all the Ports to optical specific port before returning.

- This commit contains feedbacks, issues, and fixes by Michele Santuari.

- Note: 3 more Port types to go (OduClt, Oms, Otu)

Change-Id: I4cbda8bc1922fbdd4dac8de8d02294bad74b8058
2016-05-09 22:24:41 +00:00
Carmelo Cascone
e9121640ff ONOS-4410 Implemented PacketProgrammable and Pipeliner behaviors in the
BMv2 driver

Also other minor fixes / refactorings

Change-Id: I2205890b76471e8e8490beccd6b36e5358f8d407
2016-05-09 21:13:24 +00:00
Andreas Papazois
1ed54cf0fa [GEANT] Command device-interfaces added.
Change-Id: If70eedc5e8e0d83bc4d31c556fbf8382cbe97cec
2016-05-09 15:56:26 +00:00
Ray Milkey
4abe844367 STC drivers test now uses a driver that is always present; added buck build for corsa driver
Change-Id: I5310c54bb295f86a6f384a0f4bf18ed75cda1ef5
2016-05-05 19:10:19 +00:00
Michele Santuari
9a8d16dbb8 initial flows for corsa pipeline v39
- initial flows configuration
- moved to a dedicated folder
- refactoring super classes

Change-Id: Ie7452aed35d7947ca5f7246dd06fcbb87b2971b5
2016-05-04 17:40:47 +00:00
Carmelo Cascone
37d5dbf8b6 ONOS-4118 Added synchronization and resiliency to Bmv2ThriftClient
Due to the multi-threaded nature of drivers, calls to a Bmv2ThriftClient
could result in a race condition if not properly synchronized. Also,
once open, transport session might close due to several reasons. Now the
client calls are synchronized and automatically wrapped in a try/catch
that tries to re-open the session for fixed number of times before
giving up.

Change-Id: I5dcdd5a6304406dc6d9d3a0ccf7f16cdbf3b9573
2016-05-04 17:21:32 +00:00
lishuai
90b3b6cdbf [ONOS-4427] TunnelIn flowrule can not be applied to devices in ONOS 1.5
and 1.6 . In ONOS Version 1.5 and 1.6, Instructions.CreateDrop interface
is missed, which cased the pipiline judging condition can not be
matched, and the flowrule of tunnel in can not be applied to device.

Change-Id: Ibe892098b37f7f9f4d3b542ee31b1b6039f8b471
2016-05-04 16:14:05 +00:00
Saurav Das
7762179a2c Bug fix for Dell driver to use dummy group as flow-actions
Change-Id: I2ca81217ad8a51fe0f8f907a1befaa0fd947e40f
2016-05-04 16:12:14 +00:00
Saurav Das
59232cf8f8 Changes include:
bug fix for host IP and MAC flows not being generated sometimes in multi-controller scenarios
      bug fix for filtering objectives not being sent sometimes when ports become available later
      npe fixes in ofdpa driver for cases where selectors or treatments may not be available
      new cli command to manually trigger routing and rule population
      portstats option on cli to display only those ports with non-zero stats
      group cli command tab completion displays choices in lower case (similar to flows)
      segment routing cli commands now start with sr-

Change-Id: Idcd641882d180acbd304e5560ed3483b5a943f96
2016-05-03 00:52:58 +00:00
Charles Chan
e3ba6956e0 Fix ClassCastException
Change-Id: I1c9e6a37c6871bd8186d5ab19a87268d9250aacd
2016-05-02 23:57:09 +00:00
Brian O'Connor
be27bb3da3 Updating BUCK files
Change-Id: I24f279b42a270e59cf4bf4564e2aa4d81459c8e2
2016-04-29 18:23:19 -07:00
Ray Milkey
8dac818d23 Refactor protocol BUCK files to use more modern rules and format
Change-Id: I9262fdeef12cfd098afefc711d995ffc76b9efb1
2016-04-29 17:33:12 -07:00
Ray Milkey
61403ed21d Appify BUCK builds for drivers
Change-Id: I94a44950ce793008ff2a3b2105207a9fff9a53ed
2016-04-28 21:56:55 +00:00
Jonathan Hart
855179c176 CpqdOfpda pipeline table miss entry for multicast IP table.
Change-Id: I4efb76819007cc757dce123f3fd1ba83e2bc2c74
2016-04-28 16:17:11 +00:00