307 Commits

Author SHA1 Message Date
Thomas Vachuska
a10137c0fc Fixing residual ON.Lab references.
Change-Id: Ic54a281ce67e49236c7aeb536729d3900dd9433d
2018-04-04 00:02:22 +00:00
Pier
e5bff48f20 [CORD-2811] Fix VLAN cases in Mcast
Change-Id: I0b051a4502e48b4278723a1b782f49e0d6a2dffa
(cherry picked from commit 3cc7e66059ac9be3cdfbd266563690ec53badc9b)
2018-03-13 19:37:55 +00:00
Charles Chan
2686dd7fb8 VLAN filtering rules should always be installed before assignment rules
A bug introduced in gerrit 17344

Change-Id: I0a477233d6d1511542fdbace54a7b32bc2db2835
(cherry picked from commit 1e58aa6b3ba501becbca52bf336bc5807f64a1f2)
2018-03-07 19:12:58 +00:00
Charles Chan
45b69ab951 QMX switches require the unicast flow being installed before multicast flow in TMAC table
Change-Id: I2258f7ecceb9a151c4ce65518e9553fe371cf3ac
2018-03-06 11:35:40 -08:00
Charles Chan
236653d674 Address comments in gerrit 17355
Change-Id: I3c5c2a77ca8e427d14607fccc89b8fb1a1cd38bd
2018-03-05 20:43:53 +00:00
Charles Chan
66291504d6 Major OFDPA refactoring to handle multi-stage flows in a cleaner way
Multi-stage flows are required in two cases:
- VLAN table: filtering rule need to be installed before assignment rule
- TMAC table: unicacst rule need to be installed before multicast rule (QMX only)

Change-Id: I2cccc42a2c08b00f887b22bad54c7107794beafa
2018-03-05 10:21:48 -08:00
Charles Chan
50d900c835 Minor OFDPA refactoring according to IntelliJ code analysis
Change-Id: I75bd19f11c4500aafe1e6050fec46e70fd01da15
2018-03-05 10:21:47 -08:00
Saurav Das
a402038459 Handling multiple layers of spines.
Also in this commit:
     - Triggering swap group creation and accounting for it in DestinationSet
     - Fixes in ofdpa2 and ofdpa3 pipeline to allow SR Continue operation
     - Renaming mplsSet in DestinationSet to notBos
     - Removing unused RandomDestinationSet
     - Bug fix in ofdpa driver for swap group chain creation
     - Bug fix in ofdpa driver for verify group operation
     - Better internal bookeeping of device ports and associated neighbors

Change-Id: I2b8f1c4c0b305ef847d57ca7a5320943e06d190d
2018-03-02 16:20:53 -08:00
Jonghwan Hyun
f810a7a2e7 [CORD-2721] Implement group bucket modification
Change-Id: I0f637ec4ff2b0c12db53d70fed195ea28e542535
2018-02-27 20:45:06 +00:00
Andreas Pantelopoulos
77031718ea Different vlan-id for leaf spine pws.
With this patch we introduce a special vlan for transporting
traffic for leaf-spine pseudowires. Each l-s pw is assigned
a different vlan from the range 4000-2000. This information is
kept internally and exposed to the user with the "pseudowires"
cli command.

Leaf-Leaf pseudowire traffic is still transported untagged, but
we will probably soon need to use special transport vlans there
also.

Change-Id: If6d0b7176a9bd4b89fb7d46db2a49e048bd953ee
2018-02-22 01:20:18 +00:00
Pier Luigi
b72201bcda [CORD-2607] Mcast buckets correction
Change-Id: Ib47b2d8e40babdbb2ccdba61b48365a141752016
2018-02-16 11:57:09 -08:00
Pier Luigi
ec6ac42337 [CORD-2634] Fix verify operation in OFDPA pipeliner.
Current code does not detect properly a mismatch
between nextobj and flowobjstore. In particular
it is able to detect only missing chains and
duplicated chains, while falls if allactivekeys
has more chains with respect to the next we want
to verify. I think flapping links or subsequent
events (for example several mcast-join follow by
mcast-delete) can create easily this problem.

