314 Commits

Author SHA1 Message Date
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
Ray Milkey
446f446a4f Refactor buck external dependencies
Change-Id: Ia4b99493407eb7d4e893804cba6b944f758f085e
2017-08-21 17:41:36 +00:00
Ray Milkey
aa279c014e Starting snapshot 1.12.0-SNAPSHOT
Change-Id: I92269af3b1103fc6622614a77681bd841438d050
2017-08-16 13:27:00 -07:00
Ray Milkey
6c1f0f08fa Move McastConfig from incubator to core net
Change-Id: I8b46555673df35c4aecc45b3044d0d29a894a62c
2017-08-15 22:36:32 +00:00
Ray Milkey
6c013740c9 Move interface config classes out of incubator to core net
Change-Id: I4cbc384e9bbfda00850b98541e63c4dd70f3627b
2017-08-15 22:07:54 +00:00
Saurav Das
ceccf24adc CORD-1583 Bug fixes for dual ToRs
Two things:
  - In dual (paired) ToR scenarios it is possible to have the same outport
    in multiple buckets in a hash group, as long as they have different labels.
    When adding buckets this was taken into account. But when removing buckets,
    only outport was being checked. This bug fix ensures that labels are checked
    as well when removing buckets.
  - In dual ToR scenarios, getting the right set of hash buckets proved difficult
    with existing 'retryHash' mechanism. Repealed and replaced with a bucket corrector
    mechanism that periodically corrects the hash group buckets when the topology
    has been stable for the last 10 secs. Required the introduction of a VERIFY
    operation in Next Objectives. Also added a cli command to trigger this
    operation manually.

Change-Id: Ib0d2734060fadc6e7a4bd0d75f3409e194413a97
2017-08-15 20:25:47 +00:00
Charles Chan
35a323233b CORD-1416 Implement multi-homing probing in HostLocationProvider
Also include following refactoring
    - Refactor the way we generate ARP probe
    - Remove some unused code

Change-Id: I96b1c47bd5731b7b38ef4d19a941d231b5d0054c
2017-08-15 17:08:47 +00:00
Charles Chan
9f08b1034b CORD-1719 Cleanup old flows properly if the switch moves to a inexistent location
Change-Id: I8ffe970aaa9cec9ac3d4c266e460538bfd07c4fc
2017-08-13 23:58:34 +00:00
Ray Milkey
d4ac0edb2f Starting snapshot 1.11.0-SNAPSHOT 2017-08-11 17:04:16 -07:00
Ray Milkey
6ecde1ff86 Tagging 1.11.0-b4 2017-08-11 17:02:33 -07:00
Charles Chan
ef624ed750 Update RouteStoreImpl component config location
Change-Id: I3a1e9d3f151e3ef90717a5bad5489674d619d7b2
2017-08-11 01:08:14 +00:00
Yuta HIGUCHI
1e534c3683 Fix route-service
align artifact name to buck build

Change-Id: Ia0a60e647b30285f20d5b40332c32705203c9b7c
2017-08-10 16:08:31 -07:00
Ray Milkey
69ec87142c Move routing from incubator to a separate app
Change-Id: I961d10af99c572b1f8d9b3d37c6f52dd04422007
2017-08-10 10:55:01 -07:00
Charles Chan
d3baaba98a Fix ARP/NDP issue in SR caused by the recent NRM move
NRM has been moved from incubator to core recently.
The config name needs to be updated as well.

Change-Id: I5288b15803bbb3a79d67a49de659bafa72377769
2017-08-08 15:13:39 -07:00
Charles Chan
c7e36aa4fa Workaround for CORD-1672
Change-Id: Idb9d41a9f56f76432ca4ee3dc0a356768b0a987c
2017-08-07 17:14:17 -07:00
Ray Milkey
b65d7844e2 ONOS-6887 Move neighbour classes from incubator to core
Change-Id: I5fa70253b833838566a3527d8938e04be4274210
2017-08-06 19:46:25 -07:00
Ray Milkey
facf286f9c ONOS-6886 Move interface classes from incubator to core
Change-Id: Iaae4d98279e4b77fc3f0b5a63d547921f93aeb46
2017-08-06 16:38:19 -07:00
Charles Chan
889978682b SR refactoring
- Remove unused data structure
- Remove duplicated function calls in rerouteNetwork()

