controller.git
10 years agoMerge "- Adding hashCode() and equals() method for v6Match - Fixing mac settings...
Alessandro Boch [Thu, 11 Jul 2013 14:40:53 +0000 (14:40 +0000)]
Merge "- Adding hashCode() and equals() method for v6Match - Fixing mac settings in copy constructor"

10 years agoMoved parsing of unknown nodes from implementation to abstract classes. 92/592/1
Martin Vitez [Thu, 11 Jul 2013 12:05:33 +0000 (14:05 +0200)]
Moved parsing of unknown nodes from implementation to abstract classes.

Added more javadocs. Removed unnecessary ConfigNode interface.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoBumped version of yang-prototype to 0.5.4-SNAPSHOT. 83/583/3
Martin Vitez [Wed, 10 Jul 2013 12:01:19 +0000 (14:01 +0200)]
Bumped version of yang-prototype to 0.5.4-SNAPSHOT.

Change-Id: Idacefac91a2d86606debf8a75f6cab2cf1303b98
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoUpdated PoC APIs of Model-driven SAL 81/581/2
Tony Tkacik [Tue, 9 Jul 2013 15:25:36 +0000 (17:25 +0200)]
Updated PoC APIs of Model-driven SAL

  - Bumped version of YANG tools
  - Added Concepts Lang package with reusable tranformator functionality

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded YANG extensions module 80/580/2
Tony Tkacik [Tue, 9 Jul 2013 15:22:53 +0000 (17:22 +0200)]
Added YANG extensions module

  - Added YANG extensions module which defines
    - Context-aware RPCs
    - Named Augmentations

Change-Id: I7b6cb7f579c519dfa726f966df466ad6c9e6aee1
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix null value put in FRM incativeFlows hash map 89/589/2
Alessandro Boch [Thu, 11 Jul 2013 00:23:53 +0000 (17:23 -0700)]
Fix null value put in FRM incativeFlows hash map

- Also renamed ForwardingRulesManagerImpl class to ForwardingRulesManager as already in internal directory
- Minor changes in FlowProgrammerService

Change-Id: I38b46f4ce29b5d6f4dfc0f38db3d3cef960b26ac
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years ago- Adding hashCode() and equals() method for v6Match 88/588/1
Diti Bhatia [Wed, 10 Jul 2013 23:47:46 +0000 (16:47 -0700)]
- Adding hashCode() and equals() method for v6Match
- Fixing mac settings in copy constructor

Signed-off-by: Diti Bhatia <dibhatia@cisco.com>
10 years agoMerge "Add operational port status"
Alessandro Boch [Wed, 10 Jul 2013 22:42:37 +0000 (22:42 +0000)]
Merge "Add operational port status"

10 years agoBug fixes and styling 86/586/1
Yevgeny Khodorkovsky [Wed, 10 Jul 2013 22:04:10 +0000 (15:04 -0700)]
Bug fixes and styling

- Fix using skiplistset on a non-comparable
- Add missing help in SAL Read Service
- Remove incorrect throws clause

Change-Id: I4c3c192124e03f84d3ba5ac97e2c69ca7defdd03
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoAdd operational port status 85/585/1
Andrew Kim [Tue, 9 Jul 2013 17:42:44 +0000 (12:42 -0500)]
Add operational port status

Port status that is operationally down will be colored yellow

Signed-off-by: Andrew Kim <andrekim@cisco.com>
10 years agoMove stats caching to FM StatisticsManager 75/575/7
Yevgeny Khodorkovsky [Mon, 8 Jul 2013 23:36:57 +0000 (16:36 -0700)]
Move stats caching to FM StatisticsManager

This commit is towards HA functionality and includes:
- Cache flow, port, table and description statistics in a cluster
  allocated cache in functional module Statistics Manager
- Add necessary interfaces to allow plugin stats updates
  to propagate up to Stats Manager FM:
  * IOFStatisticsListener - notifies plugin internal components
  * IReadFilterInternalListener - notifies plugin internal
    components (demuxed to containers).
  * IPluginOutReadService - SAL hook for plugins to publish reader
    notifications.
  * IReadServiceListener - SAL service, publishes reader notifications
- Change statistics manager implementation to return cluster
  cached stats instead of calling reader service (Reader service is
  still available).
- Style fixes
- Bug fix: getOFFlowStatistics(switch,match) should consider priority.

Change-Id: I7c7a32102ea43bd4e05444527ad73d2610958603
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoFixed bug in RPC and Generics mapping 82/582/2
Tony Tkacik [Wed, 10 Jul 2013 12:05:17 +0000 (14:05 +0200)]
Fixed bug in RPC and Generics mapping

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoMerge "Maping of union leaf a bits leaf YANG type to JAVA inner classes."
Alessandro Boch [Wed, 10 Jul 2013 17:04:36 +0000 (17:04 +0000)]
Merge "Maping of union leaf a bits leaf YANG type to JAVA inner classes."

10 years agoMaping of union leaf a bits leaf YANG type to JAVA inner classes. 46/546/9
Jozef Gloncak [Tue, 2 Jul 2013 13:38:07 +0000 (15:38 +0200)]
Maping of union leaf a bits leaf YANG type to JAVA inner classes.

