packetcable.git
8 years agoAdd missing license headers to packetcable-driver gates 45/31445/1
Thanh Ha [Wed, 16 Dec 2015 15:25:37 +0000 (10:25 -0500)]
Add missing license headers to packetcable-driver gates

Change-Id: I694943fd0e25e75698d9bbe8615ffc28dfb7655b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoAdd missing license headers to packetcable-driver concurrent 44/31444/1
Thanh Ha [Wed, 16 Dec 2015 15:21:00 +0000 (10:21 -0500)]
Add missing license headers to packetcable-driver concurrent

Change-Id: I164d0844e27149b9738909c5dc85fba95b3fa9c9
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoAdd missing license headers to packetcable-driver base 43/31443/1
Thanh Ha [Wed, 16 Dec 2015 15:15:23 +0000 (10:15 -0500)]
Add missing license headers to packetcable-driver base

Change-Id: I28b6dc3e42e79df89acb56f80c5e6b2842138a12
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoAdd missing license headers to packetcable-emulator 42/31442/1
Thanh Ha [Wed, 16 Dec 2015 15:13:03 +0000 (10:13 -0500)]
Add missing license headers to packetcable-emulator

Change-Id: I73e1d5d080c30ac8b1179429ede2228ad97dc147
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agofixed usage of optional and fixed bug in ccap validator test 13/31313/1
Ryan Vail [Mon, 14 Dec 2015 22:52:18 +0000 (15:52 -0700)]
fixed usage of optional and fixed bug in ccap validator test

Switched to guava Optional so java 7 compiles as well.
Fixed validation issue in CcapsValidatorTest

Change-Id: I816268503c44166767f8aae6fc4854db963e2ea7
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoMerge "Minor fixes and adding unit testing for validators"
Brian Otte [Mon, 14 Dec 2015 22:09:03 +0000 (22:09 +0000)]
Merge "Minor fixes and adding unit testing for validators"

8 years agoMinor fixes and adding unit testing for validators 06/31306/1
Ryan Vail [Tue, 8 Dec 2015 17:21:55 +0000 (10:21 -0700)]
Minor fixes and adding unit testing for validators

-Renamed GateSpecValidatator to GateSpecValidator
-Added null checks to a few foreach loops
-Added new JUnit Rule, Params to add Parametrized testing with a developer friendly interface.
-Lots of tests added for validation code

Change-Id: I3ce0b8c0d3698cf2ef364c5b9862bc152af7b586
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoMerge "Refactored validator implementation"
Brian Otte [Wed, 9 Dec 2015 15:33:18 +0000 (15:33 +0000)]
Merge "Refactored validator implementation"

8 years agoAdd LICENSE files for Packetcable project and COPS libraries 21/31021/3
kkershaw [Mon, 7 Dec 2015 23:40:19 +0000 (16:40 -0700)]
Add LICENSE files for Packetcable project and COPS libraries

Add DCO document for COPS (JCOPS) libraries;
Add missing copyright statements on CableLabs-developed code
at COPS top level.

Change-Id: I403407fcf8a81b53f69bdd83b3efcdaf82bc1cb0
Signed-off-by: kkershaw <k.kershaw@cablelabs.com>
8 years agoRefactored validator implementation 16/31016/1
Ryan Vail [Tue, 8 Dec 2015 14:45:19 +0000 (07:45 -0700)]
Refactored validator implementation

AbstractValidator now handles pre/post validate tasks and subclasses implement doValidate() for the validation.

Change-Id: Ia6d5cfe60ea8a37e87e55b478a1d802895822511
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoAdding support for multiple classifiers per gate 65/30165/1
Ryan Vail [Thu, 19 Nov 2015 16:21:52 +0000 (09:21 -0700)]
Adding support for multiple classifiers per gate

- updated yang, provider, and driver code to support multiple classifiers per gate
- updated validation code for changes in yang
- update example postman collection for changes
- Fixed bug where classifierID was never being set to anything besides 0

Change-Id: I97cd81de9e1874c53e6383d7082b74c5a4726736
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoAdded response data to operational datastore, refactored data validation 56/29656/1
Ryan Vail [Thu, 29 Oct 2015 16:26:47 +0000 (10:26 -0600)]
Added response data to operational datastore, refactored data validation

Update yang file to have response data in operation datastore
Response data for ccap and qos/gate data added.
Validation code refactored into several classes to make maintenance and testing easier (Tests not yet written)
Extended MdsalUtils with read, put methods
Created AbstractDataChangeListener to help with new incoming data
Divided DataChangeListiing into two classes one for packetcable:ccaps and one for packetcable:qos
Added a few new items to the postman collection with operational DS fetches and bad puts for testing

Change-Id: I4054bbbf893476327fc39610a47bfa564024610a
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoUpdated model yang file to use recommended practices found on wiki, then updated... 24/28824/1
Ryan Vail [Mon, 26 Oct 2015 15:49:43 +0000 (09:49 -0600)]
Updated model yang file to use recommended practices found on wiki, then updated binding aware code.

ODL wiki recommends
- All lists should be in a container
- The name just after the list should be singular since it is the element name not the list name
- The outer container should be plural

Updated yang file to do the recommended things, then updated code to match the updated yang generated bindings.

Change-Id: Idafb6b3205fa5ca5d99acc56c7c2b19b8eb4200f
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoCleaned up Subnet.java and added/extended unit tests. 60/28360/2
Ryan Vail [Wed, 14 Oct 2015 01:32:34 +0000 (19:32 -0600)]
Cleaned up Subnet.java and added/extended unit tests.

