257 Commits

Author SHA1 Message Date
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
Charles Chan
7e4f81968e Eliminate code duplication
Change-Id: I79129b1dbcbba169b143730f89a38db64f5e460f
2017-03-06 23:31:29 +00:00
Charles Chan
7ffd81fdfa CORD-906 Support trunk and native VLAN
- Include trunk L2IG in L2F
- Populate bridging rules for trunk vlan
- Extend populateVlanMacFilters to generate filtering obj for trunk port
- Extend host handler to check vlan mismatch between host and interface
  (Temporarily disabled for now. Check TODOs in the code for detail.)
- Extend getForwardingObjectiveBuilder in RoutingRulePopulator to support tagged host

Change-Id: Id168a02015f58b0957ba43ad7c52798029d895bc
2017-03-06 23:25:45 +00:00
Charles Chan
f6ec153756 Refactor SR and OFDPA pipeliner
populateRouterMacVlanFilters -> populateVlanMacFilters
hostFwdObjBuilder -> bridgingFwdObjBuilder
getForwardingObjectiveBuilder -> routingFwdObjBuilder
refactor pipeline initialization

Change-Id: I94932cde5155706571085ff41cb4ef63e2a39844
2017-03-06 23:18:05 +00:00
Charles Chan
59cc16d9ee CORD-800 Use new interface vlan config for VLAN assignment
In addition
  - Change the name and type of INTERNAL_VLAN

Change-Id: I48bb89cc1cb1fe4155b4d889b1e7384c8bf673fa
2017-03-06 11:04:06 -08:00
Charles Chan
0aa674ea00 Unregister neighbor handler when deactivating segment routing
Change-Id: Ibcc1d8ccbcb5b64fbb77e2e857885df7d3cf6500
2017-02-23 15:44:08 -08:00
Saurav Das
018605fb4e In this commit: CORD-799
Bug fix for host-update to not remove and add the same IP addr
   NPE fix in ofdpa3pipeline
   Removing unused code in ofdpa2pipeline
   Ability to add or revoke port filters for port-updates
   Retry filters retry for a longer time
   Bug fix for suppress ports to not suppress filters
   Filters now sent only by master instance
   Removing the MPLS BOS=0 rules for now until inconsitent hardware behavior is fixed

Change-Id: I8b4ee4af6de263531e0696af86e65f1c502f5f85
2017-02-23 00:25:41 +00:00
Jon Hall
8c7b06ad07 Remove unnessasry semicolons
Change-Id: I8363e54ecaf80ad0a755d997ca1b9bbae2f1fa6e
2017-02-22 23:05:51 +00:00
Charles Chan
7a068749ee Fix the format of warning msg
Change-Id: I82a02bd088b025d4483297e46c64f63653a63663
2017-02-16 17:25:54 -08:00
Ray Milkey
54a78514d2 Starting snapshot 1.10.0-SNAPSHOT
Change-Id: Icd6983be6a52293fb8a846a02d5e314c2c7aeaf0
2017-02-13 11:13:52 -08:00
Ray Milkey
57b510152e Starting snapshot 1.10-SNAPSHOT
Change-Id: I800d5d9e7f23793f5288457bca449ca382896723
2017-02-13 11:06:55 -08:00
Ray Milkey
de84cdde9a Starting snapshot 1.9.0-SNAPSHOT 2017-02-13 10:54:12 -08:00
Ray Milkey
8588c48114 Tagging 1.9.0-b3 2017-02-13 10:52:31 -08:00
Pier Luigi
3bfe32ced0 [CORD-640] PW clean up.
Changes:
- Re-enable the pop mpls action for PW;
- OFDPA 3.0 has some changes in the pipeline
which don't allow the VLAN pop in the PW termination;

Change-Id: I42b5a3fe4b703d9c9af083768fb6b2decd6f54d7
2017-02-10 18:09:15 +00:00
Pier Ventre
70d53ba510 Implements [CORD-587] and [CORD-588]
Changes:
- Add termination in SR app;
- Add termination in the drivers

Change-Id: Ia9bb31c2c2e20acab8d6bfe27113f7421a8b83da
2017-02-10 18:03:33 +00:00
Pier Ventre
42287df667 Implements [CORD-96] and [CORD-410]
Changes:
- Introduces L2TunnelHandler for managing the pws;
- Supports pws initiation and pws policy for olt<->vsg communication;
- Supports teardown and update;

Change-Id: If51272c91445f618727434606edd2491f93cc4dd
2017-02-10 17:58:03 +00:00
Pier Ventre
f34966c5fc Implements [CORD-546]
Changes:
- Adds new l2 tunnel and l2 tunnel policy;
- Extends cfg of the apps;
- Implements CRUD interfaces through netcfg;

Change-Id: I1a295da605e2496f4883f63fa5f6eca16e627d43
2017-02-10 17:46:28 +00:00
Pier Ventre
917127ab8d [CORD-575] Implements VPWS transport in SR app
Changes:
- Enables the BoS==False use case;
- Adds RandomNeighborSet to emulate the hashing;

Change-Id: I5cc05eb25f5185e612061880fcdb194ed71277d8
2017-02-09 22:15:29 +00:00
Pier Luigi
9b1d626905 [CORD-783] Greedy learning of IPv6 hosts
- Opportunistic learning of IPv6 link local addresses

Change-Id: Ic94a8239c1ae81fc83453d1a29dfc8bd9803b531
2017-02-07 18:04:22 +00:00
Pier Luigi
721b662f5f Small fixes to SR
Change-Id: I4dfdbea082048bd48ea9be0a3bfea381ca395962
2017-02-06 18:25:33 +00:00
Charles Chan
e7926850ae Component config changes after vRouter becomes separate apps
- SR no longer needs to turn SSFI off using component config since SSFI is now an ONOS app.
- Distributed Route Store is now enabled by FpmManager instead of vRouter

Change-Id: Ia5665ffc9bdb4cd126868b3c829aedda713b53f4
2017-02-06 16:33:55 +00:00
Charles Chan
0b77bdda01 Fix Segment Routing dependency
Change-Id: Ifa74558d39944d6e20e6f8b34558ffc793c42784
2017-02-03 22:26:06 +00:00
Pier Luigi
7dad71ce54 Adding small handler to ICMPHandler
Change-Id: I8401c1564cc8aa89f8e3767ae83ec56c0dfe6fd0
2017-02-03 01:14:20 +00:00
Pier Luigi
0e35863305 Various fixes:
- Adds the support for the filter obj of AppConfigHandler;
- Fixes NPE on ICMP handler when rcving a packet from not configured ntw;

Change-Id: I44b90420429ca05927426bdf9a9ce4b78846b566
2017-02-03 00:59:51 +00:00