Implements following mapping:
- YANG union leaf:
-- leaf name -> name of inner class
-- leaf types -> attributes of inner class
- YANG bits leaf:
-- leaf name -> name of inner class
-- leaf concrete bits - attributes of inner class

Bug fix:
- generation of constant list of regular expression also if no pattern in
  string YANG type is specified

Change-Id: I7c52eef34de610877c3dc0c24d44bb89015c953b
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoMinor code refactoring and improvements. 79/579/2
Martin Vitez [Tue, 9 Jul 2013 15:10:20 +0000 (17:10 +0200)]
Minor code refactoring and improvements.

Change-Id: Ifdc5b45e610037ef14eed6c97885deb1075aa884
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoProactive static flows have to be allowed in container mode 74/574/4
Alessandro Boch [Mon, 8 Jul 2013 21:06:15 +0000 (14:06 -0700)]
Proactive static flows have to be allowed in container mode

ISSUE: Once container are created, setting the forwarding mode to proactive for newly
       joined switches does not result in having the punt flows installed
CHANGE: - Have filtering check in install/uninstall/modify function allow internal
          generated flows when in container mode
        - Also removing uneeded dependecy on IfIptoHost in forwardingrulesmanager
        - Also fix some dependencies in sal activator regarding FlowProgrammer service

Change-Id: Id8a69abb2f3fa948195700a50c30fb368264adf9
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Added default output directory to CodeGeneratorImpl in maven-sal-api-gen-plugi...
Alessandro Boch [Wed, 10 Jul 2013 00:12:25 +0000 (00:12 +0000)]
Merge "Added default output directory to CodeGeneratorImpl in maven-sal-api-gen-plugin. Removed default output directory from yang-maven-plugin."

10 years agoHA cache sync for switch manager 76/576/3
Pramila Singh [Mon, 8 Jul 2013 23:48:04 +0000 (16:48 -0700)]
HA cache sync for switch manager

Change-Id: I00ab53d62f2c7622311ee07fd934c9ce8c000064
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoMerge "Fix for the "without any protocolPluginType provided" error"
Chi-Vien Ly [Tue, 9 Jul 2013 17:49:19 +0000 (17:49 +0000)]
Merge "Fix for the "without any protocolPluginType provided" error"

10 years agoMerge "Fixed bug in maven-yang-plugin."
Alessandro Boch [Tue, 9 Jul 2013 14:55:03 +0000 (14:55 +0000)]
Merge "Fixed bug in maven-yang-plugin."

10 years agoMerge "Added more tests for yang parser. Updated current tests."
Alessandro Boch [Tue, 9 Jul 2013 14:53:42 +0000 (14:53 +0000)]
Merge "Added more tests for yang parser. Updated current tests."

10 years agoMerge "first implementation of yang-data-api"
Alessandro Boch [Tue, 9 Jul 2013 14:53:17 +0000 (14:53 +0000)]
Merge "first implementation of yang-data-api"

10 years agoAdded default output directory to CodeGeneratorImpl in maven-sal-api-gen-plugin. 78/578/1
Martin Vitez [Tue, 9 Jul 2013 11:23:28 +0000 (13:23 +0200)]
Added default output directory to CodeGeneratorImpl in maven-sal-api-gen-plugin.
Removed default output directory from yang-maven-plugin.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix for the "without any protocolPluginType provided" error 77/577/2
Alessandro Boch [Tue, 9 Jul 2013 02:07:45 +0000 (19:07 -0700)]
Fix for the "without any protocolPluginType provided" error

CHANGE: Add a global constant for the "protocolPluginType" key to prevent the key mispell issue again

Change-Id: Icb76cf8775881d41c1792e0c5ce59925276b7e8e
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Ensuring that SET_DL_* action with openflowj only uses OFP_ETH_ALEN bytes...
Alessandro Boch [Mon, 8 Jul 2013 14:53:10 +0000 (14:53 +0000)]
Merge "Ensuring that SET_DL_* action with openflowj only uses OFP_ETH_ALEN bytes, just in case SAL passes more than that."

10 years agoFixed bug in maven-yang-plugin. 73/573/1
Maros Marsalek [Mon, 8 Jul 2013 10:41:32 +0000 (12:41 +0200)]
Fixed bug in maven-yang-plugin.

Yang files in dependencies were not located properly on windows os.

Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
10 years agofirst implementation of yang-data-api 30/530/2
Michal Rehak [Thu, 27 Jun 2013 14:01:29 +0000 (16:01 +0200)]
first implementation of yang-data-api

created maven project
added basic implementations of api
added unit tests
changed api according to implementation

Change-Id: I888371d5a7afc46c843f882bee9bfcaa19d5ccbc
Signed-off-by: Michal Rehak <mirehak@cisco.com>
10 years agoMerge "adding isBroadcast and isMulticast functions to Ethernet"
Alessandro Boch [Fri, 5 Jul 2013 23:37:21 +0000 (23:37 +0000)]
Merge "adding isBroadcast and isMulticast functions to Ethernet"

