367 Commits

Author SHA1 Message Date
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
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
Yuta HIGUCHI
c2af9661ef sync javax.ws.rs-api version
Change-Id: I1a033c093d7cc63626387b712e5c3c7a8fdf116c
2017-12-08 18:58:06 +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
Jonathan Hart
8ca2bc0447 Small updates to SR to get it to ignore devices not configured as routers
Change-Id: I2c0f695af1a6eab10607a8117faae5f6161a66d9
2017-12-05 00:17:00 +00:00
Charles Chan
807d87ad82 Changing two more component configs in segment routing
Set linkStaleAge to 15 seconds: prevent link down event during mastership transition in HA scenario
Set allowDuplicatedIp to false: cleanup IP when a new container is launched with same IP but different MAC

Change-Id: Ic2a9f87179de367c2ff84b232ca7f8ca3e152715
2017-11-30 10:44:38 -08:00
Ray Milkey
a09f87f02b Starting snapshot 1.13.0-SNAPSHOT
Change-Id: Ib3360118c42aa760632ff80537d585865813060f
2017-11-21 09:38:31 -08:00
Charles Chan
3d650a6588 Dual-homing redirection fix
This commit fixes the bug that prevent initial redirection from happening if the host is added without IP and get updated with an IP later

Change-Id: Ic4e90763e38eff94b1613d90f943f76f5285cf94
2017-11-21 01:23:49 +00:00
Andreas Pantelopoulos
27532cd2f9 Added basic pseudowire support for Trellis.
- Configurable pseudowires supporting untagged-untagged, single-single, double-double tagged traffic.
- Commands for listing, adding and removing pseudowires.
- Initial support for link failures.
- Pseudowires also configurable by network configuration.
- Tested with ofdpa_3.0.5.

Known limitations that I plan to fix soon :
	- Adding pseudowires from configuration is inconvenient because we need to ammend new pws to the
	  existing configuration. We should create a REST API for adding/removing/listing pws and abandond the
	  network configuration.
	- Spine fabric switches have rules matching a special mpls tag used for pw traffic for a specific leaf.
	  However, this rules redirect to an "indirect" group for forwarding traffic. If the resulting port there
	  is no mechanism as of now to handle this. We should use the MPLS ECMP Groups of ofdpa, however they are
	  not functional. Thus, we need to inject logic into the application to handle this case.

Change-Id: Ia85cf4514ebab627fc6ed5a19ad9f6cdc67dc24c
2017-11-17 19:49:12 +00:00
Simon Hunt
5789e1ca61 Port Authentication Tracker - initial cut.
- With unit tests for behavior.

Change-Id: Icdf0c62268171e8c40d395366547a0bcaf612b61
2017-11-11 01:51:46 +00:00