Subnet.java
  - Reordered modifiers to standard java lang spec order
  - Improved equals() with checks for null and this
  - Improved hashCode() by using all member vars used in equals().
  - Added braces to all if/else statements
  - Added constructor argument checks to ensure valid objects are created.
  - Renamed member variables to clearly identify what they are
  - Added javadoc
  - Added @Nullable and @Nonnull as appropriate

SubnetTest.java
  Fleshed out tests to cover all methods and cover more corner cases

PS2: minor javadoc error fix

Change-Id: I2b8097b096ee707ade064f6e583f72aba244e509
Signed-off-by: Ryan Vail <r.vail@cablelabs.com>
8 years agoMigration to use MD-SAL Project 64/26364/4
Tony Tkacik [Wed, 2 Sep 2015 14:13:30 +0000 (16:13 +0200)]
Migration to use MD-SAL Project

Change-Id: I41ed57fe7bb78b75881b87409a81ac43695a80d6
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
8 years agoMigrate restconf dependency 07/26507/1
Tomas Cere [Fri, 4 Sep 2015 12:20:29 +0000 (14:20 +0200)]
Migrate restconf dependency

Change-Id: I7f53fdd610e1297159e1a82c55483888e21a6c79
Signed-off-by: Tomas Cere <tcere@cisco.com>
8 years agoMoved emulator classes out of driver module. 69/25269/3
Steven Pisarski [Thu, 13 Aug 2015 21:54:50 +0000 (15:54 -0600)]
Moved emulator classes out of driver module.

Change-Id: I0e936e37006930da5e8db1ef244c30bf4f85ad33
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoMerge "Removed original Hydrogen demo from repo."
Brian Otte [Mon, 24 Aug 2015 20:31:38 +0000 (20:31 +0000)]
Merge "Removed original Hydrogen demo from repo."

8 years agoRemoved original Hydrogen demo from repo. 70/25270/1
Steven Pisarski [Thu, 13 Aug 2015 22:14:02 +0000 (16:14 -0600)]
Removed original Hydrogen demo from repo.

Change-Id: I65f3f9bf9d3f095eac5d3d207b49c15ece598cca
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoRefactor PCMM aspects of COPS message data objects. 61/25261/1
Steven Pisarski [Thu, 13 Aug 2015 18:52:28 +0000 (12:52 -0600)]
Refactor PCMM aspects of COPS message data objects.

Made immutable, added enumerations & unit tests.

Change-Id: I47f44fe2a863d9d933902bc33bb11046613728ef
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoMerge "Remove "response" from yang."
Brian Otte [Wed, 12 Aug 2015 19:20:54 +0000 (19:20 +0000)]
Merge "Remove "response" from yang."

8 years agoRemove "response" from yang. 39/24439/12
Alexis de Talhouët [Wed, 22 Jul 2015 20:00:14 +0000 (16:00 -0400)]
Remove "response" from yang.

Once pushing an object to the DS/config, if it's config is not correct,
instead of updating the object by setting the "response" field to know the reason,
the object is deleted and the message that was previously shown in
the "response" is logged at the error level.

This patch also reconciliate CCAP on restart.

Change-Id: I92fbe38d4519d21079341b618e244db8e51cc6c5
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
8 years agoRemove deprecated modules. 42/24442/5
Alexis de Talhouët [Wed, 22 Jul 2015 21:33:15 +0000 (17:33 -0400)]
Remove deprecated modules.

Thoses modules were deprecated in Lithium, and now obsolete for Berryllium.

Change-Id: I938f337c06381bce10fc30574aabb569b975a3e2
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
8 years agoMerge topic 'clean-up'
Steve Pisarski [Wed, 22 Jul 2015 21:58:11 +0000 (21:58 +0000)]
Merge topic 'clean-up'

* changes:
  Relocate config subsystem.
  Refactor pom files to reflects right parents.

8 years agoMerge "Explicitly set git-review branch to master"
Steve Pisarski [Wed, 22 Jul 2015 21:51:13 +0000 (21:51 +0000)]
Merge "Explicitly set git-review branch to master"

8 years agoRelocate config subsystem. 37/24437/6
Alexis de Talhouët [Wed, 22 Jul 2015 18:07:41 +0000 (14:07 -0400)]
Relocate config subsystem.

This patch remove packetcable-policy-config and relocate the config
substystem under packetcable-policy-server/src/main/config

Change-Id: I4a27208d3ddb4bb9a5f8bd63bd01d6ae7eac85e3
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
8 years agoRefactor pom files to reflects right parents. 06/24406/3
Alexis de Talhouët [Wed, 22 Jul 2015 18:07:41 +0000 (14:07 -0400)]
Refactor pom files to reflects right parents.

Also rename the config file to default-config
Change the broker to be binding-osgi-borker

This patch doesn't fix the following issue: https://gist.github.com/adetalhouet/9ef2ae2f57533ded5cd5

Change-Id: I8364ec693344c1550225e4f44a77dfd6a68deecb
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
8 years agoExplicitly set git-review branch to master 24/24424/1
Thanh Ha [Wed, 22 Jul 2015 19:23:47 +0000 (15:23 -0400)]
Explicitly set git-review branch to master

Change-Id: I89bd234ad8cd6597b29e767151564147d5c53d79
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
8 years agoFix issue on shutdown. 58/24358/1
Alexis de Talhouët [Tue, 21 Jul 2015 19:44:01 +0000 (15:44 -0400)]
Fix issue on shutdown.

On shutdown, former behaviour was deleting ccap and qos from the operational datastore directly.
But at no point those were initialized. So if no action was perfomed by the user, we could see the attached log.