10 years agoadding isBroadcast and isMulticast functions to Ethernet 71/571/2
Colin Dixon [Fri, 5 Jul 2013 22:50:23 +0000 (17:50 -0500)]
adding isBroadcast and isMulticast functions to Ethernet

Change-Id: I8777ed281261d062b57cbeae00317c955c4b6385
Signed-off-by: Colin Dixon <ckd@us.ibm.com>
10 years agoMerge "Fixing the style checker to ignore the target directories to fix Bug 29"
Alessandro Boch [Fri, 5 Jul 2013 22:49:07 +0000 (22:49 +0000)]
Merge "Fixing the style checker to ignore the target directories to fix Bug 29"

10 years agoFixing the style checker to ignore the target directories to fix Bug 29 70/570/1
Colin Dixon [Fri, 5 Jul 2013 22:35:30 +0000 (17:35 -0500)]
Fixing the style checker to ignore the target directories to fix Bug 29

Change-Id: I83220b06a13c74b0ea18a278ae1ae5fb72aa6e00
Signed-off-by: Colin Dixon <ckd@us.ibm.com>
10 years agoConfiguration Save event sync mechanism using Clustering services. 68/568/1
Madhu Venugopal [Fri, 5 Jul 2013 06:17:37 +0000 (23:17 -0700)]
Configuration Save event sync mechanism using Clustering services.
Every Controller in the cluster will receive a Config save event and the save is performed locally on each of the Controllers.
This is the first step towards the centralized configuration service.

Change-Id: Icbff65117ccb237a4c31091d392b27de43d8ae1d
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoAdded more tests for yang parser. Updated current tests. 66/566/1
Martin Vitez [Thu, 4 Jul 2013 11:50:25 +0000 (13:50 +0200)]
Added more tests for yang parser. Updated current tests.

Improved parsing of deviation statement. Added getDataChildByName method to DataNodeContainerBuilder.
Fixed resolving of pattern constraint.
Renamed YangModelBuilderUtil -> ParserListenerUtils.
Renamed some test files.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Added support to generate types from Choices and Cases added by augmentation."
Alessandro Boch [Wed, 3 Jul 2013 20:31:38 +0000 (20:31 +0000)]
Merge "Added support to generate types from Choices and Cases added by augmentation."

10 years agoMerge "Cache Sync for HostTracker"
Alessandro Boch [Wed, 3 Jul 2013 17:21:19 +0000 (17:21 +0000)]
Merge "Cache Sync for HostTracker"

10 years agoMerge "Fix container flow logic in forwarding rules manager"
Chi-Vien Ly [Wed, 3 Jul 2013 16:54:20 +0000 (16:54 +0000)]
Merge "Fix container flow logic in forwarding rules manager"

10 years agoMerge "Implemented ordering of yang module data nodes. Added Comparators utility...
Alessandro Boch [Wed, 3 Jul 2013 16:14:59 +0000 (16:14 +0000)]
Merge "Implemented ordering of yang module data nodes. Added Comparators utility class. Added checking for duplicate nodes. Added getParent() method to Builder interface. Removed unused TypeDefinitionAwareBuilder interface. Fixed bug in processing augmentation of choice node. Added more logs, javadocs, tests."

10 years agoAdded support to generate types from Choices and Cases added by augmentation. 65/565/1
lsedlak [Wed, 3 Jul 2013 15:37:59 +0000 (17:37 +0200)]
Added support to generate types from Choices and Cases added by augmentation.

Added implementation into BindingGeneratorImpl to suppor of generating Generated Types for Choices and Cases from augmentations;
Extended ChoiceNode API and ChoiceNodeBuilder to getCaseNodeByName methods;
Fixed findSchemaNodeForGivenPath in SchemaContextUtil to support of traversal through Choice and Case nodes in data schema tree;

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
10 years agoImplemented ordering of yang module data nodes. Added Comparators utility class. 44/544/3
Martin Vitez [Tue, 2 Jul 2013 12:13:48 +0000 (14:13 +0200)]
Implemented ordering of yang module data nodes. Added Comparators utility class.
Added checking for duplicate nodes. Added getParent() method to Builder interface.
Removed unused TypeDefinitionAwareBuilder interface.
Fixed bug in processing augmentation of choice node.
Added more logs, javadocs, tests.

Change-Id: I6d7a504cdb516c267d42b99091120649027b453d
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Added topologyNorthbound integration test removed /r Replaced some Assert...
Alessandro Boch [Wed, 3 Jul 2013 01:13:18 +0000 (01:13 +0000)]
Merge "Added topologyNorthbound integration test removed /r Replaced some Assert.assertTrue() with Assert.assertEquaus()"

10 years agoAdded topologyNorthbound integration test 32/532/4
taochang [Fri, 28 Jun 2013 00:21:29 +0000 (17:21 -0700)]
Added topologyNorthbound integration test
removed /r
Replaced some Assert.assertTrue() with Assert.assertEquaus()

