/* * Copyright (c) 2020 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. */ option version = "1.0.0"; enum sse2_qos_rate_type : u8 { SSE2_QOS_RATE_API_KBPS = 0, SSE2_QOS_RATE_API_PPS, SSE2_QOS_RATE_API_INVALID, }; enum sse2_qos_round_type : u8 { SSE2_QOS_ROUND_API_TO_CLOSEST = 0, SSE2_QOS_ROUND_API_TO_UP, SSE2_QOS_ROUND_API_TO_DOWN, SSE2_QOS_ROUND_API_INVALID, }; enum sse2_qos_policer_type : u8 { SSE2_QOS_POLICER_TYPE_API_1R2C = 0, SSE2_QOS_POLICER_TYPE_API_1R3C_RFC_2697 = 1, SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_2698 = 2, SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_4115 = 3, SSE2_QOS_POLICER_TYPE_API_2R3C_RFC_MEF5CF1 = 4, SSE2_QOS_POLICER_TYPE_API_MAX, }; enum sse2_qos_action_type : u8 { SSE2_QOS_ACTION_API_DROP = 0, SSE2_QOS_ACTION_API_TRANSMIT, SSE2_QOS_ACTION_API_MARK_AND_TRANSMIT, }; /** \brief QOS action @param conform_action_type - conform action type @param conform_dscp - DSCP for conform mark-and-transmit action */ typedef sse2_qos_action { vl_api_sse2_qos_action_type_t type; u8 dscp; }; /** \brief Policer configuration @param cir - CIR @param eir - EIR @param cb - Committed Burst @param eb - Excess or Peak Burst @param rate_type - rate type @param round_type - rounding type @param type - policer algorithm @param color_aware - 0=color-blind, 1=color-aware @param conform_action - conform action @param exceed_action - exceed action type @param violate_action - violate action type */ typedef policer_config { u32 cir; u32 eir; u64 cb; u64 eb; vl_api_sse2_qos_rate_type_t rate_type; vl_api_sse2_qos_round_type_t round_type; vl_api_sse2_qos_policer_type_t type; bool color_aware; vl_api_sse2_qos_action_t conform_action; vl_api_sse2_qos_action_t exceed_action; vl_api_sse2_qos_action_t violate_action; }; /* * Local Variables: * eval: (c-set-style "gnu") * End: */