344 Commits

Author SHA1 Message Date
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
Ray Milkey
cc6ec60fb2 Starting snapshot 1.12.0-SNAPSHOT 2017-11-10 16:22:59 -08:00
Ray Milkey
9f9a752bdc Tagging 1.12.0-b2 2017-11-10 16:21:23 -08:00
Jonghwan Hyun
42fe10524a [CORD-634]Add dynamic config update support for interfaces
Change-Id: I065ef5df908864f10f60c5491db3ff9e502c4101
2017-11-04 01:30:21 +00:00
Charles Chan
b4879a558c Match VLAN_VID in TMAC table for mcast flows
Matching VLAN_VID in TMAC table is mandatory on QMX switches
XGS switches support optional VLAN_VID matching so this patch is effective for both platforms

In addition,
- Take native vlan into account when assigning VLAN for untagged multicast traffic
- Fix a bug that puts wrong eth_type in TMAC table

Change-Id: I19caf2d6d69096a96b75cb528b6ed37b28d7d988
2017-10-31 00:09:59 +00:00
Charles Chan
419f5aa2d7 Bugfix: ping6 to interface IP of remote leaf doesn't work
Instead of early return, simply ignore link-local IP matching if interface MAC is not configured (e.g. spine port)

Piggybacked in this commit:
    - Refactor the ICMPv6 handler

Change-Id: I44e4daac067262b63e6726b4b4d7e3426e0f7fdb
2017-10-25 20:32:14 +00:00
Charles Chan
27fe1a5b0e CORD-2063 Correctly update interface MAC when network config is updated
Note: this is only a temporary fix that still doesn't offer full dynamic interface config capability

Change-Id: Ieb2a9316821d3e8a3ad9257b2980e14ddbafec4d
2017-10-21 00:57:25 +00:00
Jayakumar Thazhath
3ec6aa2f63 IPv6 Unsolicited RA application.
Change-Id: I7dac31918708d85247a7831fd38f83d2e8781183
2017-10-20 21:27:15 +00:00
Yuta HIGUCHI
0c47d5386e Deprecate joda-time
- ref:
  http://blog.joda.org/2014/11/converting-from-joda-time-to-javatime.html

Change-Id: I1115e8053f601e78cb933ccbfa664ff8787d2da1
2017-10-20 09:40:05 +00:00
Simon Hunt
06c1b92c24 Created BlockedPortsConfig in SegmentRouting app.
- unit test uses json text file as input

Change-Id: If4fdf0f259f4e5801065b5c905520c6ffc17ee57
2017-10-09 17:03:08 +00:00
Ray Milkey
dc48fb2c3b Starting snapshot 1.12.0-SNAPSHOT 2017-09-26 14:42:24 -07:00
Ray Milkey
eb3f6ef786 Tagging 1.12.0-b1 2017-09-26 14:40:44 -07:00
Charles Chan
8e786b5ed9 Use pair link before the 2nd location of a dual-homed host is not discovered
In addition,
    - Improve host added log message
    - Improve false cache eviction log message

Change-Id: Iece05d4a2ba76a3da4ad736c4e072ced43fecacc
(cherry picked from commit 9ff637e3089ae2160f53eab52e9cec2ec6ef4c46)
2017-09-14 02:56:08 +00:00
Charles Chan
82fac583c8 CORD-1888 Use DAD to probe if interface MAC is not configured
Change-Id: I67bfdbc355e331903b4b7310e4fa9a79f962aa5c
2017-09-12 23:12:57 +00:00
Charles Chan
71e64f18e5 Fix NoSuchElementException
Change-Id: I2c80400d10dffd7dfda777de5279135ae687af35
2017-09-12 22:41:13 +00:00
Charles Chan
2fde6d48dd CORD-1578 CORD-1708 Handle dual single homed router and single dual homed router
In addition
    - Carry all alternatives in ROUTE_UPDATED and ROUTE_REMOVED event
    - More unit tests
    - More debug messages
    - Fix routing table out-of-sync issue in MockRoutingService
    - Fix populateRoute/revokeRoute mastership issue

Change-Id: I22d537625b570b09ecd4e22e6e14bb1ee27f8bcb
2017-09-09 22:05:35 -07:00
Julia Ferguson
65428c39e6 CORD-1622 CORD-1624 Add IPv6 mutlicast in McastHandler and OFDPA2.0 Drivers
Change-Id: Ibbb402b62999b39f8aea2cd236b959fc61fb94ac
2017-09-06 02:43:02 +00:00
Charles Chan
9640c812cb Remove next hop location from resolved route
The next hop location should be obtained from host service

Change-Id: I8652e6b8b1367097ffbfcb1651538c34819f67d6
2017-08-31 14:50:31 -07:00
Saurav Das
9df5b7c1f7 CORD-1583 More bug fixes in dual-ToR scenarios
- reentrant lock was not being used correctly
 - fixHashGroup in group handler was not updating global store correctly
 - linkUp was not being noted in seenLinks if configuration came after switches connected
 - serialization error in global objective store due to missing kryo for Sets
 - damaged routepath computation was not taking pair-devs into account
 - switch failures were leading to improper ecmpSpg graph updates, and missed hash-group changes
 - implemented more next-objective verification as group sub-system can go out-of-sync with objective-store

Change-Id: If3cfdd715e9b69820894b49def31f75ceb748863
2017-08-31 21:18:13 +00:00
Charles Chan
13dfea220f Add TODO to Segment Routing REST API
Change-Id: If22f314889519e899fcc48a1112b5c21dce4bb0c
2017-08-31 20:46:37 +00:00
Thomas Vachuska
b002968a83 Cleaning up application titles, descriptions and categories.
Change-Id: I80f9770697cbf29b6bde2b20778c341b0f403d9f
2017-08-24 10:19:33 -07:00
Charles Chan
5bc32633f9 Clarify the usage of stores in Javadoc
Change-Id: Ie0026b100367517f20f1c8bb8bc49bda83dd3b44
2017-08-22 15:41:08 -07:00
Yuta HIGUCHI
50a02a0136 Add dependency to route test
Change-Id: I8d9c8ab1c45c275df81803dee1b8a68a52b6cf3b
2017-08-22 17:29:50 +00:00
Charles Chan
1a3b02afb6 Implement basic unit tests for RouteHandler
In addition,
    - Refactor Segment Routing unit test mocking

Change-Id: I94cb75a8b12944264faa76301d58ee19f246d584
2017-08-22 15:37:03 +00:00