Change-Id: I572b10c189372b6f3ece55253fc4eeea80d7f579
Signed-off-by: taochang <taochang@cisco.com>
10 years agoFix container flow logic in forwarding rules manager 45/545/1
Alessandro Boch [Tue, 2 Jul 2013 21:13:06 +0000 (14:13 -0700)]
Fix container flow logic in forwarding rules manager

- In Activator.java:
   + All instances of FRM must be IContainerListener
   + Pass the right cache name in order to have the save config event working in the cluster
- In ForwardingRulesManaerImpl.java:
   + Add container check filtering in the IContainerListener methods
   + In updateFlowsContainerFlow() first uninstall all current flows, then reinstall instead
     of interleave remove/add which could cause conflict failures during installation phase
     as the new entries could conflict with existing old container flow merged flows present
     on the netwrok node
   + minor logs and style changes
- In FlowEntryInstall.java:
   + Fixed a bug where container flow merging was altering the original flow entry

Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Added support to generate interfaces from Choices and Cases."
Alessandro Boch [Tue, 2 Jul 2013 19:58:09 +0000 (19:58 +0000)]
Merge "Added support to generate interfaces from Choices and Cases."

10 years agoMerge "Add help menu"
Alessandro Boch [Tue, 2 Jul 2013 17:47:02 +0000 (17:47 +0000)]
Merge "Add help menu"

10 years agoMerge "HA sync for samples simpleforwarding"
Alessandro Boch [Tue, 2 Jul 2013 17:46:52 +0000 (17:46 +0000)]
Merge "HA sync for samples simpleforwarding"

10 years agoMerge "Restoring basic cache syncing for switch manager Signed-off-by: Pramila Singh...
Alessandro Boch [Tue, 2 Jul 2013 17:46:41 +0000 (17:46 +0000)]
Merge "Restoring basic cache syncing for switch manager Signed-off-by: Pramila Singh <pramisin@cisco.com>"

10 years agoMerge "Added annotations to Latency for northbound usage."
Alessandro Boch [Tue, 2 Jul 2013 14:34:50 +0000 (14:34 +0000)]
Merge "Added annotations to Latency for northbound usage."

10 years agoAdded support to generate interfaces from Choices and Cases. 43/543/1
lsedlak [Mon, 1 Jul 2013 15:47:09 +0000 (17:47 +0200)]
Added support to generate interfaces from Choices and Cases.

Added implementation to support generation of generated types from Choice and Case schema nodes from yang models into BindingGeneratorImpl;
Added test case and test files for test of generation of Generated Types;

Fixed bug in GeneratorUtil when imports were generated wrongly if the name of type was same as the name of interface/class.

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
10 years agoCache Sync for HostTracker 42/542/1
Maurice Qureshi [Tue, 2 Jul 2013 00:34:18 +0000 (17:34 -0700)]
Cache Sync for HostTracker

Signed-off-by: Maurice Qureshi <maquresh@cisco.com>
10 years agoRestoring basic cache syncing for switch manager 39/539/1
Pramila Singh [Tue, 2 Jul 2013 00:09:26 +0000 (17:09 -0700)]
Restoring basic cache syncing for switch manager
Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoWhen containers are present, static flows add/removal/toggling should be blocked... 38/538/2
Alessandro Boch [Mon, 1 Jul 2013 23:40:15 +0000 (16:40 -0700)]
When containers are present, static flows add/removal/toggling should be blocked on default container

    - In FRM have the static flow APIs call the [install/uninstall/modify]FlowEntry() API
      instead of the lower level [add/remove/modify]Entry() functions which do not perform
      the container mode check

Change-Id: I8da638fcc36726f8f2dfe0b6733b49614329c7ab
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "On container removal, all container flows should be uninstalled"
Chi-Vien Ly [Mon, 1 Jul 2013 23:38:18 +0000 (23:38 +0000)]
Merge "On container removal, all container flows should be uninstalled"

10 years agoHA sync for samples simpleforwarding 37/537/1
Diti Bhatia [Mon, 1 Jul 2013 23:10:36 +0000 (16:10 -0700)]
HA sync for samples simpleforwarding

Signed-off-by: Diti Bhatia <dibhatia@cisco.com>
10 years agoAdd help menu 35/535/1
Andrew Kim [Mon, 1 Jul 2013 22:35:40 +0000 (17:35 -0500)]
Add help menu

Hidden for now, each modal contains help option.

Signed-off-by: Andrew Kim <andrekim@cisco.com>
10 years agoCannot install flow with Flood action 36/536/1
Alessandro Boch [Mon, 1 Jul 2013 22:25:07 +0000 (15:25 -0700)]
Cannot install flow with Flood action

- Fixed validation check in FlowConfig
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoOn container removal, all container flows should be uninstalled 34/534/1
Alessandro Boch [Mon, 1 Jul 2013 19:33:23 +0000 (12:33 -0700)]
On container removal, all container flows should be uninstalled

- Have FRM uninstall all the flows on bundle stop

Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoSwitchManager incorrectly treats all ports as span ports and adds them in the spanNo... 33/533/1
Chi-Vien Ly [Mon, 1 Jul 2013 17:51:44 +0000 (10:51 -0700)]
SwitchManager incorrectly treats all ports as span ports  and adds them in the spanNodeConnectors.