I think all we need is the close the ListenerRegistration and eveything will be deleted on the operational datastore.

associated logs: https://gist.github.com/23396b108c1742b9299b

Change-Id: I1816387787deb7e441a55df3dd58c9ccaf892d4e
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
8 years agoMerge "Replaced bitwise operator usage with java lang APIs for robustness. Had found...
Brian Otte [Wed, 24 Jun 2015 20:20:20 +0000 (20:20 +0000)]
Merge "Replaced bitwise operator usage with java lang APIs for robustness. Had found that some of the bitwise operator usages were not always returning the expected result."

8 years ago\rModified JUnit tests to allow IP Address form of 'localhost' to support Windows... 40/23240/1
botte [Wed, 24 Jun 2015 18:40:31 +0000 (19:40 +0100)]
\rModified JUnit tests to allow IP Address form of 'localhost' to support Windows development.

Change-Id: I9c9ba3937a2608a263a44069888b2d1b2f981d0e
Signed-off-by: botte <b.otte@cablelabs.com>
8 years agoReplaced bitwise operator usage with java lang APIs for robustness. Had found that... 05/22805/2
Steven Pisarski [Wed, 17 Jun 2015 15:41:36 +0000 (09:41 -0600)]
Replaced bitwise operator usage with java lang APIs for robustness. Had found that some of the bitwise operator usages were not always returning the expected result.

Change-Id: I6a0d62da87acd3fa448245a990a739276fc3b7c9
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoMoved CMTS emulator to its own module so it can either be run standalone or be used... 28/22728/2
Steven Pisarski [Tue, 16 Jun 2015 20:01:50 +0000 (14:01 -0600)]
Moved CMTS emulator to its own module so it can either be run standalone or be used for unit testing for other modules.

Change-Id: Id090efb3bd3ef674fc927d1820ec0f0330a002b8
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoMoving fix by Tony Tkacik in the stable/lithium branch which caused an error with... 20/22620/2
Steven Pisarski [Mon, 15 Jun 2015 14:40:19 +0000 (08:40 -0600)]
Moving fix by Tony Tkacik in the stable/lithium branch which caused an error with the integration tests during installation of the packetcable-provider bundles where it would sometimes start before MD-SAL.
Added packatcable models to required capabilities.

Change-Id: I1c6b69caae50b4f665929a82e1bb4acbd807ecec
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoIncrementing versions by 0.1.0 for post-lithium master branch 62/21562/1
Steven Pisarski [Mon, 1 Jun 2015 15:01:03 +0000 (09:01 -0600)]
Incrementing versions by 0.1.0 for post-lithium master branch

Change-Id: Ifa263400974b51b7712b97f3566b43ba7799effc
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoJunit Test for PacketCable-policy-server project 87/20987/3
mserngawy [Fri, 22 May 2015 14:34:06 +0000 (10:34 -0400)]
Junit Test for PacketCable-policy-server project

Change-Id: I0daee091e3def42123b510d7aa8a3aa07483e11f
Signed-off-by: mserngawy <melserngawy@inocybe.com>
8 years agoCleanup tests. 79/20679/1
Steven Pisarski [Mon, 18 May 2015 21:59:18 +0000 (15:59 -0600)]
Cleanup tests.

Change-Id: I7869a5d2f3db56ca0633c819383e6d5a5576085e
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoAdded sample mock CMTS configuration. 77/20677/1
Steven Pisarski [Mon, 18 May 2015 21:49:00 +0000 (15:49 -0600)]
Added sample mock CMTS configuration.
TODO - Will need to implement some configuration file.

Change-Id: I81a977bb0c4129710b12ca7949be2c9ab690ec90
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoAdded logic for the PacketcableProvider class to manage failed gate requests as well... 76/20676/1
Steven Pisarski [Mon, 18 May 2015 21:35:39 +0000 (15:35 -0600)]
Added logic for the PacketcableProvider class to manage failed gate requests as well as successful.
This will ensure that the ODL restconf state and the plugin's will remain in sync. Previously, should a failed gate set be made then deleted, ODL/restconf would no longer display the gate info but it was impossible to create a new one with the same ID as the plugin would say it already existed.

Change-Id: I1b0e1b5540225d7b2afda47aaa7c8bf3f46c9508
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoFixing the setting of the DSCP_TOSOverwrite value with the DSCPTOS object to write... 75/20675/1
Steven Pisarski [Mon, 18 May 2015 21:30:31 +0000 (15:30 -0600)]
Fixing the setting of the DSCP_TOSOverwrite value with the DSCPTOS object to write the value to correct element of the data byte array.
The setter that uses the byte value was correct and set index 1 where the other setter was setting the byte value to index 2.
Gate COPS data will need additional unit testing and really should be refactored for normalization and semantics.

Change-Id: I719f186d661b3749ed7d9f9f3bef20a7323d4910
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoImproved thread error handling. 73/20673/1
Steven Pisarski [Mon, 18 May 2015 21:29:17 +0000 (15:29 -0600)]
Improved thread error handling.

Change-Id: I5bcde1b086d3abbcbc13740e6979515e17b8781b
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
8 years agoSample restconf calls using Google Postman with 2 different environments. 72/20672/1
Steven Pisarski [Mon, 18 May 2015 21:23:58 +0000 (15:23 -0600)]
Sample restconf calls using Google Postman with 2 different environments.

