Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.13.1.2
Macros | Enumerations | Functions
DiffServ Class Configuration And Status [OPENAPI_DIFFSERV_CLASS_CONF]

Macros

#define OPEN_DIFFSERV_CLASS_NAME_MAX   31
 
#define OPEN_DIFFSERV_IP_DSCP_AF11   10
 
#define OPEN_DIFFSERV_IP_DSCP_AF12   12
 
#define OPEN_DIFFSERV_IP_DSCP_AF13   14
 
#define OPEN_DIFFSERV_IP_DSCP_AF21   18
 
#define OPEN_DIFFSERV_IP_DSCP_AF22   20
 
#define OPEN_DIFFSERV_IP_DSCP_AF23   22
 
#define OPEN_DIFFSERV_IP_DSCP_AF31   26
 
#define OPEN_DIFFSERV_IP_DSCP_AF32   28
 
#define OPEN_DIFFSERV_IP_DSCP_AF33   30
 
#define OPEN_DIFFSERV_IP_DSCP_AF41   34
 
#define OPEN_DIFFSERV_IP_DSCP_AF42   36
 
#define OPEN_DIFFSERV_IP_DSCP_AF43   38
 
#define OPEN_DIFFSERV_IP_DSCP_BE   0
 
#define OPEN_DIFFSERV_IP_DSCP_CS0   0
 
#define OPEN_DIFFSERV_IP_DSCP_CS1   8
 
#define OPEN_DIFFSERV_IP_DSCP_CS2   16
 
#define OPEN_DIFFSERV_IP_DSCP_CS3   24
 
#define OPEN_DIFFSERV_IP_DSCP_CS4   32
 
#define OPEN_DIFFSERV_IP_DSCP_CS5   40
 
#define OPEN_DIFFSERV_IP_DSCP_CS6   48
 
#define OPEN_DIFFSERV_IP_DSCP_CS7   56
 
#define OPEN_DIFFSERV_IP_DSCP_EF   46
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_DOMAIN   53
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_ECHO   7
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_FTP   21
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_FTPDATA   20
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_HTTP   80
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_SMTP   25
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_SNMP   161
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_TELNET   23
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_TFTP   69
 
#define OPEN_DIFFSERV_LAYER_4_PORT_NUM_WWW   80
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_GRE   47
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_ICMP   1
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_IGMP   2
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_IP   255
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_IPV6   254
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_TCP   6
 
#define OPEN_DIFFSERV_LAYER_4_PROTOCOL_UDP   17
 
#define OPEN_DIFFSERV_LAYER_6_PROTOCOL_ICMP   58
 
#define OPEN_RULE_VAL_MAX_STRING_LENGTH   129
 

Enumerations

enum  OPEN_DIFFSERV_CLASS_L3PROTOCOL_t { OPEN_DIFFSERV_CLASS_L3PROTOCOL_IPV4 = 1, OPEN_DIFFSERV_CLASS_L3PROTOCOL_IPV6 }
 Values for DiffServ Class Layer3 Protocol type. More...
 
enum  OPEN_DIFFSERV_CLASS_RULE_TYPE_t {
  OPEN_DIFFSERV_CLASS_RULE_TYPE_COS = 1, OPEN_DIFFSERV_CLASS_RULE_TYPE_COS2, OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIP, OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIPV6,
  OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTL4PORT, OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTMAC, OPEN_DIFFSERV_CLASS_RULE_TYPE_ETYPE, OPEN_DIFFSERV_CLASS_RULE_TYPE_EVERY,
  OPEN_DIFFSERV_CLASS_RULE_TYPE_FLOWLBLV6, OPEN_DIFFSERV_CLASS_RULE_TYPE_IPDSCP, OPEN_DIFFSERV_CLASS_RULE_TYPE_IPPRECEDENCE, OPEN_DIFFSERV_CLASS_RULE_TYPE_IPTOS,
  OPEN_DIFFSERV_CLASS_RULE_TYPE_PROTOCOL, OPEN_DIFFSERV_CLASS_RULE_TYPE_REFCLASS, OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCIP, OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCIPV6,
  OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCL4PORT, OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCMAC, OPEN_DIFFSERV_CLASS_RULE_TYPE_VLANID, OPEN_DIFFSERV_CLASS_RULE_TYPE_VLANID2
}
 Values for DiffServ Class Rule types supported as match conditions. More...
 
