1 module packetcable-traffic-profile
3 namespace "urn:opendaylight:flow:traffic-profile";
6 import flow-node-inventory {prefix fni; revision-date 2013-08-19; }
7 import opendaylight-inventory {prefix inv;revision-date "2013-08-19";}
8 import sal-flow {prefix sal-flow;revision-date "2013-08-19";}
9 import sal-group {prefix sal-group;revision-date "2013-09-18";}
10 import packet-processing {prefix sal-packet;revision-date "2013-07-09";}
11 import opendaylight-flow-statistics {prefix odl-flow-stats;revision-date "2013-08-19";}
12 import opendaylight-group-statistics {prefix odl-group-stats;revision-date "2013-11-11";}
14 organization "OpenDaylight Project";
18 "This module contains a collection of groupings and
19 data definition statements related to the configuration
20 of Traffic Profiles.";
22 revision "2014-08-08" {
23 description "Initial revision of packetcable traffic profile";
27 typedef tp-reference {
28 type instance-identifier;
37 "32-bit IEEE floating point number" ;
40 typedef traffic-profile-type {
43 There are four different ways to express a traffic profile. The traffic profile can be expressed via a FlowSpec, a DOCSIS Service Class Name, DOCSIS-specific parameters or Upstream Drop. The four methods are distinguished via a different S-Type value in the Traffic Profile (S-Num = 7) object. S-Type of 1 indicates the object contains a traffic profile specified in RSVP FlowSpec format. S-Type of 2 indicates the object contains a traffic profile specified in DOCSIS Service Class Name format. S-Type of 3 - 8 indicates the object contains a traffic profile that is specified via DOCSIS-specific parameters. S-Type of 9 indicates the object contains a traffic profile specified in an Upstream Drop format.
45 All Traffic Profiles utilize 'replace' semantics, meaning that the envelopes present in this Traffic Profile replace all existing envelopes associated with the Gate and corresponding Service Flow. Thus, all traffic parameters associated with a given Gate MUST be included in every message that includes a Traffic Profile. The traffic profile format (RSVP FlowSpec, DOCSIS Service Class Name, DOCSIS-specific parameters, Upstream Drop) for a specific envelope MUST remain constant and unchanged throughout the life of the gate.
47 All Traffic Profiles share a common field known as the Envelope Field. This field is a bit field that signals the envelope types (i.e., Authorized, Reserved, and Committed) that are present in the object. A value of 1 in a given bit field indicates that the envelope type is present in the Traffic Profile.
49 • Bit 0: Authorized Envelope
51 • Bit 1: Reserved Envelope
53 • Bit 2: Committed Envelope
55 Thus a bit pattern of 001 (or 0x01) indicates the presence of only the Authorized Envelope, while a value of 111 (or 0x7) indicates the presence of all three envelopes. Only the following values are legal: 001, 011 and 111; the Envelope Field MUST be set to one of these three legal values. Further limitations on the value of the Envelope Field may be a function of the current state of the Gate. Refer to Section 6.2 for more information.
57 For the Traffic Profile formats that allow multiple sets of envelope parameters, the mapping of envelope parameter sets follows one of the following methods:
59 • If all of the envelope types that are indicated in the envelope field share a common set of envelope parameters, then the PDP SHOULD ensure that exactly one set of envelope parameters are present in the traffic profile. This allows for the most efficient transmission and processing of the Traffic Profile throughout the system.
61 • Otherwise, the PDP MUST ensure that exactly one set of envelope parameters is included for each of the envelope types that are indicated in the envelope field. The proper order of the envelope parameter sets is shown in the appropriate message diagram in Sections 6.4.2.1 and 6.4.2.3 thru 6.4.2.7.8.
63 While all Traffic Profiles end up providing QoS on the access network, it is important to note several subtle differences between the signaling mechanisms. As noted previously, the conversion of a FlowSpec (S-Type 1) to DOCSIS parameters by the CMTS is generally less efficient than specifying the DOCSIS parameters themselves. That said, specifying DOCSIS parameters explicitly (S-Types 3-7) is not a panacea either, the QoS MIB only logs QoS information about named Service Flows in its ServiceFlowLogTable. Thus, only flows created via S-Type 2 will have logged QoS information in this table. For some this may not be a major issue, but for debugging and just general operational tracking this subtlety should be taken into account by operators and Application Manager vendors evaluating the Traffic Profile signaling alternatives provided by this specification.
67 enum flowspec { value 0; }
68 enum docsis-service-class-name { value 1; }
69 enum docsis-specific-parameterization { value 2; }
70 enum upstream-drop { value 3; }
72 enum best-effort { value 4; }
73 enum unsolicited-grant-service { value 5; }
74 enum unsolicited-grant-service-with-activity-detection { value 6; }
75 enum non-real-time-polling-service { value 7; }
76 enum real-time-polling-service { value 8; }
77 enum downstream-service { value 9; }
82 grouping flowspec-envelope-attributes {
84 The values r, b, p, m, M, R, and s are defined and described
87 • Bucket Depth (b), bytes
88 • Bucket Rate (r), bytes/second
89 • Maximum Datagram Size (M), bytes
90 • Minimum Policed Unit (m), bytes
91 • Peak Rate (p), bytes/second RSpec Parameters:
92 • Reserved Rate (R), bytes/second
93 • Slack Term (S), microseconds
94 The parameter mapping, roughly approximated, involves the following associations for DOCSIS upstream BE (Best-Effort) and downstream Controlled Load Service Flows. The actual mapping procedure would involve normalizing these parameters to account for Layer 2 and Layer 3 header considerations.
95 • TSpec Bucket Depth (b) ~= DOCSIS Maximum Traffic Burst
96 • TSpec Maximum Datagram Size (M) ~= <not required by DOCSIS >
97 • TSpec Minimum Policed Unit (m) ~= DOCSIS Assumed Minimum Reserved Rate Packet Size
98 • TSpec Bucket Rate (r) ~= DOCSIS Minimum Reserved Rate
99 • TSpec Peak Rate (p) ~= DOCSIS Maximum Sustained Rate and, for DOCSIS 3.0 only, DOCSIS Downstream Peak Traffic Rate
100 For downstream Guaranteed service flows, the RSpec parameters are added to provide latency and reservation guarantees.
101 • TSpec Bucket Depth (b) ~= DOCSIS Maximum Traffic Burst
102 • TSpec Maximum Datagram Size (M) ~= <not required by DOCSIS >
103 • TSpec Minimum Policed Unit (m) ~= DOCSIS Assumed Minimum Reserved Rate Packet Size
104 • TSpec Bucket Rate (r) ~= DOCSIS Minimum Reserved Rate and DOCSIS Maximum Sustained Rate
105 • TSpec Peak Rate (p) ~= For DOCSIS 3.0 only, DOCSIS Downstream Peak Traffic Rate
106 • RSpec Reserved Rate (R) ~= <not required by DOCSIS>
107 • RSpec Slack Term ~= DOCSIS Downstream Latency
108 The parameter mapping, roughly approximated, involves the following associations for DOCSIS UGS Service Flows.
109 • TSpec Bucket Depth (b) = TSpec Maximum Datagram Size (M) = TSpec Minimum Policed Unit (m) ~= DOCSIS Unsolicited Grant Size
110 • TSpec Bucket Rate (r) = TSpec Peak Rate (p) = RSpec Reserved Rate (R) ~= used to calculate Nominal Grant Interval
111 • RSpec Slack Term ~= DOCSIS Tolerated Grant Jitter
112 Similarly, the following associations apply for DOCSIS Real-Time Polling Service Flows.
113 • TSpec Bucket Depth (b) ~= DOCSIS Maximum Traffic Burst
114 • TSpec Maximum Datagram Size (M) ~= <not required by DOCSIS >
115 • TSpec Bucket Rate (r) ~= DOCSIS Maximum Sustained Rate and DOCSIS Minimum Reserved Traffic Rate
116 • RSpec Reserved Rate (R) ~= used to calculate the Polling Interval
117 • RSpec Slack Term ~= Tolerated Polling Jitter
119 Token Bucket Rate [r] (encoded as IEEE floating point)
120 0x461C4000 (10,000 Bps)
121 Token Bucket Size [b] (encoded as IEEE floating point)
122 0x43480000 (200 bytes)
123 Peak Data Rate [p] (encoded as IEEE floating point)
124 0x461C4000 (10,000 Bps)
125 Minimum Policed Unit [m]
126 0x000000C8 (200 bytes)
127 Maximum Packet Size [M]
128 0x000000C8 (200 bytes)
129 Rate [R] (encoded as IEEE floating point)
130 0x461C4000 (10,000 Bps)
136 leaf token-bucket-rate {
138 description "[r] (IEEE floating point number
143 leaf token-bucket-size {
145 description "[p] IEEE floating point number";
148 leaf peak-data-rate {
150 description "[m] IEEE floating point number
156 leaf minimum-policed-unit {
158 description "[m] (integer)";
162 leaf maximum-packet-size {
164 description "[M] (integer)";
169 description "[R] (IEEE floating point number)";
174 description "[S] (integer)";
179 grouping default-envelope-attributes {
180 leaf traffic-priority {
184 Traffic Priority is a 1-byte unsigned integer field specifying the relative priority assigned to the Service Flow in comparison with other flows. This field is fully defined in section C.2.2.5.1 of [1]. A default Traffic Priority of 0 SHOULD be used if a specific Traffic Priority value is not required.
196 leaf request-transmission-policy {
199 Request/Transmission Policy is a 4-byte bit field as defined in section C.2.2.6.3 of [1]. A default Request/Transmission policy of 0 SHOULD be used if a specific Request/Transmission Policy value is not required.
203 leaf maximum-sustained-traffic-rate {
206 Maximum Sustained Traffic Rate is a 4-byte unsigned integer field specifying the rate parameter, in bits/sec, for [1]. A value of 0 indicates that no explicitly-enforced Maximum Sustained Rate is requested. A default Maximum Sustained Traffic Rate of 0 SHOULD be used if a specific Maximum Sustained Traffic Rate is not required.
211 leaf maximum-traffic-burst {
214 Maximum Traffic Burst is a 4-byte unsigned integer field specifying the token bucket size, in bytes, for a token- bucket-based rate limit for this Service Flow. This field is fully defined in section C.2.2.5.3 of [1]. A default Maximum Traffic Burst of 3044 bytes SHOULD be used if a specific Maximum Traffic Burst is not required. The value of this parameter has no effect unless a non-zero value has been provided for the Maximum Sustained Traffic Rate parameter.
218 leaf minimum-reserved-traffic-rate {
222 Minimum Reserved Traffic Rate is a 4-byte unsigned integer field specifying the minimum rate, in bits/sec, reserved for this Service Flow. This field is fully defined in section C.2.2.5.4 of [1]. A default Minimum Reserved Traffic Rate of 0 SHOULD be used if a specific Minimum Reserved Traffic Rate is not required.
227 leaf assumed-minimum-reserved-traffic-rate-packet-size {
231 Assumed Minimum Reserved Traffic Rate Packet Size is a 2-byte unsigned integer field specifying an assumed minimum packet size, in bytes, for which the Minimum Reserved Traffic Rate will be provided for this flow. This field is fully defined in section C.2.2.5.5 of [1]. A default Assumed Minimum Reserved Traffic Rate Packet Size of 0 SHOULD be used if a specific Assumed Minimum Reserved Traffic Rate Packet size is not required. Upon receipt of a value of 0 the CMTS MUST utilize its implementation-specific default size for this parameter, not 0 bytes.
236 leaf maximum-concatenated-burst {
240 Maximum Concatenated Burst is a 2-byte unsigned integer specifying the maximum concatenated burst (in bytes) which a Service Flow is allowed. This field is fully defined in section C.2.2.6.1 of [1]. A value of 0 means there is no limit. A default Maximum Concatenated Burst of 1522 bytes SHOULD be used if a specific Maximum Concatenated Burst is not required.
245 leaf upstream-peak-traffic-rate {
249 Upstream Peak Traffic Rate is a 4-byte unsigned integer specifying the Peak traffic rate (in bits per second) which a
250 Service Flow is allowed. This field is fully defined in section C.2.2.5.10.1 of [1].
255 leaf required-attribute-mask {
259 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
264 leaf forbidden-attribute-mask {
268 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
272 leaf attribute-aggregation-rule-mask {
276 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
280 leaf minimum-buffer {
284 Minimum Buffer is a 4-byte unsigned integer parameter that defines a lower limit for the size of the buffer that is to be provided for a service flow. This field is fully defined in section C.2.2.5.11.3 of [1]. If this parameter is omitted, the Minimum Buffer defaults to a value of 0, which indicates that there is no lower limit.
292 Target Buffer is a 4-byte unsigned integer parameter that defines a desired value for the size of the buffer that is to be provided for a service flow. This field is fully defined in section C.2.2.5.11.4 of [1]. If this parameter is omitted or set to a value of 0, the device selects any buffer size within the range of the Minimum and Maximum Buffers, via a vendor-specific algorithm.
297 leaf maximum-buffer {
301 Maximum Buffer is a 4-byte unsigned integer parameter that defines an upper limit for the size of the buffer that is to be provided for a service flow. This field is fully defined in section C.2.2.5.11.5 of [1]. If this parameter is omitted, the Maximum Buffer defaults to a value of no limit.
308 grouping ugs-envelope-attributes {
309 leaf request-transmission-policy {
312 Request/Transmission Policy is a 4-byte bit field as defined in section C.2.2.6.3 of [1]. Note: for this Service Flow Scheduling Type there is no default value for Request/Transmission Policy and all values (including 0) have meaning in DOCSIS. Bit 9 in the Request/Transmission Policy enables/disables the use of segment headers. A segment header is 8 bytes in length. It MUST be accounted for in the Unsolicited Grant Size parameter when segment header usage is enabled. The CMTS MUST ignore Bit 9 in the Request/Transmission Policy if the cable modem associated with the service flow is operating in DOCSIS 1.1 or 2.0 mode. For more information on segment headers and their use please see section 6.3 of [1].
316 leaf unsolicited-grant-size {
319 Unsolicited Grant Size is a 2-byte unsigned integer field specifying the grant size (in bytes) as defined in section C.2.2.6.6 of [1]. There is no default value of Unsolicited Grant Size.
323 leaf grants-interval {
326 Grants per Interval is a 1-byte unsigned integer field specifying the number of grants per Nominal Grant Interval as defined in section C.2.2.6.9 of [1]. There is no default value of Grants per Interval, but a value of 1 is recommended.
336 leaf nominal-grant-interval {
339 Nominal Grant Interval is a 4-byte unsigned integer field specifying the nominal time between successive data grant opportunities for this Service Flow (in units of microseconds) as defined in section C.2.2.6.7 of [1].
344 leaf tolerated-grant-jitter {
347 Tolerated Grant Jitter is a 4-byte unsigned integer field specifying the maximum amount of time that transmission opportunities may be delayed from the nominal periodic schedule (in units of microseconds) as defined in section C.2.2.6.8 of [1]. The minimum allowed value is 800. If the CMTS receives a Gate-Set message with Tolerated Grant Jitter less than 800, the CMTS MUST reply with a Gate-Set-Err message with a PacketCable Error-Code of 'Invalid Field Value in Object'. There is no default value of Nominal Grant Interval. There is no default value for Tolerated Grant Jitter.
351 leaf required-attribute-mask {
354 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section, a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
358 leaf forbidden-attribute-mask {
361 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section, a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
365 leaf attribute-aggregation-rule-mask {
368 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section, a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
376 grouping us-envelope-attributes {
377 leaf us-traffic-priority {
380 Traffic Priority is a 1-byte unsigned integer field specifying the relative priority assigned to the Service Flow in comparison with other flows. This field is fully defined in section C.2.2.5.1 of [1]. A default Traffic Priority of 0 SHOULD be used if a specific Traffic Priority value is not required.
385 leaf downstream-resequencing {
388 DOCSIS 3.0 service flows. This field is fully defined in section C.2.2.7.3 of [1]. The CMTS MUST honor the requested Downstream Resequencing operation for all Gate requests. It is possible that the CMTS may receive conflicting downstream resequencing direction by the AM for Multicast Gate requests (e.g., multiple Multicast Gate requests for the same Multicast destination but with different downstream resequencing operation). In such a case the CMTS MUST either honor the Multicast Gate request or reject it with error code 35 (Multicast Gate Downstream Resequencing mismatch). For a Multicast Gate, the CMTS MUST ignore the Downstream Resequencing object if the cable modem associated with the service flow is operating in MDF disabled mode. The CMTS MUST ignore the Downstream Resequencing object if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. DOCSIS 3.0 introduced the concept of downstream channel bonding where the CMTS can simultaneously transmit on multiple channels. Downstream channels may not all have the same amount of latency such that two packets scheduled simultaneously by the CMTS may not arrive simultaneously at the cable modem. The CMTS can insert sequence numbers in each DOCSIS packet header to allow the cable modem to re- order out of sequence packets. The cable modem will hold higher numbered packets while waiting for lower numbered packets to arrive. The maximum wait time is 18ms. Applications that can tolerate lost packets or applications that cannot tolerate packet latency of up to 18ms can disable the use of sequence numbers by setting the Downstream Resequencing value to 1.
399 leaf maximum-sustained-traffic-rate {
402 Maximum Sustained Traffic Rate is a 4-byte unsigned integer field specifying the rate parameter, in bits/sec, for a token-bucket-based rate limit for this Service Flow. This field is fully defined in section C.2.2.5.2 of [1]. A value of 0 indicates that no explicitly-enforced Maximum Sustained Rate is requested. A default Maximum Sustained Traffic Rate of 0 SHOULD be used if a specific Maximum Sustained Traffic Rate is not required.
407 leaf maximum-traffic-burst {
410 Maximum Traffic Burst is a 4-byte unsigned integer field specifying the token bucket size, in bytes, for a token- bucket-based rate limit for this Service Flow. This field is fully defined in section C.2.2.5.3 of [1]. A default Maximum Traffic Burst of 3044 bytes SHOULD be used if a specific Maximum Traffic Burst is not required. The value of this parameter has no effect unless a non-zero value has been provided for the Maximum Sustained Traffic Rate parameter.
415 leaf minimum-reserved-traffic-rate {
418 Minimum Reserved Traffic Rate is a 4-byte unsigned integer field specifying the minimum rate, in bits/sec, reserved for this Service Flow. This field is fully defined in section C.2.2.5.4 of [1]. A default Minimum Reserved Traffic Rate of 0 SHOULD be used if a specific Minimum Reserved Traffic Rate is not required.
423 leaf assumed-minimum-reserved-traffic-rate-packet-size {
426 Assumed Minimum Reserved Traffic Rate Packet Size is a 2-byte unsigned integer field specifying an assumed minimum packet size, in bytes, for which the Minimum Reserved Traffic Rate will be provided for this flow. This field is fully defined in section C.2.2.5.5 of [1]. A default Assumed Minimum Reserved Traffic Rate Packet Size of 0 SHOULD be used if a specific Assumed Minimum Reserved Traffic Rate Packet size is not required. Upon receipt of a value of 0 the CMTS MUST utilize its implementation-specific default size for this parameter, not 0 bytes.
439 leaf maximum-downstream-latency {
442 Maximum Downstream Latency is a 4-byte unsigned integer field specifying the maximum latency between reception of a packet on the CMTS's NSI and the forwarding of the packet on its RF interface as defined in section C.2.2.7.1 of [1]. A default Maximum Downstream Latency of 0 SHOULD be used if a specific Maximum Downstream Latency is not required. Upon receipt of a value of 0, the CMTS MUST NOT include this parameter in its DOCSIS signaling for this Service Flow.
448 leaf downstream-peak-traffic-rate {
451 Downstream Peak Traffic Rate is a 4-byte unsigned integer field, specifying the rate parameter P of a token-bucket- based peak rate limiter for packets of a downstream service flow. Configuring this peak rate parameter permits an operator to define a Maximum Burst value for the Downstream Maximum Sustained Rate much larger than a maximum packet size, but still limit the burst of packets consecutively transmitted for a service flow. The Downstream Peak Traffic Rate parameter is fully defined in section C.2.2.7.2 of [1]. The CMTS MUST NOT include this parameter in its DOCSIS signaling for this service flow if a value of 0 is supplied, if the cable modem for which the Gate applies is not provisioned in DOCSIS 3.0 mode, or if the CMTS does not support the enforcement of this value.
456 leaf required-attribute-mask {
459 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
464 leaf forbidden-attribute-mask {
467 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
472 leaf attribute-aggregation-rule-mask {
475 Attribute Masks define a specific set of attributes associated with a DOCSIS 3.0 service flow. The CMTS MUST ignore the bonded bit in the Required and Forbidden Attribute Mask objects if the cable modem associated with the service flow is operating in pre-3.0 DOCSIS mode. The Required Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by requiring certain attributes. This field is fully defined in section C.2.2.3.6 of [1]. The Forbidden Attribute Mask limits the set of channels and bonding groups to which the CMTS assigns the service flow by forbidding certain attributes. This field is fully defined in section C.2.2.3.7 of [1]. The CMTS is free to assign the service flow to any channel that satisfies the traffic profile if no channel is available that satisfies the Required Attribute Mask and Forbidden Attribute Mask for the service flow. The Attribute Aggregation Rule Mask provides guidance to the CMTS as to how it might use the attribute masks of individual channels to construct a dynamic bonding group for this service flow. This field is fully described in section 'Service Flow Attribute Aggregation Rule Mask' of [1]. As described in that section a default Attribute Aggregation Rule Mask of 0 SHOULD be used if specific Attribute Aggregation Rules are not required.
483 grouping traffic-profile-flowspec-attributes {
484 container f-authorized-envelope {
485 uses flowspec-envelope-attributes;
486 description "mandatory";
488 container f-reserved-envelope {
489 uses flowspec-envelope-attributes;
490 description "optional";
492 container f-committed-envelope {
493 uses flowspec-envelope-attributes;
494 description "optional";
499 grouping traffic-profile-docsis-service-class-name-attributes {
500 leaf service-class-name {
504 xxx - length 2 to 128?
506 The Service Class Name is MUST be 2-16 bytes of null-terminated ASCII string.
507 (Refer to section C.2.2.3.4 of [1]). This name MUST be padded with null bytes
508 to align on a 4-byte boundary.
514 grouping traffic-profile-best-effort-attributes {
515 container be-authorized-envelope {
516 uses default-envelope-attributes;
517 description "mandatory";
519 container bereserved-envelope {
520 uses default-envelope-attributes;
521 description "optional";
523 container be-committed-envelope {
524 uses default-envelope-attributes;
525 description "optional";
529 grouping traffic-profile-non-real-time-polling-service-attributes {
530 container nrtp-authorized-envelope {
531 uses default-envelope-attributes;
532 description "mandatory";
534 container nrtp-reserved-envelope {
535 uses default-envelope-attributes;
536 description "optional";
538 container nrtp-committed-envelope {
539 uses default-envelope-attributes;
540 description "optional";
545 grouping traffic-profile-real-time-polling-service-attributes {
546 container rtp-authorized-envelope {
547 uses default-envelope-attributes;
548 description "mandatory";
550 container rtp-reserved-envelope {
551 uses default-envelope-attributes;
552 description "optional";
554 container rtp-committed-envelope {
555 uses default-envelope-attributes;
556 description "optional";
560 grouping traffic-profile-unsolicited-grant-service-attributes {
561 container ugs-authorized-envelope {
562 uses ugs-envelope-attributes;
563 description "mandatory";
565 container ugs-reserved-envelope {
566 uses ugs-envelope-attributes;
567 description "optional";
569 container ugs-committed-envelope {
570 uses ugs-envelope-attributes;
571 description "optional";
575 grouping traffic-profile-unsolicited-grant-service-with-activity-detection-attributes {
576 container usga-authorized-envelope {
577 uses ugs-envelope-attributes;
578 description "mandatory";
580 container usga-reserved-envelope {
581 uses ugs-envelope-attributes;
582 description "optional";
584 container usga-committed-envelope {
585 uses ugs-envelope-attributes;
586 description "optional";
591 grouping traffic-profile-downstream-service-attributes {
592 container ds-authorized-envelope {
593 uses us-envelope-attributes;
594 description "mandatory";
596 container ds-reserved-envelope {
597 uses us-envelope-attributes;
598 description "optional";
600 container ds-committed-envelope {
601 uses us-envelope-attributes;
602 description "optional";
607 grouping traffic-profile-upstream-drop-attributes {
610 grouping traffic-profile-docsis-specific-parameterization-attributes {
615 grouping traffic-profile-grouping-attributes {
617 type traffic-profile-type;
619 description "This attribute contains the type of upstream flow scheduling type.";
623 // ACTION augmentations
625 augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
626 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
627 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
628 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
629 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
630 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
631 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
632 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
633 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
634 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
635 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
638 augment "/sal-flow:add-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
639 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
640 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
641 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
642 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
643 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
644 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
645 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
646 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
647 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
648 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
650 augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
651 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
652 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
653 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
654 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
655 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
656 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
657 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
658 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
659 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
660 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
662 augment "/sal-flow:remove-flow/sal-flow:input/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
663 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
664 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
665 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
666 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
667 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
668 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
669 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
670 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
671 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
672 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
674 augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
675 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
676 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
677 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
678 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
679 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
680 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
681 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
682 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
683 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
684 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
687 augment "/sal-flow:update-flow/sal-flow:input/sal-flow:original-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
688 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
689 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
690 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
691 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
692 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
693 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
694 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
695 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
696 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
697 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
700 augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:write-actions-case/sal-flow:write-actions/sal-flow:action/sal-flow:action" {
701 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
702 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
703 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
704 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
705 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
706 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
707 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
708 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
709 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
710 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
712 augment "/sal-flow:update-flow/sal-flow:input/sal-flow:updated-flow/sal-flow:instructions/sal-flow:instruction/sal-flow:instruction/sal-flow:apply-actions-case/sal-flow:apply-actions/sal-flow:action/sal-flow:action" {
713 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
714 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
715 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
716 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
717 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
718 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
719 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
720 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
721 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
722 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
724 augment "/sal-group:add-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
725 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
726 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
727 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
728 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
729 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
730 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
731 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
732 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
733 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
734 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
736 augment "/sal-group:remove-group/sal-group:input/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
737 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
738 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
739 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
740 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
741 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
742 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
743 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
744 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
745 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
746 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
748 augment "/sal-group:update-group/sal-group:input/sal-group:original-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
749 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
750 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
751 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
752 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
753 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
754 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
755 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
756 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
757 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
758 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
760 augment "/sal-group:update-group/sal-group:input/sal-group:updated-group/sal-group:buckets/sal-group:bucket/sal-group:action/sal-group:action" {
761 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
762 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
763 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
764 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
765 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
766 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
767 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
768 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
769 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
770 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
772 augment "/sal-packet:transmit-packet/sal-packet:input/sal-packet:action/sal-packet:action" {
773 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
774 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
775 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
776 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
777 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
778 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
779 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
780 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
781 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
782 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
784 augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:write-actions-case/fni:write-actions/fni:action/fni:action" {
785 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
786 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
787 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
788 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
789 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
790 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
791 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
792 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
793 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
794 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
796 augment "/inv:nodes/inv:node/fni:table/fni:flow/fni:instructions/fni:instruction/fni:instruction/fni:apply-actions-case/fni:apply-actions/fni:action/fni:action" {
797 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
798 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
799 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
800 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
801 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
802 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
803 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
804 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
805 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
806 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
808 augment "/inv:nodes/inv:node/fni:group/fni:buckets/fni:bucket/fni:action/fni:action" {
809 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
810 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
811 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
812 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
813 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
814 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
815 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
816 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
817 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
818 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
820 augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:write-actions-case/odl-flow-stats:write-actions/odl-flow-stats:action/odl-flow-stats:action" {
821 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
822 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
823 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
824 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
825 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
826 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
827 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
828 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
829 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
830 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
832 augment "/odl-flow-stats:flows-statistics-update/odl-flow-stats:flow-and-statistics-map-list/odl-flow-stats:instructions/odl-flow-stats:instruction/odl-flow-stats:instruction/odl-flow-stats:apply-actions-case/odl-flow-stats:apply-actions/odl-flow-stats:action/odl-flow-stats:action" {
833 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
834 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
835 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
836 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
837 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
838 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
839 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
840 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
841 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
842 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
844 augment "/odl-group-stats:group-desc-stats-updated/odl-group-stats:group-desc-stats/odl-group-stats:buckets/odl-group-stats:bucket/odl-group-stats:action/odl-group-stats:action" {
845 case "flowspec-case" { container flowspec {uses traffic-profile-flowspec-attributes; } }
846 case "docsis-service-class-name-case" { container docsis-service-class-name {uses traffic-profile-docsis-service-class-name-attributes; } }
847 case "docsis-specific-parameterization-case" { container docsis-specific-parameterization {uses traffic-profile-docsis-specific-parameterization-attributes; }}
848 case "upstream-drop-case" { container upstream-drop {uses traffic-profile-upstream-drop-attributes; } }
849 case "best-effort-case" { container best-effort {uses traffic-profile-best-effort-attributes; } }
850 case "unsolicited-grant-service-case" { container unsolicited-grant-service {uses traffic-profile-unsolicited-grant-service-attributes; } }
851 case "unsolicited-grant-service-with-activity-detection-case" { container unsolicited-grant-service-with-activity-detection {uses traffic-profile-unsolicited-grant-service-with-activity-detection-attributes; } }
852 case "non-real-time-polling-service-case" { container non-real-time-polling-service {uses traffic-profile-non-real-time-polling-service-attributes; } }
853 case "real-time-polling-service-case" { container real-time-polling-service {uses traffic-profile-real-time-polling-service-attributes; } }
854 case "downstream-service-case" { container downstream-service {uses traffic-profile-downstream-service-attributes; }}
857 // grouping taffic-profile-default-singleton-grouping {
858 // grouping flowspec { uses traffic-profile-flowspec; }
859 // grouping docsis-service-class-name { uses traffic-profile-docsis-service-class-name; }
860 // grouping docsis-specific-parameterization { uses traffic-profile-docsis-specific-parameterization; }
861 // grouping upstream-drop { uses traffic-profile-upstream-drop; }
862 // grouping best-effort { uses traffic-profile-best-effort; }
863 // grouping unsolicited-grant-service { uses traffic-profile-unsolicited-grant-service; }
864 // grouping unsolicited-grant-service-with-activity-detection { uses traffic-profile-unsolicited-grant-service-with-activity-detection; }
865 // grouping non-real-time-polling-service { uses traffic-profile-non-real-time-polling-service; }
866 // grouping real-time-polling-service { uses traffic-profile-real-time-polling-service; }
867 // grouping downstream-service { uses traffic-profile-downstream-service; }