Change-Id: Ic97cefc3af97230f8523873b4fcc19374f01d667
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoExpanded CMTS emulator to respond properly to gate add requests. 03/20303/1
Steven Pisarski [Wed, 13 May 2015 22:41:12 +0000 (16:41 -0600)]
Expanded CMTS emulator to respond properly to gate add requests.
Futher expansion needed for gate deletes and the addition of some more validations around the tests contained in PCMMServiceTest. Additionally, the mock CMTS should be moved into its own module as well as adding command line configuration options.

Change-Id: Id72e1c14ad015c76ef3e50824f22555a00f8a267
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoCleanup of state managers' interfaces (constructor and init). 56/20056/2
Steven Pisarski [Mon, 11 May 2015 21:34:13 +0000 (15:34 -0600)]
Cleanup of state managers' interfaces (constructor and init).
All state managers now will be constructed with a socket object and removed the socket from the initialization routine for PEP managers and removed the initialization routine completely from the PDP managers. Additionally, moved out the logic to process a gate request placed in earlier into COPSPepReqStateMan while testing the packetcable-policy-server. In lieu of removing the aformentioned logic, I also deactivated the PCMMServiceTest#testAddAndRemoveUpGate() test case which will be reactivated after CmtsPepReqStateMan is checked in with additional PCMMService tests.

Change-Id: I2b4c65efd35957f1d2d25aefa0270f95d1800559
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRemoved Main.java as it does not do anything and the commented out interfaces have... 49/20049/2
Steven Pisarski [Mon, 11 May 2015 19:08:00 +0000 (13:08 -0600)]
Removed Main.java as it does not do anything and the commented out interfaces have also been removed.

Change-Id: Ia041bd2056008ebc85837fc2f700581c85c035c7
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRemoval of interfaces used by the packetcable-consumer bundle that has neither been... 46/20046/2
Steven Pisarski [Mon, 11 May 2015 17:54:31 +0000 (11:54 -0600)]
Removal of interfaces used by the packetcable-consumer bundle that has neither been activated nor tested.
The each policy server instance connects to a CMTS but the gate control interfaces do not have any parameters to tell the CMTS which gates to set, delete, or query for the given CMTS. The implementation being removed (PCMMPolicyServer$PSCMTSClient) only supports a single gate per CMTS while multiple gates must be supported.

Change-Id: I094803732cbdd5f92b52e40ca742cfa36008d6f7
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMerge changes Ic442b16e,Ibeb2c05b,Ibadb787a,I5fd9b5dd,Ia751f131, ...
Thomas Kee [Fri, 8 May 2015 23:22:54 +0000 (23:22 +0000)]
Merge changes Ic442b16e,Ibeb2c05b,Ibadb787a,I5fd9b5dd,Ia751f131, ...

* changes:
  Fixed exception handling when shutting down a COPS/Ccaps connection.
  Had to change the key to a map from a yang generated class to the object's ID. This issue may be due to some unintended changes to the code responsible for generating the data model that seem to surround the generated hashCode() method.
  Refactor shared attributes and methods to the PEP agent super COPSPepAgent.
  Refactor of PDP Agent code. Moved shared functionality up the the super COPSPdpAgent. Clarified purpose of the class by removing the extension of the Thread class as the agent is responsible for creating the persistent connection via the COPSPdpConnection class not itself. It appears that the class was originally meant handle COPS messages at one point but the run() method or extension of Thread was never removed after adding the connection object.
  Complete PDP connection refactor. Fixed error handling in run() and moved the addition of new state managers up to the super.
  Moved all identical attributes and methods from COPSPdpConnection & COPSPepConnection to COPSConnection.
  Completed COPS PEP request state manager refactor primarily to remove redundant code.
  Generalize COPSPepOSConnection as a COPSPepConnection. Removed duplicated logic up to the super.
  Fix class javadoc comment.
  Moving COPSPepOSDatatProcess down the class hierarcy. This is a necessary step in the PEP connection and state manager refactor.
  Completed COPS state manager refactor. Removed duplicated logic from sub-classes.
  Extending the PCMMPdpConnection from COPSPdpConnection. Removed identical methods from PCMMPdpConnection that were contained in COPSPdpConnection.
  Refactor COPS PDP connection classes. Moved much of the OS connection methods up to the super as it was primarily duplicated code.
  Generalize PDP Data Process classes. This step is required to further generalize the other PDP PCMM service classes such as the state managers and connection classes.

9 years agoMerge changes If0630105,I9d2d5e61,I1cea2a32,Icc05b6a7,Ic57eb4f8, ...
Thomas Kee [Fri, 8 May 2015 23:22:45 +0000 (23:22 +0000)]
Merge changes If0630105,I9d2d5e61,I1cea2a32,Icc05b6a7,Ic57eb4f8, ...