enum  OPEN_DIFFSERV_CLASS_TYPE_t { OPEN_DIFFSERV_CLASS_TYPE_ALL = 1, OPEN_DIFFSERV_CLASS_TYPE_ANY }
 Values for DiffServ Class type. More...
 
enum  OPEN_QOS_ETYPE_KEYID_t {
  OPEN_QOS_ETYPE_KEYID_CUSTOM = 1, OPEN_QOS_ETYPE_KEYID_APPLETALK, OPEN_QOS_ETYPE_KEYID_ARP, OPEN_QOS_ETYPE_KEYID_IBMSNA,
  OPEN_QOS_ETYPE_KEYID_IPV4, OPEN_QOS_ETYPE_KEYID_IPV6, OPEN_QOS_ETYPE_KEYID_IPX, OPEN_QOS_ETYPE_KEYID_MPLSMCAST,
  OPEN_QOS_ETYPE_KEYID_MPLSUCAST, OPEN_QOS_ETYPE_KEYID_NETBIOS, OPEN_QOS_ETYPE_KEYID_NOVELL, OPEN_QOS_ETYPE_KEYID_PPPOE,
  OPEN_QOS_ETYPE_KEYID_RARP
}
 QOS Ethertype keyword list. More...
 

Functions

open_error_t openapiDiffServClassCreate (openapiClientHandle_t *client_handle, open_buffdesc *className, OPEN_DIFFSERV_CLASS_TYPE_t classType, OPEN_DIFFSERV_CLASS_L3PROTOCOL_t classL3Protocol)
 Create the DiffServ class. More...
 
open_error_t openapiDiffServClassDelete (openapiClientHandle_t *client_handle, uint32_t classIndex)
 Delete the DiffServ class. More...
 
open_error_t openapiDiffServClassGetNext (openapiClientHandle_t *client_handle, uint32_t classIndex, uint32_t *classIndexNext)
 Determine next sequential row in the Class Table. More...
 
open_error_t openapiDiffServClassL3ProtoGet (openapiClientHandle_t *client_handle, uint32_t classIndex, OPEN_DIFFSERV_CLASS_L3PROTOCOL_t *classProtoType)
 Get the class L3 protocol. More...
 
open_error_t openapiDiffServClassNameGet (openapiClientHandle_t *client_handle, uint32_t classIndex, open_buffdesc *className)
 Get the class name for the given class index. More...
 
open_error_t openapiDiffServClassNameToIndex (openapiClientHandle_t *client_handle, open_buffdesc *className, uint32_t *classIndex)
 Translate a class name into its associated Class Table index. More...
 
open_error_t openapiDiffServClassRuleCountGet (openapiClientHandle_t *client_handle, uint32_t classIndex, uint32_t *ruleCount)
 Get the number of match rules in the Class. More...
 
open_error_t openapiDiffServClassRuleCreate (openapiClientHandle_t *client_handle, uint32_t classIndex, OPEN_DIFFSERV_CLASS_RULE_TYPE_t ruleType, open_buffdesc *ruleVal1, open_buffdesc *ruleVal2)
 Create a new rule in the Class Rule Table for the specified indexes. More...
 
open_error_t openapiDiffServClassRuleGetNext (openapiClientHandle_t *client_handle, uint32_t classIndex, uint32_t classRuleIndex, uint32_t *nextClassIndex, uint32_t *nextClassRuleIndex)
 Determine next sequential row in the Class rule Table. More...
 
open_error_t openapiDiffServClassRuleMatchEntryTypeGet (openapiClientHandle_t *client_handle, uint32_t classIndex, uint32_t classRuleIndex, OPEN_DIFFSERV_CLASS_RULE_TYPE_t *ruleType)
 Get the Class Rule match entry type. More...
 
