From cb7b3dfbfc74a4697b289bf8633f556bb65aa7f7 Mon Sep 17 00:00:00 2001 From: Jeffrey Pedigo Date: Wed, 15 Mar 2017 13:28:24 -0600 Subject: [PATCH] RPC gate set/delete/info and Patch operation support Bug: 7115 Change-Id: I3fe8c2b45db2ab88a3de347457cbe0d55f8e1b4e Signed-off-by: Jeffrey Pedigo --- .../src/main/yang/packetcable.yang | 155 ++ .../ODL-PCMM.json.postman_collection | 1629 ++++++++++------- .../provider/PCMMGateReqBuilder.java | 46 +- .../packetcable/provider/PCMMService.java | 8 +- .../provider/PacketcableProvider.java | 638 ++++++- .../impl/CcapsValidatorProviderFactory.java | 8 +- .../impl/QosValidatorProviderFactory.java | 26 +- .../impl/validators/ccaps/AmIdValidator.java | 2 +- .../impl/validators/ccaps/CcapValidator.java | 2 +- .../impl/validators/ccaps/CcapsValidator.java | 4 +- .../validators/ccaps/ConnectionValidator.java | 2 +- .../impl/validators/qos/AppValidator.java | 2 +- .../impl/validators/qos/AppsValidator.java | 4 +- .../validators/qos/GateSpecValidator.java | 2 +- .../impl/validators/qos/GateValidator.java | 2 +- .../impl/validators/qos/GatesValidator.java | 4 +- .../validators/qos/SubscriberValidator.java | 2 +- .../validators/qos/SubscribersValidator.java | 4 +- .../qos/TrafficProfileValidator.java | 16 +- .../classifier/ClassifierChoiceValidator.java | 8 +- .../ClassifierContainerValidator.java | 2 +- .../qos/classifier/ClassifierValidator.java | 2 +- .../qos/classifier/ClassifiersValidator.java | 6 +- .../classifier/ExtClassifierValidator.java | 2 +- .../classifier/Ipv6ClassifierValidator.java | 2 +- .../packetcable/provider/PCMMServiceTest.java | 46 +- .../validation/DataValidatorTest.java | 2 +- .../CcapsValidatorProviderFactoryTest.java | 8 +- .../impl/QosValidatorProviderFactoryTest.java | 26 +- .../ValidatorProviderFactoryImplTest.java | 34 +- .../impl/ValidatorProviderImplTest.java | 2 +- .../validators/ccaps/AmIdValidatorTest.java | 4 +- .../validators/ccaps/CcapValidatorTest.java | 6 +- .../validators/ccaps/CcapsValidatorTest.java | 6 +- .../ccaps/ConnectionValidatorTest.java | 4 +- .../impl/validators/qos/AppValidatorTest.java | 4 +- .../validators/qos/AppsValidatorTest.java | 4 +- .../validators/qos/GateSpecValidatorTest.java | 8 +- .../validators/qos/GateValidatorTest.java | 4 +- .../validators/qos/GatesValidatorTest.java | 4 +- .../qos/SubscriberValidatorTest.java | 4 +- .../qos/SubscribersValidatorTest.java | 4 +- .../qos/TrafficProfileValidatorTest.java | 14 +- .../ClassifierChoiceValidatorTest.java | 12 +- .../ClassifierContainerValidatorTest.java | 4 +- .../classifier/ClassifierValidatorTest.java | 8 +- .../classifier/ClassifiersValidatorTest.java | 6 +- .../ExtClassifierValidatorTest.java | 10 +- .../Ipv6ClassifierValidatorTest.java | 10 +- 49 files changed, 1921 insertions(+), 891 deletions(-) diff --git a/packetcable-policy-model/src/main/yang/packetcable.yang b/packetcable-policy-model/src/main/yang/packetcable.yang index 1c2fa44..0299a76 100644 --- a/packetcable-policy-model/src/main/yang/packetcable.yang +++ b/packetcable-policy-model/src/main/yang/packetcable.yang @@ -10,6 +10,9 @@ module packetcable description "This module contains the PCMM Converged Cable Access Platform (CCAP) definitions"; organization "OpenDaylight Project"; + revision 2017-02-24 { + description "Added RPC operations for set/delete/info on gates"; + } revision 2017-01-25 { description "Added support for UGS and RTP traffic profiles"; } @@ -760,6 +763,61 @@ module packetcable } } + typedef failure-type { + description "Enumeration of the distinct types of operational failure modes + that can occur while servicing a southbound PCMM request"; + type enumeration { + enum unsent { + description "The request failed before it was sent to the CMTS."; + } + enum no-ack { + description "The request was not acknowledged by the CMTS."; + } + enum failed { + description "The request was sent to the CMTS and an error response was returned"; + } + } + } + + + grouping failure-response { + description "The structure of a failure response from a PCMM request"; + leaf failure { + type failure-type; + } + leaf message { + type string; + } + } + + grouping qos-set-gate-response { + choice set-response-type { + case set-failure { + uses failure-response; + } + case set-successful { + leaf cops-gateId { + type uint32; + description "Unique identifier assigned by CMTS for the requested gate"; + } + } + } + } + + grouping qos-delete-gate-response { + choice delete-response-type { + case delete-failure { + uses failure-response; + } + case delete-successful { + leaf cops-gateId { + type uint32; + description "Unique identifier assigned by CMTS for the requested gate"; + } + } + } + } + //RPCs rpc ccap-set-connection { input { @@ -847,4 +905,101 @@ module packetcable } } } + + rpc qos-set-gate { + input { + leaf "appId" { + type string; + description "Application Identity"; + mandatory true; + } + leaf subscriberId { + type string; + description "Subscriber Identity -- must be a CM or CPE IP address"; + mandatory true; + } + container gates { + list gate { + key "gateId"; + leaf gateId { + type string; + description "Qos Gate Identity"; + mandatory true; + } + uses gate-operational-attributes; + uses pcmm-qos-gate-attributes; + } + } + } + output { + uses qos-set-gate-response; + } + } + + rpc qos-delete-gate { + input { + leaf "appId" { + type string; + description "Application Identity"; + mandatory true; + } + leaf subscriberId { + type string; + description "Subscriber Identity -- must be a CM or CPE IP address"; + mandatory true; + } + leaf gateId { + type string; + description "Qos Gate Identity"; + mandatory true; + } + } + output { + uses qos-delete-gate-response; + } + } + + rpc qos-gate-info { + input { + leaf "appId" { + type string; + description "Application Identity"; + mandatory true; + } + leaf subscriberId { + type string; + description "Subscriber Identity -- must be a CM or CPE IP address"; + mandatory true; + } + leaf gateId { + type string; + description "Qos Gate Identity"; + mandatory true; + } + } + output { + uses qos-gate-info-response; + } + } + + grouping qos-gate-info-response { + choice info-response-type { + case info-failure { + uses failure-response; + } + case info-successful { + container gates { + list gate { + key "gateId"; + leaf gateId { + type string; + description "Qos Gate Identity"; + } + uses gate-operational-attributes; + uses pcmm-qos-gate-attributes; + } + } + } + } + } } diff --git a/packetcable-policy-server/doc/restconf-samples/ODL-PCMM.json.postman_collection b/packetcable-policy-server/doc/restconf-samples/ODL-PCMM.json.postman_collection index 494e8a9..a88a100 100644 --- a/packetcable-policy-server/doc/restconf-samples/ODL-PCMM.json.postman_collection +++ b/packetcable-policy-server/doc/restconf-samples/ODL-PCMM.json.postman_collection @@ -1,624 +1,1027 @@ { - "id": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "name": "ODL-PCMM", - "description": "Sample PCMM REST configuration calls.", - "order": [], - "folders": [ + "variables": [], + "info": { + "name": "ODL-PCMM", + "_postman_id": "8288080e-e6f0-6c06-07fb-35c5160f57e4", + "description": "Sample PCMM REST configuration calls.", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ { - "id": "f9e5223f-35d2-95a8-4cfe-b250938e6c12", "name": "CCAP/CMTS", "description": "Sample PUT, GET, & DELETE of CMTS into ODL", - "order": [ - "1f68f1dc-1d2b-8d04-b7be-0e6fc03fd90a", - "44ba6dfe-ca0c-376a-0322-b3db2af6eb2f", - "0c1e6f25-e33b-e3ed-fc59-02f2b569a9ed", - "a817933b-9398-23d1-b269-68f81ba51bc7", - "f403ebfd-d7d7-c94e-0ee5-3bc864098250", - "672adfee-68a5-5281-d638-72c2964b35cc", - "1142817c-9007-f0a1-92cd-644935c1fa85", - "07f16f27-6ef1-b022-1921-02a3baf40d91" - ], - "owner": 0 + "item": [ + { + "name": "Operational - Get All CCAPs", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operational/packetcable:ccaps", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves all managed CCAPs/CMTSs" + }, + "response": [] + }, + { + "name": "Get All CCAPs", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves all managed CCAPs/CMTSs" + }, + "response": [] + }, + { + "name": "Delete All CCAPs", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Removes all managed CCAPs/CMTSs" + }, + "response": [] + }, + { + "name": "Add CCAP 1", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ccap\": [{\n \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"10.32.110.1/24\", \n \"2001:470:c09b:4000::/64\"\n ],\n \"downstream-scns\": [\n \"extrm_dn\"\n ],\n \"upstream-scns\": [\n \"extrm_up\"\n ]\n }]\n}\n" + }, + "description": "Adds a CCAP/CMTS to manage" + }, + "response": [] + }, + { + "name": "Get CCAP 1", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves a specific managed CCAP/CMTS" + }, + "response": [] + }, + { + "name": "Delete CCAP 1", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Deletes a specific managed CCAP/CMTS" + }, + "response": [] + }, + { + "name": "PUT Multiple", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \"ccaps\": {\n \"ccap\": [\n { \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"44.137.0.0/16\",\n \"2001:4978:030d:1000:0:0:0:0/52\"\n ],\n \"downstream-scns\": [\n \"ipvideo_dn\",\n \"extrm_dn\",\n \"SCNC\"\n ],\n \"upstream-scns\": [\n \"SCNA\",\n \"extrm_up\"\n ]\n },\n { \"ccapId\": \"{{ccapId-2}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-2}}\",\n \"port\": \"{{ccapPort-2}}\"\n },\n \"subscriber-subnets\": [\n \"44.133.0.0/19\"\n ],\n \"downstream-scns\": [\n \"ipvideo_dn\",\n \"extrm_dn\",\n \"SCNC\"\n ],\n \"upstream-scns\": [\n \"SCNA\",\n \"extrm_up\"\n ]\n }]\n}}\n" + }, + "description": "Adds 2 CCAPs/CMTSs to manage" + }, + "response": [] + }, + { + "name": "Add CCAP 1 - Bad", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ccap\": [{\n \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"10.32.110.1/24\"\n ],\n \"downstream-scns\": [\n \"extrm_dn\"\n ],\n \"upstream-scns\": [\n \"extrm_up\"\n ]\n }]\n}\n" + }, + "description": "tries to add a CCAP/CMTS to manage with out providing all the required fields" + }, + "response": [] + }, + { + "name": "PATCH CCAP 1", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", + "method": "PATCH", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/yang.patch+json", + "description": "" + }, + { + "key": "Accept", + "value": "application/yang.patch-status+json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"ietf-restconf:yang-patch\" : {\n \"patch-id\" : \"Patch CCAP 1\",\n \"comment\" : \"testing patch functionality\",\n \"edit\" : [\n {\n \"edit-id\" : 1,\n \"operation\" : \"replace\",\n \"target\" : \"/subscriber-subnets\",\n \"value\" : {\n \"subscriber-subnets\": [\n \"10.32.110.1/24\", \n \t\t\t\t\t\t \"2001:470:c09b:4000::/64\",\n \t\t\t\t\t\t \"10.22.4.1/24\"\n ]\n }\n }\n ]\n }\n}\n" + }, + "description": "Adds 2 CCAPs/CMTSs to manage" + }, + "response": [] + } + ] }, { - "id": "8454f1d3-bf11-01d5-3c17-1c635512818b", "name": "Gates", "description": "Sample PUT, GET, DELETE for PCMM Gates", - "order": [ - "89d6f693-4b15-44dc-d330-f191ac6780b7", - "b8031ee0-b6e0-dcbe-fff3-a924cbe295a4", - "e69fb800-4f72-819b-2875-83eecf65dfb1", - "0f01c73b-c17a-b53b-3694-1d746edcd2a2", - "11ef539e-26d3-77ab-3828-321c3f7bf6a3", - "03bebe64-27ff-1df3-5b6b-9237f6c8e229", - "611db01a-e1e3-51fc-606d-5364477f8983", - "fbf5671a-ae7d-4413-a22b-8334c4f5c35e", - "a782c414-e6ad-a247-63f8-f1353e462870", - "ec1b0f8c-371d-a0bd-ce5f-d30aa31237cb", - "dc932ee9-1acd-9efe-cc83-de07894516bb", - "9d80f0da-4500-e843-31c5-808c91d9249b", - "34c31e77-afa6-e5b5-6218-f58224d8285b", - "9e408c15-1a8f-a9fc-f996-7137f44cdfcd", - "d1738b5f-1671-b0e6-ed00-06aa9a40c955", - "7b027a58-c3a7-dd6a-555f-e5bc3644286c", - "e59184fc-4b70-2eb6-eaf5-001fc7f62fbc", - "9d3cfaa5-fc27-47b6-d993-c2e451d31048", - "696cfabd-8836-902f-f3ab-9d24a08168a9", - "749ba143-bcde-07c1-4ee4-401abce079e2", - "10ac6396-d30a-85b1-121d-db3e2d9f50a3" - ], - "owner": 0, - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc" - } - ], - "timestamp": 1431957020452, - "owner": 0, - "remoteLink": "", - "public": false, - "requests": [ - { - "id": "03bebe64-27ff-1df3-5b6b-9237f6c8e229", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872033293, - "name": "Gate w/ classifier", - "description": "Delete QoS gate with classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "07f16f27-6ef1-b022-1921-02a3baf40d91", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1446221273089, - "name": "Add CCAP 1 - Bad", - "description": "tries to add a CCAP/CMTS to manage with out providing all the required fields", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"ccap\": [{\n \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"10.32.110.1/24\"\n ],\n \"downstream-scns\": [\n \"extrm_dn\"\n ],\n \"upstream-scns\": [\n \"extrm_up\"\n ]\n }]\n}\n" - }, - { - "id": "0c1e6f25-e33b-e3ed-fc59-02f2b569a9ed", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445616322776, - "name": "Delete All CCAPs", - "description": "Removes all managed CCAPs/CMTSs", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "0f01c73b-c17a-b53b-3694-1d746edcd2a2", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447948746908, - "name": "Gate w/ classifier", - "description": "PUT gate with standard classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "10ac6396-d30a-85b1-121d-db3e2d9f50a3", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1448396955856, - "name": "Bad? Gate w/ 24 Classifiers", - "description": "Put a gate with 24 classifiers.\nThis is proably more than a CMTS will support.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "" - }, - { - "id": "1142817c-9007-f0a1-92cd-644935c1fa85", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445618622845, - "name": "PUT Multiple", - "description": "Adds 2 CCAPs/CMTSs to manage", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{ \"ccaps\": {\n \"ccap\": [\n { \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"44.137.0.0/16\",\n \"2001:4978:030d:1000:0:0:0:0/52\"\n ],\n \"downstream-scns\": [\n \"ipvideo_dn\",\n \"extrm_dn\",\n \"SCNC\"\n ],\n \"upstream-scns\": [\n \"SCNA\",\n \"extrm_up\"\n ]\n },\n { \"ccapId\": \"{{ccapId-2}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-2}}\",\n \"port\": \"{{ccapPort-2}}\"\n },\n \"subscriber-subnets\": [\n \"44.133.0.0/19\"\n ],\n \"downstream-scns\": [\n \"ipvideo_dn\",\n \"extrm_dn\",\n \"SCNC\"\n ],\n \"upstream-scns\": [\n \"SCNA\",\n \"extrm_up\"\n ]\n }]\n}}\n" - }, - { - "id": "11ef539e-26d3-77ab-3828-321c3f7bf6a3", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872017430, - "name": "Gate w/ classifier", - "description": "Retrieves the gate with classifier.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "1f68f1dc-1d2b-8d04-b7be-0e6fc03fd90a", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/operational/packetcable:ccaps", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445616352829, - "name": "Operational - Get All CCAPs", - "description": "Retrieves all managed CCAPs/CMTSs", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "34c31e77-afa6-e5b5-6218-f58224d8285b", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1448396369778, - "name": "Gate w/ Multiple Classifiers", - "description": "Get gate with Multiple classifiers", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-multi}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-2a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"3\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-3a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"4\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n \n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "44ba6dfe-ca0c-376a-0322-b3db2af6eb2f", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445616319736, - "name": "Get All CCAPs", - "description": "Retrieves all managed CCAPs/CMTSs", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "611db01a-e1e3-51fc-606d-5364477f8983", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-ext}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447948856388, - "name": "Gate w/ ext classifier", - "description": "PUT gate with ext classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-ext}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "672adfee-68a5-5281-d638-72c2964b35cc", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445616338656, - "name": "Delete CCAP 1", - "description": "Deletes a specific managed CCAP/CMTS", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "696cfabd-8836-902f-f3ab-9d24a08168a9", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1448397048797, - "name": "Bad? Gate w/ 24 Classifiers", - "description": "Put a gate with 24 classifiers. Spec requires support for 4 but there is no maximum.\nHowever this is proably more than a CCAP will support.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-multi}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-2a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"3\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-3a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"4\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"5\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"6\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"7\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"8\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"9\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"10\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"11\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"12\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"13\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"14\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"15\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"16\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"17\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"18\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"19\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"20\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"21\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"22\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"23\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"24\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "749ba143-bcde-07c1-4ee4-401abce079e2", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1448396914372, - "name": "Bad? Gate w/ 24 Classifiers", - "description": "Get a gate with 24 classifiers.\nThis is proably more than a CMTS will support.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "7b027a58-c3a7-dd6a-555f-e5bc3644286c", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-bad}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-bad}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447949146228, - "name": "Bad - Gate w/ incomplete classifier", - "description": "PUT gate with a standard classifier that is missing some data", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-bad}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n }\n }\n}" - }, - { - "id": "89d6f693-4b15-44dc-d330-f191ac6780b7", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/operational/packetcable:qos/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447349051431, - "name": "Operational - All Gates", - "description": "Retrieves all gates.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "9d3cfaa5-fc27-47b6-d993-c2e451d31048", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1448397901238, - "name": "Bad - Gate w/ Legacy & Ext Classifiers", - "description": "Get gate with Legacy & Extended classifiers", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-multi}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },{\n \"classifier-id\": \"2\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n \n \n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "9d80f0da-4500-e843-31c5-808c91d9249b", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-ipv6}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872203499, - "name": "Gate w/ IPv6 classifier", - "description": "Delete QoS gate with IPv6 classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "9e408c15-1a8f-a9fc-f996-7137f44cdfcd", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447949491059, - "name": "Gate w/ Multiple Classifiers", - "description": "Get gate with Multiple classifiers", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "folder": "8454f1d3-bf11-01d5-3c17-1c635512818b" - }, - { - "id": "a782c414-e6ad-a247-63f8-f1353e462870", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-ext}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872124553, - "name": "Gate w/ ext classifier", - "description": "Delete QoS gate with ext classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "a817933b-9398-23d1-b269-68f81ba51bc7", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447957774435, - "name": "Add CCAP 1", - "description": "Adds a CCAP/CMTS to manage", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"ccap\": [{\n \"ccapId\": \"{{ccapId-1}}\",\n \"amId\": {\n \"am-tag\": \"0xcada\",\n \"am-type\": \"1\"\n },\n \"connection\": {\n \"ipAddress\": \"{{ccapIp-1}}\",\n \"port\": \"{{ccapPort-1}}\"\n },\n \"subscriber-subnets\": [\n \"10.32.110.1/24\", \n \"2001:470:c09b:4000::/64\"\n ],\n \"downstream-scns\": [\n \"extrm_dn\"\n ],\n \"upstream-scns\": [\n \"extrm_up\"\n ]\n }]\n}\n" - }, - { - "id": "b8031ee0-b6e0-dcbe-fff3-a924cbe295a4", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445372731369, - "name": "All Gates", - "description": "Retrieves all gates.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "d1738b5f-1671-b0e6-ed00-06aa9a40c955", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447949459469, - "name": "Gate w/ Multiple Classifiers", - "description": "Delete gate with Multiple classifiers", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "dc932ee9-1acd-9efe-cc83-de07894516bb", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-ipv6}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872183035, - "name": "Gate w/ IPv6 classifier", - "description": "Retrieves the gate with IPv6 classifier.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "e59184fc-4b70-2eb6-eaf5-001fc7f62fbc", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-bad}}/subscribers/subscriber/1.2.3.4/gates/gate/{{gateId-bad}}", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447949210199, - "name": "Bad - Gate w/ invalid subscriber", - "description": "PUT gate with a standard classifier that formed\ncorectly but the subscriber is unknown to the CCAP.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-bad}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "e69fb800-4f72-819b-2875-83eecf65dfb1", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/", - "preRequestScript": "", - "pathVariables": {}, - "method": "DELETE", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447359288221, - "name": "All Gates", - "description": "Deletes all apps, subscribers, and gates.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "ec1b0f8c-371d-a0bd-ce5f-d30aa31237cb", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-ipv6}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "PUT", - "data": [], - "dataMode": "raw", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1447948932123, - "name": "Gate w/ IPv6 classifier", - "description": "PUT gate with IPv6 classifier", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [], - "rawModeData": "{\n \"gate\": {\n \"gateId\": \"{{gateId-ipv6}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ipv6-classifier\": {\n \"srcIp6\": \"{{srcIp-IPv6}}\",\n \"dstIp6\": \"{{dstIp-IPv6}}\",\n \"flow-label\": \"101\",\n \"tc-low\": \"0xa0\",\n \"tc-high\": \"0xc0\",\n \"tc-mask\": \"0xe0\",\n \"next-hdr\": \"256\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name\": \"{{scnUp}}\"\n }\n }\n}" - }, - { - "id": "f403ebfd-d7d7-c94e-0ee5-3bc864098250", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:ccaps/ccap/{{ccapId-1}}", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445616333775, - "name": "Get CCAP 1", - "description": "Retrieves a specific managed CCAP/CMTS", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] - }, - { - "id": "fbf5671a-ae7d-4413-a22b-8334c4f5c35e", - "headers": "Authorization: Basic YWRtaW46YWRtaW4=\nContent-Type: application/json\n", - "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-ext}}/", - "preRequestScript": "", - "pathVariables": {}, - "method": "GET", - "data": [], - "dataMode": "params", - "version": 2, - "tests": "", - "currentHelper": "normal", - "helperAttributes": {}, - "time": 1445872097422, - "name": "Gate w/ ext classifier", - "description": "Retrieves the gate with ext classifier.", - "collectionId": "5c57b040-54e7-d5bf-296d-d5a4afdd39bc", - "responses": [] + "item": [ + { + "name": "Operational - All Gates", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operational/packetcable:qos/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves all gates." + }, + "response": [] + }, + { + "name": "All Gates", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves all gates." + }, + "response": [] + }, + { + "name": "All Gates", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Deletes all apps, subscribers, and gates." + }, + "response": [] + }, + { + "name": "Gate w/ classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "PUT gate with standard classifier" + }, + "response": [] + }, + { + "name": "Create Gate w/ classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-classifier}}\",\n \"subscriberId\":\"{{subId-classifier}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"0\",\n \"srcPort\":\"{{srcPort-1a}}\",\n \"dstPort\":\"{{dstPort-1a}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"dscp-tos-overwrite\":\"0xa0\",\n \"dscp-tos-mask\":\"0xff\"\n },\n \"traffic-profile\":{ \n \t\t\"service-class-name-profile\": {\n \t\t\t\"service-class-name\": \"{{scnUp}}\"\n \t\t}\n }\n }\n }\n }\n}\n" + }, + "description": "PUT gate with standard classifier" + }, + "response": [] + }, + { + "name": "Get Gate w/ classifier Info", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-gate-info", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"input\": {\n \"appId\": \"{{appId-classifier}}\",\n \"subscriberId\": \"{{subId-classifier}}\",\n \"gateId\": \"{{gateId-classifier}}\"\n }\n}" + }, + "description": "Delete QoS gate with classifier" + }, + "response": [] + }, + { + "name": "Delete Gate w/ classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-delete-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"input\": {\n \"appId\": \"{{appId-classifier}}\",\n \"subscriberId\": \"{{subId-classifier}}\",\n \"gateId\": \"{{gateId-classifier}}\"\n }\n}" + }, + "description": "Delete QoS gate with classifier" + }, + "response": [] + }, + { + "name": "Gate w/ classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves the gate with classifier." + }, + "response": [] + }, + { + "name": "Gate w/ classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Delete QoS gate with classifier" + }, + "response": [] + }, + { + "name": "Gate w/ ext classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-ext}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "PUT gate with ext classifier" + }, + "response": [] + }, + { + "name": "Create Gate w/ ext classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-ext}}\",\n \"subscriberId\":\"{{subId-ext}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"ext-classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"srcIpMask\":\"{{srcIpMask}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"dstIpMask\":\"{{dstIpMask}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\",\n \"protocol\":\"0\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"dscp-tos-overwrite\":\"0xa0\",\n \"dscp-tos-mask\":\"0xff\"\n },\n \"traffic-profile\":{ \n \t\t\"service-class-name-profile\": {\n \t\t\t\"service-class-name\": \"{{scnUp}}\"\n \t\t}\n }\n }\n }\n }\n}\n" + }, + "description": "PUT gate with ext classifier" + }, + "response": [] + }, + { + "name": "Gate w/ ext classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-classifier}}/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves the gate with ext classifier." + }, + "response": [] + }, + { + "name": "Gate w/ ext classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ext}}/subscribers/subscriber/{{subId-ext}}/gates/gate/{{gateId-classifier}}/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Delete QoS gate with ext classifier" + }, + "response": [] + }, + { + "name": "Gate w/ IPv6 classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-ipv6}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ipv6-classifier\": {\n \"srcIp6\": \"{{srcIp-IPv6}}\",\n \"dstIp6\": \"{{dstIp-IPv6}}\",\n \"flow-label\": \"101\",\n \"tc-low\": \"0xa0\",\n \"tc-high\": \"0xc0\",\n \"tc-mask\": \"0xe0\",\n \"next-hdr\": \"256\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "PUT gate with IPv6 classifier" + }, + "response": [] + }, + { + "name": "Create Gate w/ IPv6 classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-ipv6}}\",\n \"subscriberId\":\"{{subId-ipv6}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-ipv6}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"ipv6-classifier\":{ \n \"srcIp6\":\"{{srcIp-IPv6}}\",\n \"dstIp6\":\"{{dstIp-IPv6}}\",\n \"flow-label\":\"101\",\n \"tc-low\":\"0xa0\",\n \"tc-high\":\"0xc0\",\n \"tc-mask\":\"0xe0\",\n \"next-hdr\":\"256\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"dscp-tos-overwrite\":\"0xa0\",\n \"dscp-tos-mask\":\"0xff\"\n },\n \"traffic-profile\":{ \n \t\"service-class-name-profile\": {\n \t\t\t\"service-class-name\": \"{{scnUp}}\"\n \t\t}\n }\n }\n }\n }\n}" + }, + "description": "PUT gate with IPv6 classifier" + }, + "response": [] + }, + { + "name": "Gate w/ IPv6 classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-classifier}}/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Retrieves the gate with IPv6 classifier." + }, + "response": [] + }, + { + "name": "Gate w/ IPv6 classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-ipv6}}/subscribers/subscriber/{{subId-ipv6}}/gates/gate/{{gateId-ipv6}}/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Delete QoS gate with IPv6 classifier" + }, + "response": [] + }, + { + "name": "Gate w/ Multiple Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-2a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"3\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-3a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"4\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n \n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Create Gate w/ Multiple Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-classifier}}\",\n \"subscriberId\":\"{{subId-classifier}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"ext-classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"srcIpMask\":\"{{srcIpMask}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"dstIpMask\":\"{{dstIpMask}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\",\n \"protocol\":\"0\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n },\n { \n \"classifier-id\":\"2\",\n \"ext-classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"srcIpMask\":\"{{srcIpMask}}\",\n \"dstIp\":\"{{dstIp-2a}}\",\n \"dstIpMask\":\"{{dstIpMask}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\",\n \"protocol\":\"0\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n },\n { \n \"classifier-id\":\"3\",\n \"ext-classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"srcIpMask\":\"{{srcIpMask}}\",\n \"dstIp\":\"{{dstIp-3a}}\",\n \"dstIpMask\":\"{{dstIpMask}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\",\n \"protocol\":\"0\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n },\n { \n \"classifier-id\":\"4\",\n \"ext-classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"srcIpMask\":\"{{srcIpMask}}\",\n \"dstIp\":\"{{dstIp-4a}}\",\n \"dstIpMask\":\"{{dstIpMask}}\",\n \"tos-byte\":\"0xa0\",\n \"tos-mask\":\"0xe0\",\n \"protocol\":\"0\",\n \"srcPort-start\":\"{{srcPort-1a}}\",\n \"srcPort-end\":\"{{srcPort-1b}}\",\n \"dstPort-start\":\"{{dstPort-1a}}\",\n \"dstPort-end\":\"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"dscp-tos-overwrite\":\"0xa0\",\n \"dscp-tos-mask\":\"0xff\"\n },\n \"traffic-profile\":{ \n \"service-class-name-profile\":{ \n \"service-class-name\":\"{{scnUp}}\"\n }\n }\n }\n }\n }\n}\n" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Gate w/ Multiple Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Gate w/ Multiple Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Delete gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Gate w/ Flow-spec Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"64\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0x00\",\n \"tos-mask\": \"0x00\",\n \"priority\": \"80\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"direction\" : \"ds\",\n \"dscp-tos-overwrite\": \"0x00\",\n \"dscp-tos-mask\": \"0x0\",\n \"inactivity-timer\": 900,\n \"session-class-id\": 11\n },\n \"traffic-profile\": {\n \"flow-spec-profile\": {\n \"token-bucket-rate\": \"300\",\n \"token-bucket-size\": \"30\",\n \"peak-data-rate\": \"300000\",\n \"minimum-policed-unit\": \"300\",\n \"maximum-packet-size\": \"300\",\n \"rate\": \"20000\",\n \"slack-term\": \"0\"\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Gate w/ UGS Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0x00\",\n \"tos-mask\": \"0x00\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1b}}\",\n \"dstPort\": \"{{dstPort-1b}}\",\n \"tos-byte\": \"0x00\",\n \"tos-mask\": \"0x00\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"direction\" : \"us\",\n \"dscp-tos-overwrite\": \"0x00\",\n \"dscp-tos-mask\": \"0x0\"\n },\n \"traffic-profile\": {\n \"ugs-profile\": {\n \"request-transmission-policy\": \"895\",\n \"unsolicited-grant-size\": \"232\",\n \"grants-per-interval\": \"2\",\n \"nominal-grant-interval\": \"20000\",\n \"tolerated-grant-jitter\": \"2000\",\n \"upstream-peak-traffic-rate\": \"20000\",\n \"required-attribute-mask\": \"0\",\n \"forbidden-attribute-mask\": \"0\",\n \"attribute-aggregation-rule-mask\": \"0\"\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Gate w/ RTP Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-classifier}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-classifier}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-classifier}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0x00\",\n \"tos-mask\": \"0x00\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1b}}\",\n \"dstPort\": \"{{dstPort-1b}}\",\n \"tos-byte\": \"0x00\",\n \"tos-mask\": \"0x00\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"direction\" : \"us\",\n \"dscp-tos-overwrite\": \"0x00\",\n \"dscp-tos-mask\": \"0x0\"\n },\n \"traffic-profile\": {\n \"rtp-profile\": {\n \"request-transmission-policy\": \"895\",\n \"maximum-sustained-traffic-rate\": \"23200\",\n \"maximum-traffic-burst\": \"2000\",\n \"minimum-reserved-traffic-rate\": \"20000\",\n \"amrtr-packet-size\": \"2000\",\n \"maximum-concatenated-burst\": \"20000\",\n \"nominal-polling-interval\": \"20\",\n \"tolerated-poll-jitter\": \"0\",\n \"upstream-peak-traffic-rate\": \"1000\",\n \"required-attribute-mask\": \"0\",\n \"forbidden-attribute-mask\": \"0\",\n \"attribute-aggregation-rule-mask\": \"0\"\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Create Gate w/ Flow Spec Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-classifier}}\",\n \"subscriberId\":\"{{subId-classifier}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"64\",\n \"srcPort\":\"{{srcPort-1a}}\",\n \"dstPort\":\"{{dstPort-1a}}\",\n \"tos-byte\":\"0x00\",\n \"tos-mask\":\"0x00\",\n \"priority\":\"80\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"direction\":\"ds\",\n \"dscp-tos-overwrite\":\"0x00\",\n \"dscp-tos-mask\":\"0x0\",\n \"inactivity-timer\":900,\n \"session-class-id\":11\n },\n \"traffic-profile\":{ \n \"flow-spec-profile\":{ \n \"token-bucket-rate\":\"300\",\n \"token-bucket-size\":\"30\",\n \"peak-data-rate\":\"300000\",\n \"minimum-policed-unit\":\"300\",\n \"maximum-packet-size\":\"300\",\n \"rate\":\"20000\",\n \"slack-term\":\"0\"\n }\n }\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Create Gate w/ UGS Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-classifier}}\",\n \"subscriberId\":\"{{subId-classifier}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"0\",\n \"srcPort\":\"{{srcPort-1a}}\",\n \"dstPort\":\"{{dstPort-1a}}\",\n \"tos-byte\":\"0x00\",\n \"tos-mask\":\"0x00\"\n }\n },\n { \n \"classifier-id\":\"2\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"0\",\n \"srcPort\":\"{{srcPort-1b}}\",\n \"dstPort\":\"{{dstPort-1b}}\",\n \"tos-byte\":\"0x00\",\n \"tos-mask\":\"0x00\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"direction\":\"us\",\n \"dscp-tos-overwrite\":\"0x00\",\n \"dscp-tos-mask\":\"0x0\"\n },\n \"traffic-profile\":{ \n \"ugs-profile\":{ \n \"request-transmission-policy\":\"895\",\n \"unsolicited-grant-size\":\"232\",\n \"grants-per-interval\":\"2\",\n \"nominal-grant-interval\":\"20000\",\n \"tolerated-grant-jitter\":\"2000\",\n \"upstream-peak-traffic-rate\":\"20000\",\n \"required-attribute-mask\":\"0\",\n \"forbidden-attribute-mask\":\"0\",\n \"attribute-aggregation-rule-mask\":\"0\"\n }\n }\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Create Gate w/ RTP Profile", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/operations/packetcable:qos-set-gate", + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{ \n \"input\":{ \n \"appId\":\"{{appId-classifier}}\",\n \"subscriberId\":\"{{subId-classifier}}\",\n \"gates\":{ \n \"gate\":{ \n \"gateId\":\"{{gateId-classifier}}\",\n \"classifiers\":{ \n \"classifier-container\":[ \n { \n \"classifier-id\":\"1\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"0\",\n \"srcPort\":\"{{srcPort-1a}}\",\n \"dstPort\":\"{{dstPort-1a}}\",\n \"tos-byte\":\"0x00\",\n \"tos-mask\":\"0x00\"\n }\n },\n { \n \"classifier-id\":\"2\",\n \"classifier\":{ \n \"srcIp\":\"{{srcIp-1a}}\",\n \"dstIp\":\"{{dstIp-1a}}\",\n \"protocol\":\"0\",\n \"srcPort\":\"{{srcPort-1b}}\",\n \"dstPort\":\"{{dstPort-1b}}\",\n \"tos-byte\":\"0x00\",\n \"tos-mask\":\"0x00\"\n }\n }\n ]\n },\n \"gate-spec\":{ \n \"direction\":\"us\",\n \"dscp-tos-overwrite\":\"0x00\",\n \"dscp-tos-mask\":\"0x0\"\n },\n \"traffic-profile\":{ \n \"rtp-profile\":{ \n \"request-transmission-policy\":\"895\",\n \"maximum-sustained-traffic-rate\":\"23200\",\n \"maximum-traffic-burst\":\"2000\",\n \"minimum-reserved-traffic-rate\":\"20000\",\n \"amrtr-packet-size\":\"2000\",\n \"maximum-concatenated-burst\":\"20000\",\n \"nominal-polling-interval\":\"20\",\n \"tolerated-poll-jitter\":\"0\",\n \"upstream-peak-traffic-rate\":\"1000\",\n \"required-attribute-mask\":\"0\",\n \"forbidden-attribute-mask\":\"0\",\n \"attribute-aggregation-rule-mask\":\"0\"\n }\n }\n }\n }\n }\n}" + }, + "description": "Get gate with Multiple classifiers" + }, + "response": [] + }, + { + "name": "Bad - Gate w/ incomplete classifier", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-bad}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-bad}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-bad}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n }\n }\n}" + }, + "description": "PUT gate with a standard classifier that is missing some data" + }, + "response": [] + }, + { + "name": "Bad - Gate w/ invalid subscriber", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-bad}}/subscribers/subscriber/1.2.3.4/gates/gate/{{gateId-bad}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-bad}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "PUT gate with a standard classifier that formed\ncorectly but the subscriber is unknown to the CCAP." + }, + "response": [] + }, + { + "name": "Bad - Gate w/ Legacy & Ext Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-multi}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },{\n \"classifier-id\": \"2\",\n \"classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"protocol\": \"0\",\n \"srcPort\": \"{{srcPort-1a}}\",\n \"dstPort\": \"{{dstPort-1a}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\"\n }\n }\n \n \n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "Get gate with Legacy & Extended classifiers" + }, + "response": [] + }, + { + "name": "Bad? Gate w/ 24 Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"gate\": {\n \"gateId\": \"{{gateId-multi}}\",\n \"classifiers\": {\n \"classifier-container\": [\n {\n \"classifier-id\": \"1\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-1a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"2\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-2a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"3\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-3a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"4\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"5\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"6\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"7\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"8\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"9\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"10\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"11\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"12\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"13\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"14\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"15\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"16\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"17\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"18\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"19\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"20\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"21\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"22\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"23\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n },\n {\n \"classifier-id\": \"24\",\n \"ext-classifier\": {\n \"srcIp\": \"{{srcIp-1a}}\",\n \"srcIpMask\": \"{{srcIpMask}}\",\n \"dstIp\": \"{{dstIp-4a}}\",\n \"dstIpMask\": \"{{dstIpMask}}\",\n \"tos-byte\": \"0xa0\",\n \"tos-mask\": \"0xe0\",\n \"protocol\": \"0\",\n \"srcPort-start\": \"{{srcPort-1a}}\",\n \"srcPort-end\": \"{{srcPort-1b}}\",\n \"dstPort-start\": \"{{dstPort-1a}}\",\n \"dstPort-end\": \"{{dstPort-1b}}\"\n }\n }\n ]\n },\n \"gate-spec\": {\n \"dscp-tos-overwrite\": \"0xa0\",\n \"dscp-tos-mask\": \"0xff\"\n },\n \"traffic-profile\": {\n \"service-class-name-profile\": {\n \t\t\"service-class-name\": \"{{scnUp}}\"\n }\n }\n }\n}" + }, + "description": "Put a gate with 24 classifiers. Spec requires support for 4 but there is no maximum.\nHowever this is proably more than a CCAP will support." + }, + "response": [] + }, + { + "name": "Bad? Gate w/ 24 Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "Get a gate with 24 classifiers.\nThis is proably more than a CMTS will support." + }, + "response": [] + }, + { + "name": "Bad? Gate w/ 24 Classifiers", + "request": { + "url": "http://{{odlHost}}:{{odlPort}}/restconf/config/packetcable:qos/apps/app/{{appId-multi}}/subscribers/subscriber/{{subId-classifier}}/gates/gate/{{gateId-multi}}/", + "method": "DELETE", + "header": [ + { + "key": "Authorization", + "value": "Basic YWRtaW46YWRtaW4=", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "Put a gate with 24 classifiers.\nThis is proably more than a CMTS will support." + }, + "response": [] + } + ] } ] } \ No newline at end of file diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMGateReqBuilder.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMGateReqBuilder.java index 96fb041..29ce558 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMGateReqBuilder.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMGateReqBuilder.java @@ -16,23 +16,23 @@ import java.net.Inet6Address; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.List; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceFlowDirection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.flow.spec.profile.FlowSpecProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.ugs.profile.UgsProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.rtp.profile.RtpProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.flow.spec.profile.FlowSpecProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.ugs.profile.UgsProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.rtp.profile.RtpProfile; import org.pcmm.gates.IClassifier; import org.pcmm.gates.IClassifier.Protocol; import org.pcmm.gates.IExtendedClassifier; @@ -57,12 +57,12 @@ import org.pcmm.gates.impl.TransactionID; import org.pcmm.utils.PCMMUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.RtpChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.UgsChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.RtpChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.UgsChoice; /** * Build PCMM gate requests from API QoS Gate objects diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMService.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMService.java index 2ea57b1..6c466a4 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMService.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PCMMService.java @@ -13,10 +13,10 @@ import java.util.Map; import javax.annotation.concurrent.ThreadSafe; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceClassName; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceFlowDirection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; import org.pcmm.PCMMPdpAgent; import org.pcmm.PCMMPdpDataProcess; import org.pcmm.PCMMPdpMsgSender; diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java index c845289..330a33e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/PacketcableProvider.java @@ -50,56 +50,81 @@ import org.opendaylight.controller.packetcable.provider.validation.impl.CcapsVal import org.opendaylight.controller.packetcable.provider.validation.impl.QosValidatorProviderFactory; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext; import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RoutedRpcRegistration; +import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.RpcRegistration; import org.opendaylight.controller.sal.binding.api.BindingAwareProvider; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.AppContext; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapContext; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapPollConnectionInput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapPollConnectionOutput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapPollConnectionOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapSetConnectionInput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapSetConnectionOutput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapSetConnectionOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.PacketcableService; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Qos; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.QosPollGatesInput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.QosPollGatesOutput; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.QosPollGatesOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceClassName; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceFlowDirection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.ConnectionBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.CcapBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpecBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.AppBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.AppKey; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.SubscribersBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.SubscriberBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.SubscriberKey; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.GatesBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateKey; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfileBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.flow.spec.profile.FlowSpecProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.AppContext; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapContext; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapPollConnectionInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapPollConnectionOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapPollConnectionOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapSetConnectionOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.PacketcableService; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Qos; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosPollGatesOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosSetGateOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosDeleteGateOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoInput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoOutput; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.QosGateInfoOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.ConnectionBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.CcapBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpecBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.AppBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.AppKey; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.SubscribersBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.SubscriberBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.SubscriberKey; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.GatesBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateKey; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfileBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.flow.spec.profile.FlowSpecProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.SetResponseType; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailure; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.response.set.response.type.SetFailureBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteFailure; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.delete.gate.response.delete.response.type.DeleteFailureBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessful; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoSuccessfulBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoFailure; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.InfoFailureBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.packetcable.packetcable.policy.server.impl.rev140131.PacketcableProviderModule; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.FailureType; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -150,7 +175,10 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, private MdsalUtils mdsalUtils; //Routed RPC Registration - private RoutedRpcRegistration rpcRegistration; + private RoutedRpcRegistration routedRpcRegistration; + + // unrouted RPC Registration + private RpcRegistration rpcRegistration; // Data change listeners/registrations private final CcapsDataTreeChangeListener ccapsDataTreeChangeListener = new CcapsDataTreeChangeListener(); @@ -163,13 +191,15 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, * Constructor */ public PacketcableProvider() { - logger.info("Starting provider"); + logger.info("Starting Packetcable Provider"); } @Override public void onSessionInitiated(ProviderContext session) { logger.info("Packetcable Session Initiated"); - logger.info("logging levels: error={}, warn={}, info={}, debug={}, trace={}", logger.isErrorEnabled(), logger.isWarnEnabled(), logger.isInfoEnabled(), logger.isDebugEnabled(), logger.isTraceEnabled()); + logger.info("logging levels: error={}, warn={}, info={}, debug={}, trace={}", + logger.isErrorEnabled(), logger.isWarnEnabled(), + logger.isInfoEnabled(), logger.isDebugEnabled(), logger.isTraceEnabled()); dataBroker = session.getSALService(DataBroker.class); @@ -186,8 +216,10 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, qosDataTreeChangeListenerRegistration = dataBroker.registerDataTreeChangeListener(appDataTreeIid, new QosDataTreeChangeListener()); - rpcRegistration = session.addRoutedRpcImplementation(PacketcableService.class, this); - logger.info("onSessionInitiated().rpcRgistration: {}", rpcRegistration); + rpcRegistration = session.addRpcImplementation(PacketcableService.class, this); + logger.info("onSessionInitiated().rpcRegistration: {}", rpcRegistration); + routedRpcRegistration = session.addRoutedRpcImplementation(PacketcableService.class, this); + logger.info("onSessionInitiated().routedRpcRegistration: {}", routedRpcRegistration); } @@ -203,6 +235,10 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, if (qosDataTreeChangeListenerRegistration != null) { qosDataTreeChangeListenerRegistration.close(); } + + if (rpcRegistration != null) { + rpcRegistration.close(); + } } private void updateCcapMaps(final Ccap ccap) { @@ -434,7 +470,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, void postRemove(final InstanceIdentifier appIID) { //unregister app rpc path logger.info("Un-Registering App Routed RPC Path..."); - rpcRegistration.unregisterPath(AppContext.class, appIID); + routedRpcRegistration.unregisterPath(AppContext.class, appIID); executor.execute(new AppsCleaner(appIID)); } } @@ -568,7 +604,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, //register rpc logger.info("Registering CCAP Routed RPC Path..."); - rpcRegistration.registerPath(CcapContext.class, iid); + routedRpcRegistration.registerPath(CcapContext.class, iid); Optional optionalCcap = mdsalUtils.read(LogicalDatastoreType.OPERATIONAL, iid); @@ -587,10 +623,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, @Override protected void handleUpdatedData(final DataTreeModification change) { - //final Ccap ccap = (Ccap) change.getRootNode().getIdentifier(); InstanceIdentifier iid = change.getRootPath().getRootIdentifier(); - // TODO actually support updates - // update operation not allowed -- restore the original config object and complain // If this notification is coming from our modification ignore it. if (updateQueue.contains(iid)) { @@ -598,17 +631,15 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, return; } - final Ccap originalCcap = change.getRootNode().getDataBefore(); - //final Ccap updatedCcap = entry.getValue(); + final Ccap updatedCcap = change.getRootNode().getDataAfter(); //register rpc logger.info("Registering CCAP Routed RPC Path..."); - rpcRegistration.registerPath(CcapContext.class, iid); + routedRpcRegistration.registerPath(CcapContext.class, iid); // restore the original data updateQueue.add(iid); - mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, iid, originalCcap); - logger.error("CCAP update not permitted {}", iid); + mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, iid, updatedCcap); } @Override @@ -620,7 +651,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, //unregister ccap rpc path logger.info("Un-Registering CCAP Routed RPC Path..."); - rpcRegistration.unregisterPath(CcapContext.class, iid); + routedRpcRegistration.unregisterPath(CcapContext.class, iid); mdsalUtils.delete(LogicalDatastoreType.OPERATIONAL, iid); @@ -658,7 +689,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, //register appID RPC path logger.info("Registering App Routed RPC Path..."); - rpcRegistration.registerPath(AppContext.class, appIID); + routedRpcRegistration.registerPath(AppContext.class, appIID); final InstanceIdentifier subscriberIID = gateIID.firstIdentifierOf(Subscriber.class); final SubscriberKey subscriberKey = InstanceIdentifier.keyOf(subscriberIID); @@ -819,10 +850,6 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, @Override protected void handleUpdatedData(final DataTreeModification change) { InstanceIdentifier gateIID = change.getRootPath().getRootIdentifier(); - //final Gate newGate = (Gate) change.getRootNode().getIdentifier(); - // TODO actually support updates - - // update operation not allowed -- restore the original config object and complain // If this notification is coming from our modification ignore it. if (updateQueue.contains(gateIID)) { @@ -830,12 +857,11 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, return; } - final Gate originalGate = change.getRootNode().getDataBefore(); + final Gate updatedGate = change.getRootNode().getDataAfter(); // restores the original data updateQueue.add(gateIID); - mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, gateIID, originalGate); - logger.error("Update not permitted {}", gateIID); + mdsalUtils.put(LogicalDatastoreType.CONFIGURATION, gateIID, updatedGate); } @Override @@ -933,15 +959,15 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, } DateAndTime connectionDateAndTime = getNowTimeStamp(); - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.set.connection.output.ccap.ConnectionBuilder + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.set.connection.output.ccap.ConnectionBuilder connectionRpcOutput = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.set.connection.output.ccap.ConnectionBuilder() + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.set.connection.output.ccap.ConnectionBuilder() .setConnected(effectiveIsConnected) .setError(outputError) .setTimestamp(connectionDateAndTime); - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.set.connection.output.CcapBuilder ccapRpcOutput = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.set.connection.output.CcapBuilder().setCcapId( + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.set.connection.output.CcapBuilder ccapRpcOutput = + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.set.connection.output.CcapBuilder().setCcapId( ccapId).setConnection(connectionRpcOutput.build()); @@ -978,9 +1004,9 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, PCMMService pcmmService = pcmmServiceMap.get(ccapId); Boolean effectiveIsConnected = true; String response = null; - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.poll.connection.output.ccap.ConnectionBuilder + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.poll.connection.output.ccap.ConnectionBuilder connectionRpcOutput = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.poll.connection.output.ccap.ConnectionBuilder(); + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.poll.connection.output.ccap.ConnectionBuilder(); if (pcmmService != null) { if (pcmmService.getPcmmPdpSocket()) { @@ -1010,7 +1036,7 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, CcapBuilder responseCcapBuilder = new CcapBuilder().setCcapId(ccapId).setConnection(connectionOps.build()); connectionRpcOutput = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.poll.connection.output.ccap.ConnectionBuilder() + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.poll.connection.output.ccap.ConnectionBuilder() .setConnected(effectiveIsConnected) .setError(outputError) .setTimestamp(connectionDateAndTime); @@ -1024,8 +1050,8 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, DateAndTime rpcDateAndTime = getNowTimeStamp(); - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.poll.connection.output.CcapBuilder ccapRpcOutput = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.poll.connection.output.CcapBuilder().setCcapId( + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.poll.connection.output.CcapBuilder ccapRpcOutput = + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.poll.connection.output.CcapBuilder().setCcapId( ccapId).setConnection(connectionRpcOutput.build()); CcapPollConnectionOutputBuilder outputBuilder = @@ -1070,6 +1096,452 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, + @Override + public Future> qosSetGate(QosSetGateInput input) { + logger.debug("RPC call to qosSetGate()"); + + String inputAppIid = input.getAppId(); + String inputSubscriberId = input.getSubscriberId(); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.set.gate.input.Gates gates = input.getGates(); + List gate = gates.getGate(); + QosSetGateOutputBuilder outputBuilder = new QosSetGateOutputBuilder(); + + String inputGateId = gate.get(0).getGateId(); + Boolean retryOption = false; + InstanceIdentifier gateIID = qosIID.builder() + .child(Apps.class) + .child(App.class, new AppKey(inputAppIid)) + .child(Subscribers.class) + .child(Subscriber.class, new SubscriberKey(inputSubscriberId)) + .child(Gates.class) + .child(Gate.class, new GateKey(inputGateId)) + .build(); + + Gate newGate = readGateFromOperationalDatastore(gateIID); + final String newGatePathStr = "/" + inputAppIid + "/" + inputSubscriberId + "/" + inputGateId; + + final InetAddress subscriberAddr = getInetAddress(inputSubscriberId); + if (subscriberAddr == null) { + final String msg = String.format("SubscriberId must be a valid ipaddress: %s", + inputSubscriberId); + logger.error(msg); + SetFailureBuilder fb = new SetFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final SetFailure f = fb.build(); + outputBuilder.setSetResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + final Ccap ccap = findCcapForSubscriberId(subscriberAddr); + if (ccap == null) { + final String msg = + String.format("qosSetGate(): Error finding CCAP for %s", newGatePathStr); + logger.error(msg); + SetFailureBuilder fb = new SetFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final SetFailure f = fb.build(); + outputBuilder.setSetResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + logger.debug("Mapped {} to {}", inputSubscriberId, ccap.getCcapId()); + + final PCMMService pcmmService = pcmmServiceMap.get(ccap.getCcapId()); + if (pcmmService == null) { + final String msg = + String.format("Unable to locate PCMM Service for CCAP: %s ; with subscriber: %s", ccap, inputSubscriberId); + logger.error(msg); + SetFailureBuilder fb = new SetFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final SetFailure f = fb.build(); + outputBuilder.setSetResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + final GateBuilder gateBuilder = new GateBuilder(); + gateBuilder.setGateId(inputGateId) + .setGatePath(newGatePathStr) + .setCcapId(ccap.getCcapId()) + .setCopsGateId(gate.get(0).getCopsGateId()) + .setTimestamp(getNowTimeStamp()) + .setTimestamp(getNowTimeStamp()) + .setGateSpec(gate.get(0).getGateSpec()) + .setTrafficProfile(gate.get(0).getTrafficProfile()) + .setClassifiers(gate.get(0).getClassifiers()); + + newGate = gateBuilder.build(); + + if (gate.get(0).getCopsGateId() != null) { + retryOption = true; + } + + PCMMService.GateSendStatus status = null; + synchronized (pcmmService) { + logger.info("Sending gate: Path {} inputSubscriberId {} cops-gate-id {}", + newGatePathStr, inputSubscriberId, gate.get(0).getCopsGateId()); + + status = pcmmService.sendGateSet(newGatePathStr, subscriberAddr, newGate); + } + + if (status.didSucceed()) { + + gateMap.put(newGatePathStr, newGate); + gateCcapMap.put(newGatePathStr, ccap.getCcapId()); + Long copsGateId = 0L; + SetSuccessfulBuilder sb = new SetSuccessfulBuilder(); + + if (status.getCopsGateId() != null) { + logger.debug("newGate.getCopsGateId() = {} ", status.getCopsGateId()); + copsGateId = Long.decode(status.getCopsGateId()); + sb.setCopsGateId(copsGateId); + if (status.getCopsGateId() != null) { + gateBuilder.setCopsGateId(status.getCopsGateId()); + } + if (status.getCopsGateState() != null) { + gateBuilder.setCopsGateState(status.getCopsGateState()); + } + if (status.getCopsGateTimeInfo() != null) { + gateBuilder.setCopsGateTimeInfo(status.getCopsGateTimeInfo()); + } + if (status.getCopsGateUsageInfo() != null) { + gateBuilder.setCopsGateUsageInfo(status.getCopsGateUsageInfo()); + } + } + + mdsalUtils.put(LogicalDatastoreType.OPERATIONAL, gateIID, gateBuilder.build()); + + final SetSuccessful s = sb.build(); + outputBuilder.setSetResponseType(s); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + else { + if (retryOption == true) { + // Try one more time with blank Cops Gate Id in case the gate has timed out unexpectedly + logger.info("qosSetGate error msg: {} reason: {}", status.getMessage(), status.getCopsGateStateReason()); + final GateBuilder retryGateBuilder = new GateBuilder(); + retryGateBuilder.setGateId(inputGateId) + .setGatePath(newGatePathStr) + .setCcapId(ccap.getCcapId()) + .setTimestamp(getNowTimeStamp()) + .setTimestamp(getNowTimeStamp()) + .setGateSpec(gate.get(0).getGateSpec()) + .setTrafficProfile(gate.get(0).getTrafficProfile()) + .setClassifiers(gate.get(0).getClassifiers()); + + newGate = retryGateBuilder.build(); + + synchronized (pcmmService) { + logger.info("Sending gate: Path {} inputSubscriberId {} with cops-gate-id undefined", + newGatePathStr); + + status = pcmmService.sendGateSet(newGatePathStr, subscriberAddr, newGate); + } + + if (status.didSucceed()) { + + gateMap.put(newGatePathStr, newGate); + gateCcapMap.put(newGatePathStr, ccap.getCcapId()); + Long copsGateId = 0L; + SetSuccessfulBuilder sb = new SetSuccessfulBuilder(); + + if (status.getCopsGateId() != null) { + logger.debug("newGate.getCopsGateId() = {} ", status.getCopsGateId()); + copsGateId = Long.decode(status.getCopsGateId()); + sb.setCopsGateId(copsGateId); + if (status.getCopsGateId() != null) { + gateBuilder.setCopsGateId(status.getCopsGateId()); + } + if (status.getCopsGateState() != null) { + gateBuilder.setCopsGateState(status.getCopsGateState()); + } + if (status.getCopsGateTimeInfo() != null) { + gateBuilder.setCopsGateTimeInfo(status.getCopsGateTimeInfo()); + } + if (status.getCopsGateUsageInfo() != null) { + gateBuilder.setCopsGateUsageInfo(status.getCopsGateUsageInfo()); + } + } + + mdsalUtils.put(LogicalDatastoreType.OPERATIONAL, gateIID, gateBuilder.build()); + + final SetSuccessful s = sb.build(); + outputBuilder.setSetResponseType(s); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + } + SetFailureBuilder fb = new SetFailureBuilder(); + final FailureType ft = FailureType.Failed; + fb.setFailure(ft); + fb.setMessage(status.getMessage()); + final SetFailure f = fb.build(); + outputBuilder.setSetResponseType(f); + logger.error("qosSetGate error msg: {} reason: {}", status.getMessage(), status.getCopsGateStateReason()); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + } + + @Override + public Future> qosDeleteGate(QosDeleteGateInput input) { + logger.debug("RPC call to qosDeleteGate()"); + + + String inputAppIid = input.getAppId(); + String inputSubscriberId = input.getSubscriberId(); + String inputGateId = input.getGateId(); + String strGateId = null; + + InstanceIdentifier gateIID = qosIID.builder() + .child(Apps.class) + .child(App.class, new AppKey(inputAppIid)) + .child(Subscribers.class) + .child(Subscriber.class, new SubscriberKey(inputSubscriberId)) + .child(Gates.class) + .child(Gate.class, new GateKey(inputGateId)) + .build(); + + Gate newGate = readGateFromOperationalDatastore(gateIID); + QosDeleteGateOutputBuilder outputBuilder = new QosDeleteGateOutputBuilder(); + final String newGatePathStr = "/" + inputAppIid + "/" + inputSubscriberId + "/" + inputGateId; + + if (newGate != null) { + strGateId = newGate.getCopsGateId(); + if ((strGateId == null) || (strGateId.length() == 0) || (strGateId.equals("null"))){ + final String msg = + String.format("qosDeleteGate(): Unknown CopsGateId %s", newGatePathStr); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + else { + logger.debug("PacketcableProvider: gateId = {} ", strGateId); + } + } + else { + final String msg = + String.format("qosDeleteGate(): Error deleting gate %s", newGatePathStr); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + final InetAddress subscriberAddr = getInetAddress(inputSubscriberId); + if (subscriberAddr == null) { + final String msg = String.format("SubscriberId must be a valid ipaddress: %s", + inputSubscriberId); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + final Ccap ccap = findCcapForSubscriberId(subscriberAddr); + if (ccap == null) { + final String msg = String.format("Unable to find Ccap for subscriber %s:", + inputSubscriberId); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + logger.debug("Mapped {} to {}", inputSubscriberId, ccap.getCcapId()); + + final PCMMService pcmmService = pcmmServiceMap.get(ccap.getCcapId()); + if (pcmmService == null) { + final String msg = + String.format("Unable to locate PCMM Service for CCAP: %s ; with subscriber: %s", ccap, inputSubscriberId); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + Boolean status = false; + synchronized (pcmmService) { + status = pcmmService.sendGateDelete(newGatePathStr); + } + + if (status == true) { + Long copsGateId = 0L; + copsGateId = Long.decode(strGateId); + + logger.info("qosDeleteGate(): Successfully deleted gate {}", newGatePathStr); + mdsalUtils.delete(LogicalDatastoreType.OPERATIONAL, gateIID); + DeleteSuccessfulBuilder sb = new DeleteSuccessfulBuilder(); + sb.setCopsGateId(copsGateId); + final DeleteSuccessful s = sb.build(); + outputBuilder.setDeleteResponseType(s); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + else { + final String msg = String.format("qosDeleteGate(): Error deleting gate %s", newGatePathStr); + logger.error(msg); + DeleteFailureBuilder fb = new DeleteFailureBuilder(); + final FailureType ft = FailureType.Failed; + fb.setFailure(ft); + fb.setMessage(msg); + final DeleteFailure f = fb.build(); + outputBuilder.setDeleteResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + } + + @Override + public Future> qosGateInfo(QosGateInfoInput input) { + logger.debug("RPC call to qosGateInfo()"); + + String inputAppIid = input.getAppId(); + String inputSubscriberId = input.getSubscriberId(); + String inputGateId = input.getGateId(); + QosGateInfoOutputBuilder outputBuilder = new QosGateInfoOutputBuilder(); + InstanceIdentifier gateIID = qosIID.builder() + .child(Apps.class) + .child(App.class, new AppKey(inputAppIid)) + .child(Subscribers.class) + .child(Subscriber.class, new SubscriberKey(inputSubscriberId)) + .child(Gates.class) + .child(Gate.class, new GateKey(inputGateId)) + .build(); + + Gate infoGate = readGateFromOperationalDatastore(gateIID); + final String newGatePathStr = "/" + inputAppIid + "/" + inputSubscriberId + "/" + inputGateId; + + final InetAddress subscriberAddr = getInetAddress(inputSubscriberId); + if (subscriberAddr == null) { + final String msg = String.format("SubscriberId must be a valid ipaddress: %s", + inputSubscriberId); + logger.error(msg); + InfoFailureBuilder fb = new InfoFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final InfoFailure f = fb.build(); + outputBuilder.setInfoResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + final Ccap ccap = findCcapForSubscriberId(subscriberAddr); + if (ccap == null) { + final String msg = String.format("Unable to find Ccap for subscriber %s:", + inputSubscriberId); + logger.error(msg); + InfoFailureBuilder fb = new InfoFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final InfoFailure f = fb.build(); + outputBuilder.setInfoResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + logger.debug("Mapped {} to {}", inputSubscriberId, ccap.getCcapId()); + + final PCMMService pcmmService = pcmmServiceMap.get(ccap.getCcapId()); + if (pcmmService == null) { + final String msg = + String.format("Unable to locate PCMM Service for CCAP: %s ; with subscriber: %s", + ccap, inputSubscriberId); + logger.error(msg); + InfoFailureBuilder fb = new InfoFailureBuilder(); + final FailureType ft = FailureType.Unsent; + fb.setFailure(ft); + fb.setMessage(msg); + final InfoFailure f = fb.build(); + outputBuilder.setInfoResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + + PCMMService.GateSendStatus status = null; + + synchronized (pcmmService) { + status = pcmmService.sendGateInfo(newGatePathStr); + } + + if (status.didSucceed()) { + DateAndTime gateDateAndTime = getNowTimeStamp(); + List gateOutputError = Collections.emptyList(); + gateOutputError = Collections.singletonList(status.getMessage()); + GateBuilder gateBuilder = new GateBuilder(); + + gateBuilder.setGateId(inputGateId) + .setGatePath(newGatePathStr) + .setCcapId(ccap.getCcapId()) + .setCopsGateState(status.getCopsGateState() + "/" + status.getCopsGateStateReason()) + .setCopsGateTimeInfo(status.getCopsGateTimeInfo()) + .setCopsGateUsageInfo(status.getCopsGateUsageInfo()) + .setCopsGateId(status.getCopsGateId()) + .setError(gateOutputError) + .setTimestamp(gateDateAndTime); + + infoGate = gateBuilder.build(); + + mdsalUtils.put(LogicalDatastoreType.OPERATIONAL, gateIID, infoGate); + + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.gates.GateBuilder responseGateBuilder + = new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.gates.GateBuilder(); + responseGateBuilder.fieldsFrom(infoGate); + responseGateBuilder.setGateId(inputGateId); + responseGateBuilder.setGatePath(newGatePathStr); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.gates.Gate responseGate = + responseGateBuilder.build(); + List responseGateList = + new ArrayList(); + responseGateList.add(responseGate); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.GatesBuilder responseGatesBuilder = + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.GatesBuilder(); + responseGatesBuilder.setGate(responseGateList); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.gate.info.response.info.response.type.info.successful.Gates responseGates = + responseGatesBuilder.build(); + + InfoSuccessfulBuilder sb = new InfoSuccessfulBuilder(); + sb.setGates(responseGates); + final InfoSuccessful s = sb.build(); + outputBuilder.setInfoResponseType(s); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + else { + final String msg = + String.format("qosGateInfo(): error msg: %s reason: %s", status.getMessage(), status.getCopsGateStateReason()); + logger.error(msg); + InfoFailureBuilder fb = new InfoFailureBuilder(); + final FailureType ft = FailureType.Failed; + fb.setFailure(ft); + fb.setMessage(msg); + final InfoFailure f = fb.build(); + outputBuilder.setInfoResponseType(f); + return Futures.immediateFuture(RpcResultBuilder.success(outputBuilder.build()).build()); + } + } + @Override public Future> qosPollGates(QosPollGatesInput input) { // TODO refactor this method into smaller parts @@ -1091,8 +1563,8 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, String rpcResponse = null; - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.qos.poll.gates.output.GateBuilder gateOutputBuilder = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.qos.poll.gates.output.GateBuilder(); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.poll.gates.output.GateBuilder gateOutputBuilder = + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.poll.gates.output.GateBuilder(); GateBuilder gateBuilder = new GateBuilder(); @@ -1256,8 +1728,8 @@ public class PacketcableProvider implements BindingAwareProvider, AutoCloseable, @Override public void run() { - org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.qos.poll.gates.output.GateBuilder gateOutputBuilder = - new org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.qos.poll.gates.output.GateBuilder(); + org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.poll.gates.output.GateBuilder gateOutputBuilder = + new org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.qos.poll.gates.output.GateBuilder(); GateBuilder gateBuilder = new GateBuilder(); diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactory.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactory.java index ed53ce9..1b11765 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactory.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactory.java @@ -14,10 +14,10 @@ import org.opendaylight.controller.packetcable.provider.validation.impl.validato import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.CcapValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.CcapsValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.ConnectionValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; /** * A ValidatorProviderFactory that can provide validators for types under packetcable:ccaps. diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactory.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactory.java index 8f0a17d..4823f07 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactory.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactory.java @@ -23,19 +23,19 @@ import org.opendaylight.controller.packetcable.provider.validation.impl.validato import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.ClassifiersValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.ExtClassifierValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.Ipv6ClassifierValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; /** * * A ValidatorProviderFactory that can provide validators for types under packetcable:qos. diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java index a300a3b..065a99e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java index 1c55e09..a6dad9f 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java index 1c2c354..fa5cd0b 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidator.java @@ -9,8 +9,8 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java index 0ba5799..fc8e224 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java index 31d4291..286c5d9 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java index 5582b31..1142c9d 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidator.java @@ -9,8 +9,8 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidator.java index 2cd6036..ed13457 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java index db98d07..aeee4aa 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidator.java @@ -10,7 +10,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validat import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.ClassifiersValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java index b43e6c1..4209ac7 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidator.java @@ -9,8 +9,8 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java index 4c929a1..5ef2c32 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java index fd90c3d..760e2fb 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidator.java @@ -9,8 +9,8 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java index 80d8816..ac2d05e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidator.java @@ -9,14 +9,14 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.RtpChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.UgsChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.flow.spec.profile.FlowSpecProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.RtpChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.UgsChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.flow.spec.profile.FlowSpecProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java index e8eea50..09f0667 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidator.java @@ -9,10 +9,10 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidator.java index 1079e50..954e870 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidator.java index f870e8e..de87613 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; /** diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java index aae377a..01d14ab 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidator.java @@ -9,9 +9,9 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java index f0f8fa4..5e64f3e 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; /** * @author rvail diff --git a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java index 9150618..faa1de0 100644 --- a/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java +++ b/packetcable-policy-server/src/main/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidator.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.AbstractValidator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/PCMMServiceTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/PCMMServiceTest.java index 417722c..650903e 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/PCMMServiceTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/PCMMServiceTest.java @@ -35,29 +35,29 @@ import org.junit.Test; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceClassName; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceFlowDirection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TpProtocol; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.flow.spec.profile.FlowSpecProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpecBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfileBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TpProtocol; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.flow.spec.profile.FlowSpecProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpecBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfileBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.TrafficProfileChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.FlowSpecChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; import org.pcmm.PCMMPdpAgent; import org.pcmm.gates.IPCMMGate; import org.pcmm.rcd.IPCMMClient; diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/DataValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/DataValidatorTest.java index a9c2b5c..f3f0d8d 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/DataValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/DataValidatorTest.java @@ -21,7 +21,7 @@ import com.google.common.collect.Maps; import java.util.Map; import org.junit.Test; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.CcapValidatorTest; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactoryTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactoryTest.java index bb605e5..54ccfcf 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactoryTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/CcapsValidatorProviderFactoryTest.java @@ -14,10 +14,10 @@ import static org.hamcrest.MatcherAssert.assertThat; import org.junit.Test; import org.opendaylight.controller.packetcable.provider.validation.ValidatorProvider; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactoryTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactoryTest.java index a6ee4d9..08d1c60 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactoryTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/QosValidatorProviderFactoryTest.java @@ -14,19 +14,19 @@ import static org.hamcrest.MatcherAssert.assertThat; import org.junit.Test; import org.opendaylight.controller.packetcable.provider.validation.ValidatorProvider; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderFactoryImplTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderFactoryImplTest.java index 6b237a1..5a55d13 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderFactoryImplTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderFactoryImplTest.java @@ -14,23 +14,23 @@ import static org.hamcrest.MatcherAssert.assertThat; import org.junit.Test; import org.opendaylight.controller.packetcable.provider.validation.ValidatorProvider; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderImplTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderImplTest.java index fd099e3..b435a63 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderImplTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/ValidatorProviderImplTest.java @@ -16,7 +16,7 @@ import org.opendaylight.controller.packetcable.provider.validation.ValidationExc import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.ConnectionValidator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.ccaps.ConnectionValidatorTest; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidatorTest.java index daf3fa0..2f6ccbf 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/AmIdValidatorTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmId; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.AmIdBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmId; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.AmIdBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidatorTest.java index 8279ddd..b0a1388 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapValidatorTest.java @@ -14,9 +14,9 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceClassName; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.CcapBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.CcapBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidatorTest.java index 8a21bfd..b863967 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/CcapsValidatorTest.java @@ -14,9 +14,9 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.Ccaps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.CcapsBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccaps.Ccap; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.Ccaps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.CcapsBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccaps.Ccap; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidatorTest.java index 26bf422..57657c3 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/ccaps/ConnectionValidatorTest.java @@ -16,8 +16,8 @@ import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.Connection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ccap.attributes.ConnectionBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.Connection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ccap.attributes.ConnectionBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidatorTest.java index 3beb0d4..41145a9 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppValidatorTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.App; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.AppBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.App; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.AppBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidatorTest.java index 573e888..b81f03b 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/AppsValidatorTest.java @@ -14,8 +14,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.Apps; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.AppsBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.Apps; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.AppsBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatorTest.java index ce541bf..068f196 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateSpecValidatorTest.java @@ -13,10 +13,10 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceFlowDirection; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpec; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gate.spec.GateSpecBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceFlowDirection; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpec; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gate.spec.GateSpecBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidatorTest.java index e4f050a..ff65126 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GateValidatorTest.java @@ -14,8 +14,8 @@ import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.controller.packetcable.provider.validation.impl.validators.qos.classifier.ClassifiersValidatorTest; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.Gate; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.gates.GateBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidatorTest.java index 195fa02..bdaed5f 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/GatesValidatorTest.java @@ -14,8 +14,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.subscriber.GatesBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.Gates; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.subscriber.GatesBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidatorTest.java index 5b44ca9..62b2c87 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscriberValidatorTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.Subscriber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.subscribers.SubscriberBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.Subscriber; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.subscribers.SubscriberBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidatorTest.java index 05e1726..d3be940 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/SubscribersValidatorTest.java @@ -14,8 +14,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.Subscribers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.gates.apps.app.SubscribersBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.Subscribers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.gates.apps.app.SubscribersBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidatorTest.java index fa8ec22..140bcbc 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/TrafficProfileValidatorTest.java @@ -13,13 +13,13 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ServiceClassName; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.TrafficProfileBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfile; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ServiceClassName; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.TrafficProfileBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.traffic.profile.traffic.profile.traffic.profile.choice.ServiceClassNameChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfile; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.serviceclass.name.profile.ServiceClassNameProfileBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidatorTest.java index 49bba56..8266a48 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierChoiceValidatorTest.java @@ -13,12 +13,12 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoiceBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.ExtClassifierChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoice; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.Ipv6ClassifierChoiceBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.classifier.container.classifier.choice.QosClassifierChoiceBuilder; import org.opendaylight.yangtools.yang.binding.DataContainer; /** diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidatorTest.java index 2019edf..9cba672 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierContainerValidatorTest.java @@ -13,8 +13,8 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainerBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainerBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidatorTest.java index dd94bad..2fe3267 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifierValidatorTest.java @@ -15,10 +15,10 @@ import org.opendaylight.controller.packetcable.provider.validation.ValidationExc import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TpProtocol; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.classifier.ClassifierBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TpProtocol; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.classifier.ClassifierBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidatorTest.java index 62a6c79..a8dd80f 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ClassifiersValidatorTest.java @@ -15,9 +15,9 @@ import org.junit.Test; import org.opendaylight.controller.packetcable.provider.test.rules.Params; import org.opendaylight.controller.packetcable.provider.validation.ValidationException; import org.opendaylight.controller.packetcable.provider.validation.Validator; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.Classifiers; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.ClassifiersBuilder; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.classifier.attributes.classifiers.ClassifierContainer; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.Classifiers; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.ClassifiersBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.classifier.attributes.classifiers.ClassifierContainer; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidatorTest.java index bfff591..ecde2ca 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/ExtClassifierValidatorTest.java @@ -15,11 +15,11 @@ import org.opendaylight.controller.packetcable.provider.validation.ValidationExc import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ClassifierActivationState; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TpProtocol; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ext.classifier.ExtClassifierBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ClassifierActivationState; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TpProtocol; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ext.classifier.ExtClassifierBuilder; /** * @author rvail diff --git a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidatorTest.java b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidatorTest.java index a3702bd..4a96ded 100644 --- a/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidatorTest.java +++ b/packetcable-policy-server/src/test/java/org/opendaylight/controller/packetcable/provider/validation/impl/validators/qos/classifier/Ipv6ClassifierValidatorTest.java @@ -15,11 +15,11 @@ import org.opendaylight.controller.packetcable.provider.validation.ValidationExc import org.opendaylight.controller.packetcable.provider.validation.Validator; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.ClassifierActivationState; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TosByte; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.TpProtocol; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6Classifier; -import org.opendaylight.yang.gen.v1.urn.packetcable.rev170125.pcmm.qos.ipv6.classifier.Ipv6ClassifierBuilder; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.ClassifierActivationState; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TosByte; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.TpProtocol; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6Classifier; +import org.opendaylight.yang.gen.v1.urn.packetcable.rev170224.pcmm.qos.ipv6.classifier.Ipv6ClassifierBuilder; /** * @author rvail -- 2.36.6