-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2018 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:
from resources.libraries.python.topology import Topology
-# pylint: disable=too-few-public-methods
class PolicerRateType(Enum):
"""Policer rate types."""
KBPS = 'kbps'
# pylint: disable=too-many-instance-attributes
-# pylint: disable=too-many-public-methods
class Policer(object):
"""Policer utilities."""
exceed_action=exceed_action,
violate_action=violate_action,
color_aware=color_aware)
- # pylint: enable=no-member
VatJsonUtil.verify_vat_retval(
out[0],
# create classify table
direction = 'src' if self._classify_match_is_src else 'dst'
- if 6 == ip_address(unicode(self._classify_match_ip)).version:
+ if ip_address(unicode(self._classify_match_ip)).version == 6:
ip_version = 'ip6'
table_type = PolicerClassifyTableType.IP6_TABLE
else:
"""Set policer CB.
:param cb: Committed Burst size.
- :type cb: int
+ :type cb: int or str
"""
- self._cb = cb
+ if cb == "IMIX_v4_1":
+ self._cb = 1518
+ else:
+ self._cb = cb
def policer_set_eb(self, eb):
"""Set policer EB.
:param eb: Excess Burst size.
- :type eb: int
+ :type eb: int or str
"""
- self._eb = eb
+ if eb == "IMIX_v4_1":
+ self._eb = 1518
+ else:
+ self._eb = eb
def policer_set_rate_type_kbps(self):
"""Set policer rate type to kbps."""
def policer_classify_set_interface(self, interface):
"""Set policer classify interface.
+ .. note:: First set node with policer_set_node.
+
:param interface: Interface name or sw_if_index.
:type interface: str or int
- .. note:: First set node with policer_set_node.
"""
if isinstance(interface, basestring):
self._sw_if_index = Topology.get_interface_sw_index(self._node,
def dscp_cs0():
"""Return DSCP CS0.
- :return: DSCP enum CS0 object.
+ :returns: DSCP enum CS0 object.
:rtype: DSCP
"""
return DSCP.CS0
def dscp_cs1():
"""Return DSCP CS1.
- :return: DSCP enum CS1 object.
+ :returns: DSCP enum CS1 object.
:rtype: DSCP
"""
return DSCP.CS1
def dscp_cs2():
"""Return DSCP CS2.
- :return: DSCP enum CS2 object.
+ :returns: DSCP enum CS2 object.
:rtype: DSCP
"""
return DSCP.CS2
def dscp_cs3():
"""Return DSCP CS3.
- :return: DSCP enum CS3 object.
+ :returns: DSCP enum CS3 object.
:rtype: DSCP
"""
return DSCP.CS3
def dscp_cs4():
"""Return DSCP CS4.
- :return: DSCP enum CS4 object.
+ :returns: DSCP enum CS4 object.
:rtype: DSCP
"""
return DSCP.CS4
def dscp_cs5():
"""Return DSCP CS5.
- :return: DSCP enum CS5 object.
+ :returns: DSCP enum CS5 object.
:rtype: DSCP
"""
return DSCP.CS5
def dscp_cs6():
"""Return DSCP CS6.
- :return: DSCP enum CS6 object.
+ :returns: DSCP enum CS6 object.
:rtype: DSCP
"""
return DSCP.CS6
def dscp_cs7():
"""Return DSCP CS7.
- :return: DSCP enum CS7 object.
+ :returns: DSCP enum CS7 object.
:rtype: DSCP
"""
return DSCP.CS7
def dscp_ef():
"""Return DSCP EF.
- :return: DSCP enum EF object.
+ :returns: DSCP enum EF object.
:rtype: DSCP
"""
return DSCP.EF
def dscp_af11():
"""Return DSCP AF11.
- :return: DSCP enum AF11 object.
+ :returns: DSCP enum AF11 object.
:rtype: DSCP
"""
return DSCP.AF11
def dscp_af12():
"""Return DSCP AF12.
- :return: DSCP enum AF12 object.
+ :returns: DSCP enum AF12 object.
:rtype: DSCP
"""
return DSCP.AF12
def dscp_af13():
"""Return DSCP AF13.
- :return: DSCP enum AF13 object.
+ :returns: DSCP enum AF13 object.
:rtype: DSCP
"""
return DSCP.AF13
def dscp_af21():
"""Return DSCP AF21.
- :return: DSCP enum AF21 object.
+ :returns: DSCP enum AF21 object.
:rtype: DSCP
"""
return DSCP.AF21
def dscp_af22():
"""Return DSCP AF22.
- :return: DSCP enum AF22 object.
+ :returns: DSCP enum AF22 object.
:rtype: DSCP
"""
return DSCP.AF22
def dscp_af23():
"""Return DSCP AF23.
- :return: DSCP enum AF23 object.
+ :returns: DSCP enum AF23 object.
:rtype: DSCP
"""
return DSCP.AF23
def dscp_af31():
"""Return DSCP AF31.
- :return: DSCP enum AF31 object.
+ :returns: DSCP enum AF31 object.
:rtype: DSCP
"""
return DSCP.AF31
def dscp_af32():
"""Return DSCP AF32.
- :return: DSCP enum AF32 object.
+ :returns: DSCP enum AF32 object.
:rtype: DSCP
"""
return DSCP.AF32
def dscp_af33():
"""Return DSCP AF33.
- :return: DSCP enum AF33 object.
+ :returns: DSCP enum AF33 object.
:rtype: DSCP
"""
return DSCP.AF33
:param dscp: DSCP enum object.
:type dscp: DSCP
- :return: DSCP numeric value.
+ :returns: DSCP numeric value.
:rtype: int
"""
return dscp.num