* changes:
  Moved up some of the methods from the PEP and PDP OSMsgSender to their respective supers.
  Created abstract super class for all COPS Message Senders as each contained duplicate members. This refactoring should help with the further refactoring slated for the state managers and data process class hierarchies.
  Ensure all *DataProcess classes have been changed from abstract classes to interfaces as each does not contain any methods. Also moving common methods up the class hierarchy to allow for easier refactoring of the COPS connection and state managers.
  Created abstract super class for all COPS state managers called COPSStateMan as each contained a lot of identical code and began making the state managers more immutable.
  Generalize the COPSPdpException class to a COPSException to make upstream exception handling easier.
  Generalize the COPSPepException class to a COPSException to make upstream exception handling easier.
  Expanded CMTS emulator to accept at least one type of gate request. Future work will allow for the ability to configure gates for validation. With an emulator that can accept gate requests, I have expanded the PCMMService tests to include setting and removal of a gate request to a single mock CMTS. Additionally, as I had encountered issues unmarshalling COPSDecisionMsg objects containing a gate request, another test has been included here (which may be better suited to be located in COPSDecisionMsgTest but the gate set mock object being used can only be used in this module) that creates and parses a COPSDecisionMsg object used for setting gates.
  Added comment to the reasoning behind the hashCode() logic implemented in the COPSHandle class per David M. Karr's review on change #19455.
  Removed commented line and replaced with a TODO per David M. Karr's review to change #19457.
  Generalize the COPSPepException class to a COPSException to make upstream exception handling easier.
  Fixed block responsible for parsing the PCMM gate request's traffic profile from a byte[]. Only commented the BestEffortService line as we will most likely need to support the parsing of other types of ITrafficProfile objects.
  Fixed the routine responsible for parsing a gate request decision message.
  Fixed hashCode() so it returns the same value after the data in the _data + _padding is taken into account.
  Removed the requirement that the COPSData member (aka. _data) cannot be null. Found this issue while building tests for the packetcable-policy-server PCMMService class for connecting to and setting gates for a CCAP.
  Improved exception handling, increased immutability, and general houskeeping.
  Generalizing COPSPdpException to a COPSException.
  Fix to NPE during instantiation after moving the instantiation of the gateIidMap member after the call to the private method getGates().
  With previous change to AbstractPCMMServer, instantiation of the CMTS class now requires one to specify the port number that will be opened else the ServerSocket class will assign one automatically.
  Now Karaf module capable of starting the new bundles contained in the new feature odl-packetcable-policy-server-all.
  New feature bundle for the new feature odl-packetcable-policy-server-all.
  New configuration bundle for the new feature odl-packetcable-policy-server-all.
  The provider module for the Arris designed APIs.
  New model module for use in the new feature to be called odl-packetcable-policy-server-all.
  Miscellaneous driver fixes found while migrating and testing the new Arris API submission that will live in a new feature called odl-packetcable-policy-server-all.
  Added an optional COPSClientSI object as a member to the COPSDecisionMsg as per specs.
  Added new constructor. May need to tighten down interfaces in the future.

9 years agoMerge "Changed tests to leverage a dynamic port for testing COPS message marshalling...
Thomas Kee [Fri, 8 May 2015 23:22:30 +0000 (23:22 +0000)]
Merge "Changed tests to leverage a dynamic port for testing COPS message marshalling/unmarshalling. Was previously leveraging the static port number of 7777 which has shown to cause problems on the gerrit Jenkins verify build as it appears it allows tests to be run in parallel."

9 years agoFixed exception handling when shutting down a COPS/Ccaps connection. 32/19832/2
Steven Pisarski [Thu, 7 May 2015 18:14:17 +0000 (12:14 -0600)]
Fixed exception handling when shutting down a COPS/Ccaps connection.

Change-Id: Ic442b16efc95d60d8d3a0924428aa245c19171a4
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoHad to change the key to a map from a yang generated class to the object's ID. 26/19826/2
Steven Pisarski [Thu, 7 May 2015 16:26:46 +0000 (10:26 -0600)]
Had to change the key to a map from a yang generated class to the object's ID.
This issue may be due to some unintended changes to the code responsible for generating the data model that seem to surround the generated hashCode() method.

Change-Id: Ibeb2c05b6513c8b58a2f193547b537bc9fea898f
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRefactor shared attributes and methods to the PEP agent super COPSPepAgent. 42/19742/2
Steven Pisarski [Wed, 6 May 2015 19:34:48 +0000 (13:34 -0600)]
Refactor shared attributes and methods to the PEP agent super COPSPepAgent.

Change-Id: Ibadb787afc54549bc46fc2efcab2f5f0eb9c223e
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRefactor of PDP Agent code. 33/19733/2
Steven Pisarski [Wed, 6 May 2015 17:58:57 +0000 (11:58 -0600)]
Refactor of PDP Agent code.
Moved shared functionality up the the super COPSPdpAgent. Clarified purpose of the class by removing the extension of the Thread class as the agent is responsible for creating the persistent connection via the COPSPdpConnection class not itself. It appears that the class was originally meant handle COPS messages at one point but the run() method or extension of Thread was never removed after adding the connection object.

Change-Id: I5fd9b5dd914cf902c8726821253491f316e7d93f
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoComplete PDP connection refactor. 31/19731/2
Steven Pisarski [Wed, 6 May 2015 17:54:38 +0000 (11:54 -0600)]
Complete PDP connection refactor.
Fixed error handling in run() and moved the addition of new state managers up to the super.

Change-Id: Ia751f131d690cfccbf590d728e0eb2863300ed42
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMoved all identical attributes and methods from COPSPdpConnection & COPSPepConnection... 66/19666/2
Steven Pisarski [Tue, 5 May 2015 21:31:02 +0000 (15:31 -0600)]
Moved all identical attributes and methods from COPSPdpConnection & COPSPepConnection to COPSConnection.

Change-Id: I0fac43de22f44d5f8cf4028e730c78b4c934fd83
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoCompleted COPS PEP request state manager refactor primarily to remove redundant code. 62/19662/2
Steven Pisarski [Tue, 5 May 2015 20:40:12 +0000 (14:40 -0600)]
Completed COPS PEP request state manager refactor primarily to remove redundant code.

Change-Id: I07f7f1bcb0c53e47f069919fe4dbd46ec255b296
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralize COPSPepOSConnection as a COPSPepConnection. 58/19658/2
Steven Pisarski [Tue, 5 May 2015 20:14:49 +0000 (14:14 -0600)]
Generalize COPSPepOSConnection as a COPSPepConnection.
Removed duplicated logic up to the super.