Change-Id: I49c2a9c4d583b3aa86f8de8d567f390c721d65ff
Signed-off-by: Chi-Vien Ly <chivly@cisco.com>
10 years agoRefactored parsing of YANG uses statement. 28/528/3
Martin Vitez [Thu, 27 Jun 2013 14:26:12 +0000 (16:26 +0200)]
Refactored parsing of YANG uses statement.

Uses statement now add nodes from referenced grouping to context where uses is defined. Added GroupingMember interface as marker interface for nodes defined in grouping.
Fixed parsing of config statement: when config is not specified, the default is same as parent schema node. If top node does not specify config, default is true.
Added ConfigNode as marker interface for nodes which can contains 'config' statement.
Added AbstractSchemaNodeBuilder as base class for builders of SchemaNode nodes.
Updated tests.

Change-Id: Ibabcf590608bdf482258826fa250692507a71c01
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoAdded following mapping: 22/522/10
Jozef Gloncak [Wed, 26 Jun 2013 09:45:12 +0000 (11:45 +0200)]
Added following mapping:
from:
- subelement >>PATTERN<< of YANG build-in type string
to:
- constant list string >>PATTERN_CONSTANTS<< which contains list of regular expressions specified in >>PATTENR<<
- member class attribute >>patterns<< which is list of Pattern objects.

Change-Id: I47ec9f4a5cd3e7eef85b78189a3788dd2f9e007f
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoAdded annotations to Latency for northbound usage. 31/531/1
patrichu [Thu, 27 Jun 2013 21:05:58 +0000 (14:05 -0700)]
Added annotations to Latency for northbound usage.

Change-Id: Ib5948b3e6a4a5a45863f73c405cb652eba0b5ea7
Signed-off-by: patrichu <patrichu@cisco.com>
10 years agoMerge "Added StatusCode to Response.Status Mapping"
Alessandro Boch [Thu, 27 Jun 2013 19:49:20 +0000 (19:49 +0000)]
Merge "Added StatusCode to Response.Status Mapping"

10 years agoMerge "HA - Cache sync for forwarding.staticrouting"
Alessandro Boch [Thu, 27 Jun 2013 19:48:16 +0000 (19:48 +0000)]
Merge "HA - Cache sync for forwarding.staticrouting"

10 years agoRefactor ForwardingRulesmanager 18/518/4
Alessandro Boch [Fri, 21 Jun 2013 17:09:11 +0000 (10:09 -0700)]
Refactor ForwardingRulesmanager

- Refactor flow entries database in order to remove synchronized methods which hit performance and
  to better accomodate cluster cache syncing:
  - Installed entries as a flat concurrent map of FlowInstallEntry key/elements
  - Modified FlowEntry hashCode function to take into account only the flow parameters which uniquely identify
    a flow entry: node, match and priority. Modified FlowEntryInstall hashCode function to only account install
    FlowEntry hash code.
  - Added a per node and per group index databases for efficiently access node or group flow entries in the flat map
  - Fixed bugs in MatchField hashcode (did not account MAC addresses), added Junit test for hashcode in Match,
    FlowEntry and FlowEntryInstall
- Have flow entries parameter classes implement Serializable so that FRM flow DB is synced across cluster cntroller nodes
- Added api to remove all flows part of a group, uninstallFlowEntryGroup()
- Added a event handler thread in FRM so that FRM does not hog switch handler thread on southbound events processing
- Changed the installation of startup configured static flows from synchronous to asynchronous flow install
- Modified FlowConfig.isValid() to return a status object, changed test code accordingly
- Fixed issue where internal generated static flows (the ones for proactive forwarding switches) were getting removed on container creation
- Fixed Flows GUI which was not showing static flow state correctly
- Minor coding style changes
- Changes tested with 2K static flows on two software switches with a custer of two controllers

Change-Id: Ic4c0167094988c0ebd44763e45541fe728d95ead
Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Bumped version of YANG tools to 0.5.3-SNAPSHOT"
Ed Warnicke [Thu, 27 Jun 2013 16:06:14 +0000 (16:06 +0000)]
Merge "Bumped version of YANG tools to 0.5.3-SNAPSHOT"

10 years agoMerge "Fixed bug in GeneratedPropertyBuilderImpl."
Ed Warnicke [Thu, 27 Jun 2013 16:05:54 +0000 (16:05 +0000)]
Merge "Fixed bug in GeneratedPropertyBuilderImpl."

10 years agoFixed bug in GeneratedPropertyBuilderImpl. 29/529/1
lsedlak [Thu, 27 Jun 2013 14:26:15 +0000 (16:26 +0200)]
Fixed bug in GeneratedPropertyBuilderImpl.