open_error_t openapiDiffServClassRuleMatchEntryValueGet (openapiClientHandle_t *client_handle, uint32_t classIndex, uint32_t classRuleIndex, OPEN_DIFFSERV_CLASS_RULE_TYPE_t ruleType, open_buffdesc *ruleVal1, open_buffdesc *ruleVal2)
 Get the Class Rule match entry type value. More...
 
open_error_t openapiDiffServClassRuleMatchRefClassRemove (openapiClientHandle_t *client_handle, uint32_t classIndex, open_buffdesc *refClassName)
 Remove the referenced class from the specified class. More...
 
open_error_t openapiDiffServClassTypeGet (openapiClientHandle_t *client_handle, uint32_t classIndex, OPEN_DIFFSERV_CLASS_TYPE_t *classType)
 Get the class type. More...
 

Detailed Description

Enumeration Type Documentation

Values for DiffServ Class Layer3 Protocol type.

Enumerator
OPEN_DIFFSERV_CLASS_L3PROTOCOL_IPV4 

Class Protocol type : IPV4.

OPEN_DIFFSERV_CLASS_L3PROTOCOL_IPV6 

Class Protocol type : IPV6.

Definition at line 53 of file openapi_diffserv_class_conf.h.

Values for DiffServ Class Rule types supported as match conditions.

Enumerator
OPEN_DIFFSERV_CLASS_RULE_TYPE_COS 

COS : val1 - (0..7)

OPEN_DIFFSERV_CLASS_RULE_TYPE_COS2 

Secondary-cos : val1 - (0..7)

OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIP 

Destination IP : val1 - (ip address), val2 - (ip mask)

OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIPV6 

Destination IPV6 : val1 - (IPV6 address), val2 - (1..128) prefix length.

OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTL4PORT 

Destination port : val1 - (0-65535) Refer OPEN_DIFFSERV_LAYER_4_PORT_NUM macros for user keyword translations.

OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTMAC 

Destination MAC : val1 - (MAC address), val2 - (MAC address bit mask)

OPEN_DIFFSERV_CLASS_RULE_TYPE_ETYPE 

Ether type : val1 - (OPEN_QOS_ETYPE_KEYID_t), val2 - (0x0600..0xffff) valid for OPEN_QOS_ETYPE_KEYID_CUSTOM type.

OPEN_DIFFSERV_CLASS_RULE_TYPE_EVERY 

Every : Flag to indicate to match on any packet.

No input values.

OPEN_DIFFSERV_CLASS_RULE_TYPE_FLOWLBLV6 

Flow Label V6 : val1 - (0..1048575)

OPEN_DIFFSERV_CLASS_RULE_TYPE_IPDSCP 

IP DSCP : val1 - (0..63) Refer OPEN_DIFFSERV_IP_DSCP macros for user keyword translations.

OPEN_DIFFSERV_CLASS_RULE_TYPE_IPPRECEDENCE 

IP Precedence : val1 - (0..7)

OPEN_DIFFSERV_CLASS_RULE_TYPE_IPTOS 

IP TOS : val1 - (00..ff) TOS bits value, val2 - (00..ff) TOS mask.

OPEN_DIFFSERV_CLASS_RULE_TYPE_PROTOCOL 

PROTOCOL NUM : val1 - (0..255) Refer OPEN_DIFFSERV_LAYER_4_PROTOCOL & OPEN_DIFFSERV_LAYER_6_PROTOCOL macros for user keyword translations.

OPEN_DIFFSERV_CLASS_RULE_TYPE_REFCLASS 

Reference Class : Val1 - (className)

OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCIP 

Source IP : val1 - (ip address), val2 - (ip mask)

OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCIPV6 

Source IPV6 : val1 - (IPV6 address), val2 - (1..128) prefix length.

OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCL4PORT 

Destination port : val1 - (0-65535) Refer OPEN_DIFFSERV_LAYER_4_PORT_NUM macros for user keyword translations.

OPEN_DIFFSERV_CLASS_RULE_TYPE_SRCMAC 

Source MAC : val1 - (MAC address), val2 - (MAC address bit mask)

OPEN_DIFFSERV_CLASS_RULE_TYPE_VLANID 