Imagine we send a next with two treatments
Next(x,y) where x and y are the output ports.
AllActiveKeys has three chains AllActiveKeys(x,y,z)
where x, y and z are the output ports.
existingPortAndLabel is not able to detect the
extraneous chain related to the port z

Change-Id: I41fa47347a8c1d4188d990d96f48a898a4df59e1
2018-02-16 11:57:09 -08:00
Pier Luigi
21fffd29a4 [CORD-2483] Mcast does not forward traffic to all the sinks
Rationale: if we add more than one sink a number
of sink add events are generated. For each event
we create a mcast path, right now we do not support
Mcast group editing. This means that a new nextobjective
will be created for each sink.

In particular, this patch enables the mcast group editing
to solve the following issue:

Sink1 arrives -> fwdObj A -> Next B (this has one output)
Sink2 arrives -> fwdObj A -> Next C (this has two outputs)

Next B and Next C shares a part of the chain. Reordering happens
during the creation of the Nexts:

Next C created -> flow A -> Group C
Next B created -> flow A -> Group B

Failure, traffic does not reach all the sinks. Other side effect is the
disalignment between SR app and flow/group because McastHandler believes
mcast group is associated to the Next C

It includes minor refactoring of the group handler

Change-Id: Ib59ba6b63ff411ed46ca8216677046a78cc92ac6
2018-02-09 14:37:06 -08:00
Andreas Pantelopoulos
25db42ffcb Bug fix for Ofdpa2 group handler.
When introducing the mplsSwap groups, we affected the pseudowire instantiation.
This is now fixed with this patch.

Change-Id: I6f98c49b954017bb0ea899d5ecc15c5a1b8ba340
2018-02-08 21:17:07 +00:00
Saurav Das
c568c34e0c Implemented CORD-1843 to avoid race condition when updating ECMPspgs.
In this commit:
 - a new mechanism in DefaultRoutingHandler to update route-path maps in all instances,
   for the entire topology, after every route event has been processesed.
 - fixed a race condition in LinkHandler
 - avoids retrying flows in the ofdpa3 driver as this issue has been fixed in the switch
 - a new CLI command to check internal link state

Change-Id: I307d0a96cc46569294d15d042b3bcb1fde735f1b
2018-02-08 20:50:12 +00:00
Charles Chan
77a9405d41 Support latest OFDPA premium image
Change-Id: I560241d1e2a586dc17814690327e860d3b5fefb3
2018-02-08 00:38:03 +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
Andreas Pantelopoulos
7a8488c482 Support for MPLS Swap Group creation.
Modified the processSimpleNextObjective method to be able to create the
Group chain MPLS Swap - MPLS Interface - L2 Interface , when the MPLS Label
is set to the Treatment.

Change-Id: I72d502ba2f0da811d14d28c170d2e119c3dc8221
2018-02-01 18:04:24 +00:00
Pier Luigi
075f101359 Fix SONAR warnings in OFDPA2 pipeline
Change-Id: I2162d316398dc5946997d9913a6a509345d06879
2018-02-01 16:15:01 +01:00
Yuta HIGUCHI
fbd9ae9cdf Various small fixes
Change-Id: I83802169d0d968f7b88d4be2cedba74b15fdd7da
2018-01-25 22:17:25 +00:00
Andreas Pantelopoulos
ab8d861792 Workaround for GroupProvider to work with ofdpa3
Change-Id: I3d62e1ea8482ff50018daf3d639975fa2123fdc4
2018-01-25 00:51:40 +00:00
Ray Milkey
fe0e085ed2 SONAR suggestions - boolean expressions that are known to be 'true' or 'false'
Change-Id: I4e089cb606ecf43444b4d567ad63d622f37506ce
2018-01-19 08:59:46 -08:00
Ray Milkey
74e5913ec3 Sonar suggestions - fixes to potential null pointer dereferences
Change-Id: I4e350a9d72a9322971d5d4f831f1bdf167986b87
2018-01-18 19:01:54 +00:00
Pier Luigi
d008dbeb7f [CORD-2533] UnsupportedOperationException in OFDPA pipeliner
Rationale: appkryo returns immutable lists serializable
which do not support removeIf and addAll methods