Change-Id: I489ec7f6221101e8bd4f1f08089055ff154beeb5
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoFix class javadoc comment. 56/19656/2
Steven Pisarski [Tue, 5 May 2015 19:39:02 +0000 (13:39 -0600)]
Fix class javadoc comment.

Change-Id: I8b2c16a02f17a92bd3c9152754b013b36ed796e9
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMoving COPSPepOSDatatProcess down the class hierarcy. 55/19655/2
Steven Pisarski [Tue, 5 May 2015 19:27:19 +0000 (13:27 -0600)]
Moving COPSPepOSDatatProcess down the class hierarcy.
This is a necessary step in the PEP connection and state manager refactor.

Change-Id: Ibbc27058cfeec648fc4373e14a79528733a6e203
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoCompleted COPS state manager refactor. 54/19654/2
Steven Pisarski [Tue, 5 May 2015 19:20:08 +0000 (13:20 -0600)]
Completed COPS state manager refactor.
Removed duplicated logic from sub-classes.

Change-Id: I1d2f8e00fa5cf74b477a04f90f85fa04b988e12a
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMoved up some of the methods from the PEP and PDP OSMsgSender to their respective... 53/19553/2
Steven Pisarski [Mon, 4 May 2015 20:48:32 +0000 (14:48 -0600)]
Moved up some of the methods from the PEP and PDP OSMsgSender to their respective supers.

Change-Id: If06301050426b59e854835fcb44d20ca8b654927
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoExtending the PCMMPdpConnection from COPSPdpConnection. 53/19653/2
Steven Pisarski [Tue, 5 May 2015 18:49:12 +0000 (12:49 -0600)]
Extending the PCMMPdpConnection from COPSPdpConnection.
Removed identical methods from PCMMPdpConnection that were contained in COPSPdpConnection.

Change-Id: Ibf610df25c0469037bf890765a2b6dc2ae438fdd
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoCreated abstract super class for all COPS Message Senders as each contained duplicate... 50/19550/2
Steven Pisarski [Mon, 4 May 2015 19:57:34 +0000 (13:57 -0600)]
Created abstract super class for all COPS Message Senders as each contained duplicate members. This refactoring should help with the further refactoring slated for the state managers and data process class hierarchies.

Change-Id: I9d2d5e61e4f8816bf1e4f6faff507fe1a6a09763
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRefactor COPS PDP connection classes. 52/19652/2
Steven Pisarski [Tue, 5 May 2015 18:29:21 +0000 (12:29 -0600)]
Refactor COPS PDP connection classes.
Moved much of the OS connection methods up to the super as it was primarily duplicated code.

Change-Id: I33fd305e74f8ed9ea12a83424800cefc59fdc6a9
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoEnsure all *DataProcess classes have been changed from abstract classes to interfaces... 48/19548/2
Steven Pisarski [Mon, 4 May 2015 19:00:46 +0000 (13:00 -0600)]
Ensure all *DataProcess classes have been changed from abstract classes to interfaces as each does not contain any methods. Also moving common methods up the class hierarchy to allow for easier refactoring of the COPS connection and state managers.

Change-Id: I1cea2a32e3f58a4daca612d0a5f1716f00eab5e9
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralize PDP Data Process classes. 49/19649/2
Steven Pisarski [Tue, 5 May 2015 17:31:11 +0000 (11:31 -0600)]
Generalize PDP Data Process classes.
This step is required to further generalize the other PDP PCMM service classes such as the state managers and connection classes.

Change-Id: I8858d31d61ec4a271851ef5bba850934ea0b0464
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoCreated abstract super class for all COPS state managers called COPSStateMan as each... 38/19538/2
Steven Pisarski [Mon, 4 May 2015 18:15:15 +0000 (12:15 -0600)]
Created abstract super class for all COPS state managers called COPSStateMan as each contained a lot of identical code and began making the state managers more immutable.

Change-Id: Icc05b6a7c25bc4dbfb9b75f5a3325e4763307a99
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralize the COPSPdpException class to a COPSException to make upstream exception... 34/19534/2
Steven Pisarski [Mon, 4 May 2015 17:00:15 +0000 (11:00 -0600)]
Generalize the COPSPdpException class to a COPSException to make upstream exception handling easier.

Change-Id: Ic57eb4f88b7f6cfc2aa92152326057916ac9552e
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralize the COPSPepException class to a COPSException to make upstream exception... 33/19533/2
Steven Pisarski [Mon, 4 May 2015 16:19:44 +0000 (10:19 -0600)]
Generalize the COPSPepException class to a COPSException to make upstream exception handling easier.

Change-Id: I1fe57321e8cac7dbdab48e0448e5bc8058073a09
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoExpanded CMTS emulator to accept at least one type of gate request. Future work will... 67/19467/2
Steven Pisarski [Fri, 1 May 2015 22:55:12 +0000 (16:55 -0600)]
Expanded CMTS emulator to accept at least one type of gate request. Future work will allow for the ability to configure gates for validation. With an emulator that can accept gate requests, I have expanded the PCMMService tests to include setting and removal of a gate request to a single mock CMTS. Additionally, as I had encountered issues unmarshalling COPSDecisionMsg objects containing a gate request, another test has been included here (which may be better suited to be located in COPSDecisionMsgTest but the gate set mock object being used can only be used in this module) that creates and parses a COPSDecisionMsg object used for setting gates.

Change-Id: I98681f2514b88575a951f1e16a683ac046d32750
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoAdded comment to the reasoning behind the hashCode() logic implemented in the COPSHan... 62/19462/2
Steven Pisarski [Fri, 1 May 2015 22:17:04 +0000 (16:17 -0600)]
Added comment to the reasoning behind the hashCode() logic implemented in the COPSHandle class per David M. Karr's review on change #19455.

