280 Commits

Author SHA1 Message Date
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
Charles Chan
38a1a1c242 Lower log level
Change-Id: Ib333a6a6b3ea24ef0eab1b2fb0666fa88da57bed
2017-06-28 15:52:21 +00:00
Charles Chan
7f9737ba51 Lower log level
Change-Id: I1801338d75e063399035cafc541deb80d775ddda
2017-06-27 06:31:34 +00:00
Charles Chan
a9519af556 Fix subnet check to support multiple subnets
Change-Id: I0d221db31e9886d220fac0a383a938f7a1cfe5ca
2017-06-27 06:31:34 +00:00
Charles Chan
278ce8361e CORD-1495 Fix race condition when loading network config
Change-Id: I6df7e5fcba053301fd323e13f3b5b9b9bf3ba520
2017-06-27 06:31:34 +00:00
Yuta HIGUCHI
d919d9be05 Exclude resources from checkstyle
- to better align with current BUCK behaviour which only includes java sources
- and few other pom fixes

Change-Id: I029884450df0b520f5f81f21f15d322a397c1adc
2017-06-26 11:11:30 -07:00
Ray Milkey
7463193198 Starting snapshot 1.11-SNAPSHOT 2017-06-23 16:46:27 -07:00
Charles Chan
b8664b846c [WIP] Fix RouteHandlere NPE
Change-Id: Ic5711365a5e82ba2465be8b0734898561d93d76a
2017-06-22 21:35:36 +00:00
Charles Chan
2e2e3404e2 Implement unit test for HostHandler
Change-Id: I0ba37731f70b98019962b4f7deaf88fc2245ea6c
2017-06-21 22:14:17 +00:00
Charles Chan
b7b4c93011 Refactor HostHandler
Change-Id: Ie225b8466ea2c80dd4205581e3c519d4abd1949c
2017-06-21 22:14:17 +00:00
Charles Chan
c7a8a681cc ONOS-6658 Remove host listener when deactivating SR
Change-Id: Ie65650b61873e2539ba77d55ff7daeb0a559b5b9
2017-06-19 00:45:41 -07:00
Charles Chan
ed374235bf Remove a link from seenLink when either end of the link goes down
Change-Id: Ie650f6fd34f10ed91112f974684e97b99c916534
2017-06-15 21:56:39 +00:00
Ray Milkey
5dae9224d3 Fix some redundant serializer declarations
ONOS-6482

Change-Id: I1870a94a3e38f1b820344ff3b2c4abaa239482b5
2017-06-15 11:55:51 -07:00
Charles Chan
40abef42bb Allow indirect hosts to ping gateway IP
Change-Id: If555eebb88d2bc6ea016ca083c479dadd13d801d
2017-06-13 21:50:38 +00:00
Saurav Das
c88d46642c CORD-1304 Set of changes for fabric routing to optimize use of ECMP groups
Also removing some old demo code in the SR app
Adding a couple of CLI commands for debugging
Bug fix in the DistributedGroupStore for group_exists error message
Bug fixes for ofdpa driver:
    - synchronized update of flowObjectiveStore when buckets are added to or removed from groups
      to avoid one thread from overwriting an update from another thread doing an update at the same time
    - addBucketToL2FloodGroup now updates flowObjectiveStore after accounting for changes
    - addBucketToHashGroup accounts for all added buckets, not just the first one

Change-Id: I6207c1c3c1b4379986805d73a73bc460fea8fe3f
2017-06-13 04:22:10 +00:00
Charles Chan
537fe85b8b CORD-803 Introduce configuration for leaf pairs
Introduce 'pairDeviceId' and 'pairLocalPort'

Change-Id: I60dff15cbbc5a32a581db99f1ede61f630615283
2017-06-08 14:05:14 -07:00
Charles Chan
3ca0b2e027 Cleanup previous workaround
Change-Id: I5c5989440a11f8a57a3753a57c4fd24487ca4085
2017-05-29 18:19:19 +00:00
Charles Chan
da708ccd3c Remove CORD config dependency from SR
SR now offers a clean way to config OLT control and data plane traffic.
For OLT data traffic, we can use vlanTagged config.
For OLT control traffic, we can use vlanUntagged/vlanNative + host config.

Change-Id: Icf7d345374d572711798a55b5a2349ad1f5d1fc9
2017-05-25 00:10:29 +00:00
Ray Milkey
08b03a9ec8 Starting snapshot 1.11.0-SNAPSHOT
Change-Id: I5aa84e241545dace6192243c0079924ddf899404
2017-05-15 18:40:20 +00:00
Saurav Das
1547b3ffd8 CORD-1180 Collection of fixes for hash-group buckets. Required the following changes:
Next-objectives that edited groups are now queued in the FlowObjectiveManager instead of the driver.
	  During linkup immediately checking for previous portups that should be added to a hash group.
	  A final retry 30 secs later to catch all ports that should be part of the same hash group.