VLAN ID : val1 - (1..4093)

OPEN_DIFFSERV_CLASS_RULE_TYPE_VLANID2 

Secondary VLAN ID : val1 - (1..4093)

Definition at line 61 of file openapi_diffserv_class_conf.h.

Values for DiffServ Class type.

Enumerator
OPEN_DIFFSERV_CLASS_TYPE_ALL 

Class Type : Match Any.

OPEN_DIFFSERV_CLASS_TYPE_ANY 

Class Type : Match All.

Definition at line 45 of file openapi_diffserv_class_conf.h.

QOS Ethertype keyword list.

Enumerator
OPEN_QOS_ETYPE_KEYID_CUSTOM 

user value

OPEN_QOS_ETYPE_KEYID_APPLETALK 

Appletalk.

OPEN_QOS_ETYPE_KEYID_ARP 

ARP.

OPEN_QOS_ETYPE_KEYID_IBMSNA 

IBM SNA.

OPEN_QOS_ETYPE_KEYID_IPV4 

IPv4.

OPEN_QOS_ETYPE_KEYID_IPV6 

IPv6.

OPEN_QOS_ETYPE_KEYID_IPX 

IPX.

OPEN_QOS_ETYPE_KEYID_MPLSMCAST 

MPLS multicast.

OPEN_QOS_ETYPE_KEYID_MPLSUCAST 

MPLS unicast.

OPEN_QOS_ETYPE_KEYID_NETBIOS 

NetBIOS.

OPEN_QOS_ETYPE_KEYID_NOVELL 

Novell.

OPEN_QOS_ETYPE_KEYID_PPPOE 

PPPoE.

OPEN_QOS_ETYPE_KEYID_RARP 

Reverse ARP.

Definition at line 93 of file openapi_diffserv_class_conf.h.

Function Documentation

open_error_t openapiDiffServClassCreate ( openapiClientHandle_t client_handle,
open_buffdesc className,
OPEN_DIFFSERV_CLASS_TYPE_t  classType,
OPEN_DIFFSERV_CLASS_L3PROTOCOL_t  classL3Protocol 
)

Create the DiffServ class.

Parameters
[in]client_handleClient handle from registration API
[in]classNameclass name
[in]classTypeclass type
[in]classL3Protocolclass L3 protocol
Return values
OPEN_E_NONEif class is created successfully
OPEN_E_FAILif failed to create class
OPEN_E_PARAMif invalid parameter is passed
OPEN_E_ERRORif invalid configuration
OPEN_E_EXISTSif class name already exists
OPEN_E_FULLif class table is full
OPEN_E_UNAVAILif feature is not supported

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassDelete ( openapiClientHandle_t client_handle,
uint32_t  classIndex 
)

Delete the DiffServ class.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexclass index
Return values
OPEN_E_NONEif class is deleted successfully
OPEN_E_FAILif failed to create class
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassGetNext ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
uint32_t *  classIndexNext 
)

Determine next sequential row in the Class Table.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index to begin search
[out]classIndexNextPointer to next sequential class index value
Return values
OPEN_E_NONEif next class index is retrieved
OPEN_E_FAILif failed to get class index
OPEN_E_PARAMif invalid parameter is passed
Note
A classIndex value of 0 is used to find the first entry in the table.

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassL3ProtoGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
OPEN_DIFFSERV_CLASS_L3PROTOCOL_t classProtoType 
)

Get the class L3 protocol.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index
[out]classProtoTypeClass L3 protocol
Return values
OPEN_E_NONEif class protocol is retrieved
OPEN_E_FAILif failed to get class protocol
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassNameGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
open_buffdesc className 
)

Get the class name for the given class index.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index
[out]classNameClass name
Return values
OPEN_E_NONEif class name is retrieved
OPEN_E_FAILif failed to get class name
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassNameToIndex ( openapiClientHandle_t client_handle,
open_buffdesc className,
uint32_t *  classIndex 
)

Translate a class name into its associated Class Table index.

Parameters
[in]client_handleClient handle from registration API
[in]classNameclass name
[out]classIndexclass index
Return values
OPEN_E_NONEif class name is translated to class index
OPEN_E_FAILif failed to translate class name
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleCountGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
uint32_t *  ruleCount 
)