Change-Id: Idab26a59bc344c93040bea988a98e033873193f4
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRemoved commented line and replaced with a TODO per David M. Karr's review to change... 59/19459/2
Steven Pisarski [Fri, 1 May 2015 21:58:37 +0000 (15:58 -0600)]
Removed commented line and replaced with a TODO per David M. Karr's review to change #19457.

Change-Id: I030553c96bafd4d12ae80cc60d50a03f5c158df0
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralize the COPSPepException class to a COPSException to make upstream exception... 58/19458/2
Steven Pisarski [Fri, 1 May 2015 21:43:31 +0000 (15:43 -0600)]
Generalize the COPSPepException class to a COPSException to make upstream exception handling easier.

Change-Id: Ie1e53751b9e426d0099a22b21d4f6f87c8327e8f
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoFixed block responsible for parsing the PCMM gate request's traffic profile from... 57/19457/2
Steven Pisarski [Fri, 1 May 2015 21:31:17 +0000 (15:31 -0600)]
Fixed block responsible for parsing the PCMM gate request's traffic profile from a byte[]. Only commented the BestEffortService line as we will most likely need to support the parsing of other types of ITrafficProfile objects.

Change-Id: I70a82d431c6a20d06a346ff511122d3e8aabd70c
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoFixed the routine responsible for parsing a gate request decision message. 56/19456/2
Steven Pisarski [Fri, 1 May 2015 21:29:21 +0000 (15:29 -0600)]
Fixed the routine responsible for parsing a gate request decision message.

Change-Id: I8efa03e6300ea25117388869ad74b3bf9bcdf097
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoFixed hashCode() so it returns the same value after the data in the _data + _padding... 55/19455/2
Steven Pisarski [Fri, 1 May 2015 21:08:28 +0000 (15:08 -0600)]
Fixed hashCode() so it returns the same value after the data in the _data + _padding is taken into account.

Change-Id: Iadde6326c660deba6dbe05a1cda55f2c5b0219de
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoRemoved the requirement that the COPSData member (aka. _data) cannot be null. Found... 53/19453/2
Steven Pisarski [Fri, 1 May 2015 20:56:06 +0000 (14:56 -0600)]
Removed the requirement that the COPSData member (aka. _data) cannot be null. Found this issue while building tests for the packetcable-policy-server PCMMService class for connecting to and setting gates for a CCAP.

Change-Id: I02e5c8d9562b2ecfbcb30c9ffcc7ac649262a1db
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoImproved exception handling, increased immutability, and general houskeeping. 95/19395/2
Steven Pisarski [Thu, 30 Apr 2015 16:10:44 +0000 (10:10 -0600)]
Improved exception handling, increased immutability, and general houskeeping.

Change-Id: I7243c358ed878b12afca657a2c0ebb0840aa97be
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoGeneralizing COPSPdpException to a COPSException. 91/19391/2
Steven Pisarski [Thu, 30 Apr 2015 15:42:17 +0000 (09:42 -0600)]
Generalizing COPSPdpException to a COPSException.

Change-Id: I26043dd475f12a5fe02a7b04b97e04ab747e1063
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoFix to NPE during instantiation after moving the instantiation of the gateIidMap... 90/19390/2
Steven Pisarski [Thu, 30 Apr 2015 15:10:55 +0000 (09:10 -0600)]
Fix to NPE during instantiation after moving the instantiation of the gateIidMap member after the call to the private method getGates().

Change-Id: I6bade15d28f16f4c79e83e5161abf547088fb908
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoWith previous change to AbstractPCMMServer, instantiation of the CMTS class now requi... 47/19347/2
Steven Pisarski [Wed, 29 Apr 2015 21:10:18 +0000 (15:10 -0600)]
With previous change to AbstractPCMMServer, instantiation of the CMTS class now requires one to specify the port number that will be opened else the ServerSocket class will assign one automatically.

Change-Id: Iabc32d486952475f18b5b3025b809003f48c5c8f
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoNow Karaf module capable of starting the new bundles contained in the new feature... 46/19346/2
Steven Pisarski [Wed, 29 Apr 2015 20:55:40 +0000 (14:55 -0600)]
Now Karaf module capable of starting the new bundles contained in the new feature odl-packetcable-policy-server-all.

Change-Id: Ib88791973fbfd38cbb72ea9521d642872afd4318
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoNew feature bundle for the new feature odl-packetcable-policy-server-all. 45/19345/2
Steven Pisarski [Wed, 29 Apr 2015 20:34:30 +0000 (14:34 -0600)]
New feature bundle for the new feature odl-packetcable-policy-server-all.

Change-Id: Ib84294970a8b955b5f06e6edc521397286d1e431
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoNew configuration bundle for the new feature odl-packetcable-policy-server-all. 44/19344/2
Steven Pisarski [Wed, 29 Apr 2015 20:20:32 +0000 (14:20 -0600)]
New configuration bundle for the new feature odl-packetcable-policy-server-all.

Change-Id: I8cee33d563cdda7dcb2deb7f1773ea06a777221b
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoThe provider module for the Arris designed APIs. 42/19342/2
Steven Pisarski [Wed, 29 Apr 2015 20:07:19 +0000 (14:07 -0600)]
The provider module for the Arris designed APIs.

Change-Id: I14b087d72c4ff180007cda2c9fd9992cf54e9906
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoNew model module for use in the new feature to be called odl-packetcable-policy-serve... 28/19328/2
Steven Pisarski [Wed, 29 Apr 2015 18:26:29 +0000 (12:26 -0600)]
New model module for use in the new feature to be called odl-packetcable-policy-server-all.