Change-Id: I25f7f818677d78cad65122f476702f9e194fd620
2018-01-17 13:57:18 +01:00
Pier Luigi
07532abd36 [CORD-2531] Missing flows and multicast groups
The rationale for this change is: unhandled exceptions
prevent Runnable to be scheduled in future.
We need to protect the body of runnable.

Related to [CORD-2532] and [CORD-2533].

In the pipeliner we use checkers and groups listener
to get notification about groups. The error scenario:
unhandled exception in the context of a group checker
will kill the checker. We create a multicast group, which
requires firstly a l2interfacegroup. The latter has been
already created in the past. No notification from groups
and no checker -> failure. Multicast group is not created
and forwarding objective in pending (forever).

Potentially, it can fix other errors scenario.

Change-Id: I6ea0548c112002b9ce415103891dc01431bc1dc8
2018-01-17 13:19:51 +01:00
Ray Milkey
9c9cde4d4d SONAR Suggestion - protected members in final classes are pointless
Change-Id: Ie34d86aecf181e73867a14864d75e0db8a8f48f3
2018-01-17 00:18:50 +00:00
Charles Chan
09bf269562 Resume the use of ICMP type/code in OFDPA driver
Change-Id: Iecbeae69046deeec760cba5f12181ae84d86b1d0
2018-01-12 00:02:54 +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
Andreas Pantelopoulos
20474e05bd Pseudowire support for leaf-spine
- Added pw support for pseudowires containing leaf and spine switches as endpoints.
- Inject empty pw config if it is not found for the first time
- Minor refactoring such as more log messages and fixing missing javadoc

Change-Id: Ib57d39cfa36fcd48c01b5781c7445a3f1ffcfbda
2018-01-07 01:56:03 +00:00
Pier Luigi
bdcd967260 Implements policer-meter-mapping [ONOS-5867]
Changes
- Adds Policer config behavior and its implementation
- Implements id mapping
- Adds tests for OpenFlowPolicerConfig
- Adds free id api to MeterService and MeterStore
- Improves test for MeterStore

Change-Id: Ibb47375430e253131d9d9c8a60e61023ee6c8225
2018-01-05 23:12:28 +00:00
Alex Yashchuk
4caa8e82d3 Xpliant ONOS driver support added
Change-Id: I3691a1d6035a8f7d8727b8bded70339e3df0dd94
2017-12-21 02:57:07 +00:00
Charles Chan
c550f2e335 Only remove TMAC flow when it is the last port within the same VLAN if TMAC doesn't support in_port matching
Change-Id: Iafb72153eddd126c5598960a46130c50ddfe3cbd
2017-12-20 11:26:11 -08:00
Jonathan Hart
19e428b42f Add automatic driver resolution for voltha devices
Change-Id: Iebc244d3ac09d40c1f6d8314921b9a56e69888dc
2017-12-19 19:20:43 +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
Saurav Das
f14d9ef158 Fix for empty flooding groups due to bucket add/remove commands being reordered, and
triggered by port up/down events very close to each other.

Change-Id: Ibbd7cc6eb6df35396175619d95439acd6da904b8
2017-12-05 18:35:20 -08:00
Charles Chan
572618c8b5 Add driver support for OFDPA premium versions
Change-Id: I879beebea8389eef1172e5ecc5b4af68a054b3af
2017-11-21 11:27:54 -08:00