Change-Id: I7ef450149d685890ca47932b8e559a0c11dc5ab4
2017-05-12 21:37:00 +00:00
Charles Chan
c53d617a29 CORD-1149 Allow configuring multiple IPv4/IPv6 addresses on one interface
We had this limit before because we derived VLAN from subnet.
We no longer do that and thus user should be free to config 0+ IPv4/IPv6 addresses

Change-Id: I144c618112e4b437ebf64ea3b5ab05a83263cb17
2017-05-04 21:22:07 +00:00
Ray Milkey
8fd28c7b80 Starting snapshot 1.10.0-SNAPSHOT 2017-05-02 14:37:34 -07:00
Ray Milkey
f0099022d2 Tagging 1.10.0-rc1 2017-05-02 14:35:27 -07:00
Saurav Das
961beb2c1b Bug fix: Do not create groups as a side effect when revoking routes
Also changing pendingGroups to a cache that will automatically purge failed groups
Improving log messagesin several places

Change-Id: I6843a66d58e623259c7fd20ffe64d56a46d963f0
2017-04-07 21:39:59 +00:00
Ray Milkey
e4afdb5f17 Fix Sonar errors: public data members in classes
Change-Id: I7aca37d5553436167ac6e7b2206392f88bddc118
2017-04-06 00:13:24 +00:00
Jon Hall
a3fcf6754a Fix Sonar issue:
Strings literals should be placed on the left side when checking for
equality

Change-Id: I4537e08936731ace55aeecb3ad941269ec1eb191
2017-04-05 22:54:30 +00:00
Charles Chan
d4f3a629b2 Refactoring ICMP handler in Segment Routing
- No longer handle ICMPv6 packets except those target routerIP and gatewayIP
- Remove source IP validation for ICMPv6 since IPv6 hosts often speak with their link local address

Change-Id: If92826c080a4643bad71b0d39fc89b7123dc11d5
2017-04-03 07:10:54 +00:00
Charles Chan
b1f8c7610d Bugfix: handle link updated event
A direct link might be transiently marked as indirect if BDDP is received before LLDP.
SR needs to handle link updated event such that it can process when an indirect link becomes direct.

Change-Id: I2330d55e0a8265d5a6f50bd7700781d6e20ebcf8
2017-03-31 21:27:05 +00:00
Saurav Das
b28d5dd544 Bug fix - Do not create new next-objective if there are no
non-duplicate buckets to add.

Change-Id: I5bbf3f22225ae91efeed7f5987e771de209f725c
2017-03-27 22:34:52 +00:00
Charles Chan
0ed44fba4d CORD-1015 CPR bridging alternative
- Remove workaround introduced in gerrit #12604
- Add ability to respond to IPv6 solicited-node multicast address of gateway IPs

Change-Id: I7d1c9840a51e35d471303a8f723245a5bbc809ff
2017-03-22 20:36:16 +00:00
Charles Chan
a9f8ae4f84 Support tagged next hop in Segment Routing
Change-Id: I4e1a77b797a487a647c1b8e437ba8426f84a5ae0
2017-03-22 20:33:09 +00:00
Saurav Das
76ae6816b1 Bug fix: generate different next objectives for port with multiple vlans
Cleaning up some logs.

Change-Id: I0db119fdbc36ccbd25a382d54d3f9f731f8be1ec
2017-03-15 15:15:14 -07:00
Saurav Das
b0ae6ee49e CORD-999 changes to support vlans
Major changes to the DhcpRelay app
   Bug fix to not depend on global variables that can be overwritten
   App is now vlan aware i.e. client and server can be in different vlans
   Added probing of dhcpServer to get mac/vlan instead of configuring these values
   Added optional gateway IP for cases where dhcpServer is "behind" external router
Added support in host monitor for trunk vlan configurations
Javadoc fix in Interface.java
Commented out unused log message in HostLocationProvider
Bug fix to make ALL group editing vlan aware.

Change-Id: Ib04ed6c1ef45055f771983db29724cfde24ac54b
2017-03-07 23:38:27 +00:00
Charles Chan
c6d227e242 Implement an option in CPRM to reprogram the flows when device reconnecting
Also remove unused AsyncDeviceFetcher in FibInstaller

Change-Id: I52e778a51854efd6bfe47c56569efa5c27d7c7fb
2017-03-06 23:52:43 +00:00
Charles Chan
563a7818e2 Disable ARP/NDP forwarding/flooding
In the scenario where subnets and hosts are configured,
flows for forwarding/flooding should be provisioned.
A copy from the control plane will only cause duplication.
Therefore we are turning that off for now.
We might want to revisit this if we want to support ARP/NDP learning in the future.

Change-Id: I5d8d73c4bacdeabe969ce1ea4e24a4268d853df0
2017-03-06 23:37:29 +00:00