diff options
Diffstat (limited to 'vpp-classifier/api')
3 files changed, 64 insertions, 20 deletions
diff --git a/vpp-classifier/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/policer/rev170315/DscpTypeBuilder.java b/vpp-classifier/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/policer/rev170315/DscpTypeBuilder.java new file mode 100644 index 000000000..f204f8c6b --- /dev/null +++ b/vpp-classifier/api/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/policer/rev170315/DscpTypeBuilder.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2017 Cisco and/or its affiliates. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.policer.rev170315; + +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp; + +/** + * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation. + * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32). + * + * The reason behind putting it under src/main/java is: + * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent + * loss of user code. + * + */ +public class DscpTypeBuilder { + + public static DscpType getDefaultInstance(java.lang.String defaultValue) { + final VppDscpType vppDscpType = VppDscpType.valueOf(defaultValue); + if (vppDscpType != null) { + return new DscpType(vppDscpType); + } + return new DscpType(Dscp.getDefaultInstance(defaultValue)); + } +} diff --git a/vpp-classifier/api/src/main/yang/interface-policer.yang b/vpp-classifier/api/src/main/yang/interface-policer.yang index d92faa9bf..2fd7b6b83 100644 --- a/vpp-classifier/api/src/main/yang/interface-policer.yang +++ b/vpp-classifier/api/src/main/yang/interface-policer.yang @@ -27,23 +27,25 @@ module interface-policer { } grouping interface-policer-attributes { - description - "Defines references to policer classify tables. - At least one table reference should be specified."; - leaf l2-table { - type vpp-classifier:classify-table-ref; + container policer { description - "An L2 policer table"; - } - leaf ip4-table { - type vpp-classifier:classify-table-ref; - description - "An IPv4 policer table"; - } - leaf ip6-table { - type vpp-classifier:classify-table-ref; - description - "An IPv6 policer table"; + "Defines references to policer classify tables. + At least one table reference should be specified."; + leaf l2-table { + type vpp-classifier:classify-table-ref; + description + "An L2 policer table"; + } + leaf ip4-table { + type vpp-classifier:classify-table-ref; + description + "An IPv4 policer table"; + } + leaf ip6-table { + type vpp-classifier:classify-table-ref; + description + "An IPv6 policer table"; + } } } diff --git a/vpp-classifier/api/src/main/yang/policer.yang b/vpp-classifier/api/src/main/yang/policer.yang index 1f730b6a5..637967128 100644 --- a/vpp-classifier/api/src/main/yang/policer.yang +++ b/vpp-classifier/api/src/main/yang/policer.yang @@ -91,7 +91,7 @@ module policer { "transmit action type in a meter"; } - typedef vpp-dcsp-type { + typedef vpp-dscp-type { description "DSCP field values supported by VPP"; type enumeration { @@ -162,9 +162,9 @@ module policer { default CS0; } - typedef dcsp-type { + typedef dscp-type { type union { - type vpp-dcsp-type; + type vpp-dscp-type; type inet:dscp; } } @@ -182,7 +182,7 @@ module policer { } leaf dscp { when "../meter-action-type = meter-action-mark-dscp"; - type dcsp-type; + type dscp-type; description "dscp marking"; } @@ -217,12 +217,15 @@ module policer { type boolean; } container conform-action { + presence "Defines conform action"; uses meter-action-params; } container exceed-action { + presence "Defines exceed action"; uses meter-action-params; } container violate-action { + presence "Defines violate action"; uses meter-action-params; } } |