Get the number of match rules in the Class.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexclass index
[out]ruleCountclass rule count
Return values
OPEN_E_NONEif rule count is retrieved successfully
OPEN_E_FAILif failed to get class rule count
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleCreate ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
OPEN_DIFFSERV_CLASS_RULE_TYPE_t  ruleType,
open_buffdesc ruleVal1,
open_buffdesc ruleVal2 
)

Create a new rule in the Class Rule Table for the specified indexes.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index
[in]ruleTypeClass rule type
[in]ruleVal1Rule Value 1
[in]ruleVal2Rule value 2
Return values
OPEN_E_NONEif class rule is created successfully
OPEN_E_FAILif failed to create class rule
OPEN_E_PARAMif invalid parameter is passed
OPEN_E_FULLif class rule table is full
Note
ruleVal - If rule type supports two input parameters, ruleVal1 and ruleVal2 both should be used. Eg:For OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIP, ruleVal1 should be used for address and ruleVal2 should be used for mask. Refer OPEN_DIFFSERV_CLASS_RULE_TYPE_t for number of input parameters supported for the given ruleType.

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleGetNext ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
uint32_t  classRuleIndex,
uint32_t *  nextClassIndex,
uint32_t *  nextClassRuleIndex 
)

Determine next sequential row in the Class rule Table.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index to begin search
[in]classRuleIndexClass rule index to begin search
[out]nextClassIndexPointer to next sequential class index value
[out]nextClassRuleIndexPointer to next sequential class rule index value
Return values
OPEN_E_NONEif next class index is retrieved
OPEN_E_FAILif failed to get class index
OPEN_E_PARAMif invalid parameter is passed
Note
A classIndex of 0 is used to find the first class in the table. A classRuleIndex of 0 is used to find the first rule relative to the specified classIndex.

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleMatchEntryTypeGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
uint32_t  classRuleIndex,
OPEN_DIFFSERV_CLASS_RULE_TYPE_t ruleType 
)

Get the Class Rule match entry type.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexclass index
[in]classRuleIndexclass rule index
[out]ruleTypeclass rule type
Return values
OPEN_E_NONEif class rule match entry type is retrieved
OPEN_E_FAILif failed to get rule match entry type
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleMatchEntryValueGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
uint32_t  classRuleIndex,
OPEN_DIFFSERV_CLASS_RULE_TYPE_t  ruleType,
open_buffdesc ruleVal1,
open_buffdesc ruleVal2 
)

Get the Class Rule match entry type value.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexclass index
[in]classRuleIndexclass rule index
[in]ruleTypeclass rule type
[out]ruleVal1Rule Value 1
[out]ruleVal2Rule value 2
Return values
OPEN_E_NONEif class rule match entry type value is retrieved
OPEN_E_FAILif failed to get rule match entry type value
OPEN_E_PARAMif invalid parameter is passed
Note
ruleVal - If rule type supports two parameters, ruleVal1 and ruleVal2 both should be used. Eg:For OPEN_DIFFSERV_CLASS_RULE_TYPE_DSTIP, ruleVal1 should be used for address and ruleVal2 should be used for mask.

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassRuleMatchRefClassRemove ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
open_buffdesc refClassName 
)

Remove the referenced class from the specified class.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexclass index
[in]refClassNamereference class name
Return values
OPEN_E_NONEif reference class rule is deleted successfully
OPEN_E_FAILif failed to create class rule
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.
open_error_t openapiDiffServClassTypeGet ( openapiClientHandle_t client_handle,
uint32_t  classIndex,
OPEN_DIFFSERV_CLASS_TYPE_t classType 
)

Get the class type.

Parameters
[in]client_handleClient handle from registration API
[in]classIndexClass index
[out]classTypeClass type
Return values
OPEN_E_NONEif class type is retrieved
OPEN_E_FAILif failed to get class type
OPEN_E_PARAMif invalid parameter is passed

OpEN API Version: 1.26

Examples:
diffserv_class_conf_example.c.