Change-Id: If2ceefa290dcdf9adb67e6317b60debc05166767
2017-08-04 13:49:41 -07:00
Charles Chan
65238248fc Recover dual-homed host failover using pair link
In addition,
- Block ARP/NDP on pair port from being sent to controller
- Block DAD on pair port from flooded back to the originated host
- Minor refactoring

Change-Id: I3d697a06cb7ed3b56baa5d490197c155fe6969f0
2017-08-04 13:49:41 -07:00
Charles Chan
f9a5270449 Support multiple host locations in HostHandler
Also include refactoring and some unit tests

Change-Id: I8e213d0ebff0cc8c87569f515a72007f63d85a14
2017-08-04 13:49:41 -07:00
Saurav Das
7bcbe7038c CORD-1419 CORD-1425 CORD-1496 CORD-639 Changes for dual-ToRs
Introduces the concept of edge-pairs (or paired-ToRs) which
can have some subnets/prefixes reachable by both ToRs.
   - Each ToR can also have prefixes reachable only by itself,
     even though it is part of an edge-pair.
   - The paired link between ToRs in an edge-pair is ignored
     for ECMP calculations.
   - Required a change in how destinations and next-hops are stored.
     The neighborSet is now a destinationSet, and no longer carries
     next-hop info, which is now stored in NextNeighbors. As a result,
     the DestinationSetNextObjectiveStoreKey and ECMP group id do not
     change as next-hops come and go.
   - It is now possible to have buckets in hash groups with the same
     outport but different labels.
   - DefaultRoutingHandler has been rearraged to be more readable, and
     clearly highlight the three major ways that routing changes can
     happen in the network.

Also fixes the case where config is added after switches connect to the controller.

Change-Id: I7ce93ab201f6ef2c01cbe07a51ee78cd6a0a112e
2017-08-04 13:49:40 -07:00
Brian O'Connor
a09fe5b0b7 Updating Copyright line to Open Networking Foundation
Change-Id: Icba96d7f39a065b53f34a6aeb71afd1f7d51f774
2017-08-03 21:12:30 -07:00
Ray Milkey
64677e99d9 Starting snapshot 1.11.0-SNAPSHOT 2017-08-01 10:48:08 -07:00
Ray Milkey
17463db855 Tagging 1.11.0-b3 2017-08-01 10:46:24 -07:00
Charles Chan
c760f38c2f DHCP relay bug fixes
- DHCP relay doesn't set destination MAC properly when forwarding the reply
- SR doesn't properly turn off the arp handler in dhcp relay

Change-Id: I7f7660bfe70fee14abcfdd3abb750e4a88b6ec42
2017-07-25 19:04:03 +00:00
Charles Chan
73316522f3 Activate distributed route store in Segment Routing
Change-Id: I71a8bd09e1090164e6e7be3ef1eaa64fee5fdddd
2017-07-21 02:53:44 +00:00
Ray Milkey
64313cbc83 Starting snapshot 1.11.0-SNAPSHOT 2017-07-20 15:46:52 -07:00
Ray Milkey
7e28519e5f Tagging 1.11.0-b2 2017-07-20 15:45:28 -07:00
Charles Chan
f3b3d81cee ONOS-6768 Make sure ARP/NDP punt flows are programed to not only new switches but also existing switches
Change-Id: Icaa3ad6f1319d08c15eacee5fea66c38368c9b0c
2017-07-13 23:44:49 +00:00
Charles Chan
91ccbf74b8 ONOS-6768 Punt ARP/NDP even when a device is not configured
Change-Id: I39f3e7e5e0252ecc548f44ce35806641838d01dd
2017-06-30 20:42:28 +00:00
Ray Milkey
f14cc6d3c2 Fix SNAPSHOT version string
Change-Id: I090c1998e5a117c10263b7a6abbffc624beb4074
2017-06-28 16:36:27 +00:00