Default value for GeneratedProperty is set to true;
Added extends of AbstractBaseType for EnumerationBuilderImpl, AnnotationTypeBuilderImpl, AbstractGeneratedTypeBuilder and AbstractGeneratedType;

Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
10 years agoBumped version of YANG tools to 0.5.3-SNAPSHOT 27/527/1
Tony Tkacik [Thu, 27 Jun 2013 10:56:15 +0000 (12:56 +0200)]
Bumped version of YANG tools to 0.5.3-SNAPSHOT

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoAdded StatusCode to Response.Status Mapping 25/525/1
Pramila Singh [Thu, 27 Jun 2013 00:26:53 +0000 (17:26 -0700)]
Added StatusCode to Response.Status Mapping

Signed-off-by: Pramila Singh <pramisin@cisco.com>
10 years agoTopology discovery is broken in Active/Active controllers 26/526/1
Alessandro Boch [Thu, 27 Jun 2013 00:25:55 +0000 (17:25 -0700)]
Topology discovery is broken in Active/Active controllers

    ISSUE: Edges which endpoints are managed by different controllers cannot be discovered
           This happens because Discovery discards LLDP frames coming from non-local node connectors
    CHANGES:
    - in processDiscoveryPacket():
      + do not discard LLDP frames coming in from non-local node connectors
      + after discovering an edge, put it in the timeout map (pendingMap) keyed by the incoming port (tail node connector)
    - in doDiscovery():
      + do not add local node connectors to the timeout map (pendingMap)
        This map now contains the time (ticks) elapsed since last LLDP frame was received on the respective node connector.
    - Some style and minor static analysis fix changes

Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoMerge "Performance improvements:"
Alessandro Boch [Wed, 26 Jun 2013 23:47:32 +0000 (23:47 +0000)]
Merge "Performance improvements:"

10 years agoHA - Cache sync for forwarding.staticrouting 23/523/1
Diti Bhatia [Wed, 26 Jun 2013 18:45:28 +0000 (11:45 -0700)]
HA - Cache sync for forwarding.staticrouting

Signed-off-by: Diti Bhatia <dibhatia@cisco.com>
10 years agoMerge "Added support for parsing yang models with already resolved context."
Ed Warnicke [Wed, 26 Jun 2013 12:52:16 +0000 (12:52 +0000)]
Merge "Added support for parsing yang models with already resolved context."

10 years agoMerge "Added YANG models for base concepts in the controller"
Ed Warnicke [Wed, 26 Jun 2013 12:51:58 +0000 (12:51 +0000)]
Merge "Added YANG models for base concepts in the controller"

10 years agoAdded support for parsing yang models with already resolved context. 19/519/4
Martin Vitez [Mon, 24 Jun 2013 09:48:14 +0000 (11:48 +0200)]
Added support for parsing yang models with already resolved context.

Added rebuild method to AugmentationTargetBuilder interface to support augmentation of resolved context.
Refactored YangParserImpl to improve readability, internal utility methods moved to ParserUtils class.
Added test to check parsing with context.
Added YangErrorListener to redirect antlr4 error messages from standard error output to logger.
Added more javadocs.

Change-Id: I838646cc4b3593a03420c1b578ee39c043f89e3d
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoAdded YANG models for base concepts in the controller 97/497/5
Tony Tkacik [Tue, 11 Jun 2013 16:28:05 +0000 (18:28 +0200)]
Added YANG models for base concepts in the controller

  - Added model parent project and model-ietf parent project
  - Added ietf-inet-types and ietf-yang-types YANG modules
    to generate base types defined in YANG
  - Added prototype of topology model in YANG
  - Updated maven sal api gen plugin tu support loading YANG files
    from dependencies.

Change-Id: Id70ef8afd02fbe9d4da5fa844cebe8cb80c3725c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoPerformance improvements: 21/521/1
Jason Ye [Wed, 26 Jun 2013 06:24:00 +0000 (23:24 -0700)]
Performance improvements:

Solution: Use LinkedBlockingQueue with fixed capacity. The MAXQUEUESIZE is now set to 50,000. With the change, the system become stable.

Solution: Implemented more efficient way to compute header checksum. As a result, the throughout has more than doubled.See test results below. Used Cbench for testing.

Before:
RESULT: 16 switches 9 tests min/max/avg/stdev =
9598.35/10395.48/10193.23/225.24 responses/s

After:
RESULT: 16 switches 9 tests min/max/avg/stdev =
28767.44/32073.92/30335.74/999.70 responses/s

Solution: Transmit messages in a tight while loop until the Tx queue is empty.

Signed-off-by: Jason Ye <yisye@cisco.com>
10 years agoMerge "Bug #25: Installing/removing flows with ".""
Alessandro Boch [Tue, 25 Jun 2013 13:55:09 +0000 (13:55 +0000)]
Merge "Bug #25: Installing/removing flows with ".""

10 years agoBug #25: Installing/removing flows with "." 20/520/1
Kalvin Hom [Mon, 24 Jun 2013 20:43:23 +0000 (13:43 -0700)]
Bug #25: Installing/removing flows with "."

Fix for bug #25:
Cannot remove or install flows that have a "."
in their name
http://bugs.opendaylight.org/show_bug.cgi?id=25

