528 Commits

Author SHA1 Message Date
Pier Luigi
9930da54a6 [CORD-2484] Deleting multicast route does not clean flows and groups
Change-Id: I6b669b6c202430af070a8977c23d63e2d072bf51
2018-02-16 11:57:10 -08:00
Pier Luigi
b72201bcda [CORD-2607] Mcast buckets correction
Change-Id: Ib47b2d8e40babdbb2ccdba61b48365a141752016
2018-02-16 11:57:09 -08:00
Pier Luigi
eefa276e54 [CORD-2734] Protect SR executor from exceptions
Change-Id: I8a6f98aa242243bf45797aa690a2b90d2b61dd4d
2018-02-14 17:37:09 +00:00
Saurav Das
e7f5101319 Ensures internal link state is up to date on a restarted ONOS instance. Also fixes an NPE in FpmManager.
Change-Id: Idb0df0ef961c6bb2f3b2c3dc72957af8a4987e1b
2018-02-13 09:10:30 -08:00
Yuta HIGUCHI
0eb68e14ed Fix issue reported by error-prone
Change-Id: Ide991f2b91fbd4d7652da6ff8e5a1868dd62dc22
2018-02-09 18:05:23 -08:00
Pier Luigi
d1be7b1317 [CORD-2483] Deleting multiple sinks does not clean all flows and groups
Rationale: Let's assume we have a working group with
multiple sinks. We try to delete the sinks all together,
also in this case for each sink a sink removed event is
generated. For each event we create a new next objective
removing the ports no more needed.

Solution is related to the previous patch (group editing).
Failure scenario:

Sink1 removed -> fwdObj A -> Next B

McastHandler store has been updated at this point.

Sink2 removed -> remove fwdObj A

The remove operations is executed immediately but
the Next B could not exist at this point -> flow
installation failed

Change-Id: Icf568b26b2f3ae3feb935b13038db6195125a5c4
2018-02-09 14:37:07 -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
Pier Luigi
bad6d6c953 [CORD-2480] Implement logic for dual-link in McastHandler
Change-Id: Iddffc3a03e2fb68e70b957b232cb033c6752d3eb
2018-02-09 14:37:06 -08:00
Pier Luigi
eba73a08c3 [CORD-2534] McastHandler does not handle device down
Rationale: McastHandler handles only link down events
while just removes flows, groups, and internal state
related to the device going down. SegmentRoutingManager
skips link down if they are related to a device going
down.

Change-Id: I96c9c00c86d2cae9c2a8162710c61ef72c115eb0
2018-02-09 14:37:05 -08:00
Saurav Das
15a8178e2e Fix for NPE that can get triggered upon onos instance restart.
Change-Id: I9ea9d8d92d43dc0543be0b336ba9bcc856b9bcbc
2018-02-09 10:49:43 -08:00
Ray Milkey
a7cf8c8f55 Remove deprecated DefaultPath constructor with a scalar cost
Change-Id: Ifc4104cff773c9c692cc108fda02ce44bc6c2870
2018-02-09 17:51:28 +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
08d91328e2 Bugfix in route handler in occasion of route update event
Change-Id: Ia0a0cc7d5522d41cad5f3d992c589c9f5cbad244
2018-02-08 00:37:48 +00:00
Charles Chan
5f7577ed16 Checking mastership when revoking a route
Also imrpove the log message

Change-Id: I835179ad1e2373cfb5d7e0af34ea66b12e2f3d8c
2018-02-08 00:37:48 +00:00
Ray Milkey
1567b53d94 SONAR suggestion - implement equals() whenever compareTo() is implmented
Change-Id: I1eee6f8fd76ac9d7555612a56f84ef16fef9f90d
2018-02-05 22:32:00 +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
34ef6a1ef6 SONAR suggestion - checking the same condition twice
Change-Id: Ia71206478c21cc92fbd7d37e7915af75727e047e
2018-02-02 21:18:57 +00:00
Yuta HIGUCHI
fbd9ae9cdf Various small fixes
Change-Id: I83802169d0d968f7b88d4be2cedba74b15fdd7da
2018-01-25 22:17:25 +00:00
Ray Milkey
ffe1a33da1 SONAR suggestions - more blocker bugs
- fixed some cases where pointers could be null
- fixed some booleans statements known to always be
  true or false

Change-Id: I0d67c1794b37deeccffda1f4ad0f447857e2a5d1
2018-01-25 00:48:10 +00:00
Saurav Das
45f4815be0 Take down edge ports on a leaf switch when all uplinks are gone
- Bug fix for case when all uplinks are gone, but dual-homed host continues to send packets to switch;
  We now administratively take down the host port to force the host to use the other leaf in the pair.