Change-Id: I7e1b3ee8d937165c3e3af0d735555180b23cdd1f
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMiscellaneous driver fixes found while migrating and testing the new Arris API submis... 27/19327/2
Steven Pisarski [Wed, 29 Apr 2015 18:16:50 +0000 (12:16 -0600)]
Miscellaneous driver fixes found while migrating and testing the new Arris API submission that will live in a new feature called odl-packetcable-policy-server-all.

Change-Id: I9c56c26faf8b59e5f9e48027e8a3b351d25ebb03
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoAdded an optional COPSClientSI object as a member to the COPSDecisionMsg as per specs. 25/19325/2
Steven Pisarski [Wed, 29 Apr 2015 17:24:24 +0000 (11:24 -0600)]
Added an optional COPSClientSI object as a member to the COPSDecisionMsg as per specs.

Change-Id: If648ca341ca889fd6c6f0d9382ea180b0c239351
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoChanged tests to leverage a dynamic port for testing COPS message marshalling/unmarsh... 22/19322/2
Steven Pisarski [Wed, 29 Apr 2015 17:09:14 +0000 (11:09 -0600)]
Changed tests to leverage a dynamic port for testing COPS message marshalling/unmarshalling. Was previously leveraging the static port number of 7777 which has shown to cause problems on the gerrit Jenkins verify build as it appears it allows tests to be run in parallel.

Change-Id: Ie52ac87d9efa776e3a1ee1afb57fc44cc6259354
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoAdded new constructor. May need to tighten down interfaces in the future. 16/19316/2
Steven Pisarski [Wed, 29 Apr 2015 16:04:50 +0000 (10:04 -0600)]
Added new constructor. May need to tighten down interfaces in the future.

Change-Id: I56bbcc65514f9eb2f7ff9aad804780449968e4fb
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>
9 years agoMerge "Ensure padding data cannot be written when empty."
Thomas Kee [Fri, 8 May 2015 18:32:33 +0000 (18:32 +0000)]
Merge "Ensure padding data cannot be written when empty."

9 years agoMerge "Copyright"
Thomas Kee [Fri, 8 May 2015 18:30:20 +0000 (18:30 +0000)]
Merge "Copyright"

9 years agoMerge "Copyright"
Thomas Kee [Fri, 8 May 2015 18:30:17 +0000 (18:30 +0000)]
Merge "Copyright"

9 years agoMerge "Added logging to help debug COPS message handling."
Thomas Kee [Fri, 8 May 2015 18:24:32 +0000 (18:24 +0000)]
Merge "Added logging to help debug COPS message handling."

9 years agoMerge "Created a client-type enumeration as part of the original COPS refactor and...
Thomas Kee [Fri, 8 May 2015 16:56:20 +0000 (16:56 +0000)]
Merge "Created a client-type enumeration as part of the original COPS refactor and have changed it back to an short value due to a misinterpretation of the COPS specifications. Additionally changed the enumeration held by the COPSDecision to not leverage the ordinal value as a mapping between the COPS payload which comes in as two bytes."

9 years agoMerge "Completed COPS Message refactoring. Was planning on one additional patch start...
Thomas Kee [Fri, 8 May 2015 16:34:32 +0000 (16:34 +0000)]
Merge "Completed COPS Message refactoring. Was planning on one additional patch starting with the COPSHeader; however, the dependencies of COPSHeader were everywhere the COPSMsg objects were being instantiated and determined it would be easier merging this as the final patch versus splitting these changes up. Please see Bugzilla report #2943 for more details. In addition to the restructuring of the COPSMsg classes for immutability, semantics by adding in enumerations, and testability, this patch is also fixing some of the code warnings and removing MS-DOS CR characters."

9 years agoMerge "The second patch of an estimated 4 to complete the COPS message refactoring...
Thomas Kee [Fri, 8 May 2015 16:32:53 +0000 (16:32 +0000)]
Merge "The second patch of an estimated 4 to complete the COPS message refactoring as described in Bugzilla report #2943. This patch completes the refactoring for all of the objects that can be contained within a COPS message. Although this changelist is quite large, it was not possible to subdivide it any further as it was necessary to refactor each of the classes being extended by COPSObjectBase. Most of the changes made at the service level are to the COPS object construction; however, a few fixes have also been made to address some of the compiler warnings. This patch also should have taken out all of the DOS CR characters in any of the source being altered at this time."

9 years agoCopyright 10/19910/1
Mohamed El-Serngawy [Fri, 8 May 2015 16:21:05 +0000 (12:21 -0400)]
Copyright

Change-Id: I1bbc51de1d10174217c5eee2f2aa33be094fa40d
Signed-off-by: Mohamed El-Serngawy <melserngawy@inocybe.com>
9 years agoCopyright 08/19908/1
Mohamed El-Serngawy [Fri, 8 May 2015 16:07:30 +0000 (12:07 -0400)]
Copyright

Change-Id: I20c69788aee8eef25ffe2064cd2a4cb95c1fa500
Signed-off-by: Mohamed El-Serngawy <melserngawy@inocybe.com>
9 years agoEnsure padding data cannot be written when empty. 14/19314/1
Steven Pisarski [Wed, 29 Apr 2015 15:44:26 +0000 (09:44 -0600)]
Ensure padding data cannot be written when empty.

Change-Id: Ic816da28fff33587d6ba847c29159127a2515f86
Signed-off-by: Steven Pisarski <s.pisarski@cablelabs.com>