By default @RequestMapping is parsing for file
extension types, so anything after the "." gets
lost in the flow name.  This overrides that
behavior so the whole name in "a.b" is used.

Change-Id: I4aeba037aa34e3b61190c91cf43e599969fe5106
Signed-off-by: Kalvin Hom <kahom@cisco.com>
10 years agoMerge "Host updates for Topology"
Alessandro Boch [Mon, 24 Jun 2013 18:09:14 +0000 (18:09 +0000)]
Merge "Host updates for Topology"

10 years agoUI Fix: device popup not appearing 17/517/1
Yevgeny Khodorkovsky [Sat, 22 Jun 2013 01:53:33 +0000 (18:53 -0700)]
UI Fix: device popup not appearing

Change-Id: I8092201c7853823b87b6e98386c048aa238c7b54
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoHost updates for Topology 05/505/2
Kalvin Hom [Wed, 19 Jun 2013 23:02:26 +0000 (16:02 -0700)]
Host updates for Topology

new HostTracker will now properly update
topologyManager when hosts get added/removed.
UI's diagram will now show the hosts.

Change-Id: Ia7b4b9c97fc979fec5cfe147c050c303c06a0add
Signed-off-by: Kalvin Hom <kahom@cisco.com>
10 years agoMerge "HostTracker StaticHost changes"
Alessandro Boch [Thu, 20 Jun 2013 23:56:20 +0000 (23:56 +0000)]
Merge "HostTracker StaticHost changes"

10 years agoMerge "Extended binding-model-api to support of Enclosed Generated Types and TOs."
Alessandro Boch [Thu, 20 Jun 2013 23:50:01 +0000 (23:50 +0000)]
Merge "Extended binding-model-api to support of Enclosed Generated Types and TOs."

10 years agoMerge "Fix container authorization - front end"
Alessandro Boch [Thu, 20 Jun 2013 16:02:26 +0000 (16:02 +0000)]
Merge "Fix container authorization - front end"

10 years agoExtended binding-model-api to support of Enclosed Generated Types and TOs. 08/508/2
lsedlak [Wed, 19 Jun 2013 15:26:23 +0000 (17:26 +0200)]
Extended binding-model-api to support of Enclosed Generated Types and TOs.

Added javadocs for whole binding-model-api project (including builders);
Refactored model structure for MethodSignature - added TypeMember interface which extracts common functionality for methods and properties.
MethodSignature and GeneratedProperty now extends TypeMember.
Added TypeMemberBuilder interface.

In Binding-generator-util project Refactored whole Building mechanism - removed code duplicities and added more abstraction layeres for abstract builders.
Automaticly modified all dependant project java files that uses binding-model-api.
Added isAbstract flag method into GeneratedType interface and setAbstract method into GeneratedTypeBuilder to notify if generated type (class) is declared as abstract.
Added isAbstract flag method into MethodSignature interface and setAbstract method into MethodSignatureBuilder to notify if generated method is declared as abstract.
Fixed bug (bad typecast) when resolving Identityref type definition in TypeProviderImpl in binding-generator-impl.

Added Support to generate Bits types - JG.

Change-Id: I983cdad79c8779940e75937f97ba0575e753830e
Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoAdd Packet code for vlan tagged ethernet frames 07/507/1
Tetsuhiro Sato [Wed, 19 Jun 2013 23:59:52 +0000 (16:59 -0700)]
Add Packet code for vlan tagged ethernet frames
also Fix bug in BitBufferHelper.java

Change-Id: I64d5787a44772d1c93ddb3c6fbc58eba55e07160

Signed-off-by: Tetsuhiro Sato <tetsusat@cisco.com>
10 years agoEnsuring that SET_DL_* action with openflowj only uses OFP_ETH_ALEN 06/506/1
Srini Seetharaman [Wed, 19 Jun 2013 23:18:31 +0000 (16:18 -0700)]
Ensuring that SET_DL_* action with openflowj only uses OFP_ETH_ALEN
bytes, just in case SAL passes more than that.

Signed-off-by: Srini Seetharaman <srini.seetharaman@gmail.com>
10 years agoFix container authorization - front end 04/504/1
Yevgeny Khodorkovsky [Wed, 19 Jun 2013 22:43:27 +0000 (15:43 -0700)]
Fix container authorization - front end

This complements commit 168aaa8d2474bc82f1fac82521cf93e53e362df7

Change-Id: I40c32907050da81902065e5d73e0213f20a05252
Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
10 years agoMerge "Added validation of range and length constraints. Fixed base range constraints...
Ed Warnicke [Wed, 19 Jun 2013 17:40:16 +0000 (17:40 +0000)]
Merge "Added validation of range and length constraints. Fixed base range constraints of yang uint built-in types. Made rpc input and output statement optional. Changed formatting of files to conform new sun_coding_style template. Added more tests."

10 years agoMerge "Fix collateral caused by split of UserManager in api and implementation"
Madhu Venugopal [Wed, 19 Jun 2013 03:40:42 +0000 (03:40 +0000)]
Merge "Fix collateral caused by split of UserManager in api and implementation"