- Restructured SR manager by creating a LinkHandler
- fixed/added some log messages

Change-Id: I3722cd364dc8798b16891519bec165627e92bd87
2018-01-19 18:30:10 +00:00
Ray Milkey
74e5913ec3 Sonar suggestions - fixes to potential null pointer dereferences
Change-Id: I4e350a9d72a9322971d5d4f831f1bdf167986b87
2018-01-18 19:01:54 +00:00
Andreas Pantelopoulos
161ce33e40 Fixed VLAN used for l2 intf groups of pseudowires
Change-Id: Ic1af6dfc2b581fb3194f7778e6c7b69d6b85d8a4
2018-01-17 18:25:14 +00:00
Andreas Pantelopoulos
c41ceb9276 Minor update in PW configuration to handle updates better
Change-Id: I055592f8586b3b49539e87572d94f6af445003aa
2018-01-17 18:24:58 +00:00
Pier Luigi
63edd93b14 [CORD-2532] IllegalArgumentException in OFDPA pipeliner
Rationale: PW transit groups need to be filtered out
when retry hash and bucket correction happen (if mpls
ecmp is not supported)

Change-Id: I162ddb3d4d8760777b0cbd5bf250d6fcef8302df
2018-01-17 13:47:58 +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
Charles Chan
f237e1b964 Fix the path not found issue in pseudowire
- Use getPaths instead of getDisjointPaths
- Add more debug log that prints all paths obtained from topology service

Change-Id: Ic195633b99261baec39962f0e99bc7b7082755c4
2018-01-11 22:46:38 +00:00
Andreas Pantelopoulos
4a768c01f8 Deploy existing pseudowires when segment routing is activated
Change-Id: Id09deb8841a65ad6ee7840830e047123196fa26f
2018-01-11 19:08:20 +00:00
Saurav Das
bd071d8227 Bug fix in routing logic - should let routing process continue
if a particular route-path is ignored. Also added info logging for port-status
messages to clearly identify messages coming from the switch as opposed
to possibly fake updates generated by ONOS.

Change-Id: Ib03dfe0e2dcdcfb046d58657473fa4122ec15190
2018-01-10 17:38:52 +00:00
Charles Chan
132393a4a2 CORD-2470 Fix NPEs
Change-Id: Ic31725905d0410ed2abdd8b87991c8cc362457f8
2018-01-09 13:55:27 -08: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
Charles Chan
f7ce50997d Fix typo
Change-Id: I9587cf5f33be542a2bf147d686ad8a8b913a4991
2018-01-06 17:57:27 -08: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
Charles Chan
50443e8717 Ignore irrelevant events in SegmentRoutingManager and DhcpRelayManager
Change-Id: If2ec29d6eea07a187e42bd2fda32de17245a7520
2018-01-04 18:36:14 +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
Saurav Das
41890dbf3c Adding a few checks in SR to ignore link events for links
that should not be allowed.

Change-Id: I3e4042e20de899f426f508d8307808c48325a18d
2017-12-20 18:38:40 +00:00
Charles Chan
479337514b Dual-homing probing improvements
(1) Active probing mechanism in the following two scenarios
    (1-1) Probe all ports on the pair device within the same vlan (excluding the pair port) when the 1st location of a host is learnt
    (1-2) Probe again when a device/port goes down and comes up again
    * Introduce HostLocationProvingService
        - DISCOVER mode: discover potential new locations
        - VERIFY mode: verify old locations
    * Can be enabled/disabled via component config
    * Improve HostHandlerTest to test the probing behavior

(2) Fix an issue that redirection flow doesn't get installed after device re-connects

(3) Temporarily fix a race condition in HostHandler by adding a little bit delay

Change-Id: I33d3fe94a6ca491a88b8e06f65bef11447ead0bf
2017-12-19 16:25:59 -08:00
Ray Milkey
c4191edad7 Sonar suggestion - possible null pointer dereferences in equals() methods
Change-Id: I021c202df99098e5ecf05949954c4c9355d944db
2017-12-18 17:36:30 +00:00
Saurav Das
b805f1af2b Bug fix for IgnoreDhcp rules after switch restart. Also fixed NPE in group handler,
and made recognizing ofdpa software more generic to handle premium versions on accton switches.

Change-Id: Ie1f40dd934c2a1adb75174c90c2d6f1b71f98d3a
2017-12-14 11:24:39 -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
Charles Chan
78ec505332 Prevent packets with link-local destination IP from being routed
Change-Id: Ifaf4bb35efcdd930195e341eba3e0444a1fbbfab
2017-12-11 15:08:02 -08: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