10 years agoHostTracker StaticHost changes 01/501/1
Kalvin Hom [Wed, 19 Jun 2013 00:08:53 +0000 (17:08 -0700)]
HostTracker StaticHost changes

Added "staticHost" attribute for Device
so ported HostTracker can distinguish
between dynamically discovered hosts
and static hosts given through the API.

Implemented the add/remove/get static host
methods.

Change-Id: I1374b6c40919c6f31b48c8191bf2021620a9509d
Signed-off-by: Kalvin Hom <kahom@cisco.com>
10 years agoFix collateral caused by split of UserManager in api and implementation 99/499/1
Alessandro Boch [Tue, 18 Jun 2013 15:27:01 +0000 (08:27 -0700)]
Fix collateral caused by split of UserManager in api and implementation

    - Login into web UI is broken in presence of multiple controller because
      infinispan fails marshalling cache for ActiveUser and exception is thrown.
      This is because ActiveUser class is not visible, being part of user manage
      implementation, not being exported.
    - Proposed fix is to move ActiveUsers class in user manager api.
      Also moved respective Junit.

Signed-off-by: Alessandro Boch <aboch@cisco.com>
10 years agoThe reverse method in Match clones the current object and swaps the reversible match... 96/496/1
Madhu Venugopal [Tue, 18 Jun 2013 07:51:11 +0000 (00:51 -0700)]
The reverse method in Match clones the current object and swaps the reversible match fields.
While doing so, it fails to reset the field in the cloned object if the corresponding reversible field is not present.

Change-Id: I0a2356ac9d4f0306f77afa2c3aa7908277c4c30e
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
10 years agoUpdate visual topology adjacency data structure 95/495/1
Andrew Kim [Tue, 18 Jun 2013 01:06:43 +0000 (20:06 -0500)]
Update visual topology adjacency data structure

Add additional field to each adjacency. The source node port description
and the destination node port description.

Signed-off-by: Andrew Kim <andrekim@cisco.com>
10 years agoMerge "Adding container authorization code in web bundles"
Madhu Venugopal [Mon, 17 Jun 2013 21:39:29 +0000 (21:39 +0000)]
Merge "Adding container authorization code in web bundles"

10 years agoFix CacheUpdateAware mechanism in cluster.services-implementation 93/493/1
Giovanni Meo [Mon, 17 Jun 2013 14:57:43 +0000 (16:57 +0200)]
Fix CacheUpdateAware mechanism in cluster.services-implementation
bundle

- Add the logic for clustering.services_implementation bundle to track
all the ICacheUpdateAware services and to relate them to a container
or a global context. Make sure to be able to handle the service
registering and unregistering case. In case of
registration/deregistration of an ICacheUpdateAware check for the
"cacheNames" property and then use it for learning for what caches the
updates will be generated. Also make sure in phase of registration if
there is an attempt to override a registration for an existing cache
to avoid it and to raise an error message.
- Given the LDAP filter that allows to track for the global
ICacheUpdateAware services match also the per-container ones, make
sure that ClusterGlobalManager filter them out before reaching the
ClusterManagerCommon, in fact that would prevent to handle seamlessly
the case of cache name being the same in global context as well
per-container.
- Removed stale OSGi declarative service file in
clustering.services-implementation bundle.
- Created extensive integration test case for clustering.services to
make sure the logic is correct and automatically tested.
- Added two new ServiceHelper methods that allow to register and OSGi
service and to get back a ServiceRegistration, extremely useful in
integration tests to test difference between when a service is present
and when it's gone.
- Added logback.xml for the unit tests of
clustering.services-implementation bundle to avoid to print out infos
while executing the unit test that would be useless
- Modified ClusteringServicesIT to use the versionAsInProject on all
the configured bundles, so to avoid too much manual sync process
between the versions in the POM and in the configuration

Change-Id: Id1ae2e22e2896df686a377fd3ae9f232f3545bca
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
10 years agoAdded validation of range and length constraints. 92/492/1
Martin Vitez [Mon, 17 Jun 2013 13:04:54 +0000 (15:04 +0200)]
Added validation of range and length constraints.
Fixed base range constraints of yang uint built-in types. Made rpc input and output statement optional.
Changed formatting of files to conform new sun_coding_style template. Added more tests.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Recent Usermanager impl and api split broke Web UI. Fixing it here."
Alessandro Boch [Sat, 15 Jun 2013 16:09:37 +0000 (16:09 +0000)]
Merge "Recent Usermanager impl and api split broke Web UI. Fixing it here."

10 years agoMerge "Add IfNewHostNotify to DeviceManager"
Giovanni Meo [Sat, 15 Jun 2013 09:14:15 +0000 (09:14 +0000)]
Merge "Add IfNewHostNotify to DeviceManager"

10 years agoRecent Usermanager impl and api split broke Web UI. Fixing it here. 91/491/1
Madhu Venugopal [Sat, 15 Jun 2013 01:24:17 +0000 (18:24 -0700)]
Recent Usermanager impl and api split broke Web UI. Fixing it here.

Change-Id: Id34831eeda5593aed996d731af0907bda8fd7a18
Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>