Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

dlmgr-1 (3rad)

Name

dlmgr-1 - API for datalink and flow control

Synopsis

#include <rad/client/1/dlmgr.h>
cc [ flag... ] file... -ldlmgr1_client [ library... ]

interface DatalinkManager
rc_err_t dlmgr_DatalinkManager_createVNIC(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createEVSVNIC(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteVNIC(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createTrunkAggregation(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createDLMPAggregation(rc_instance_t *inst,
const char *aggrname,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteAggregation(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createVXLAN(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteVXLAN(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createEtherstub(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteEtherstub(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createVETH(rc_instance_t *inst,
const char *name,
const char *peer_name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteVETH(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createBridge(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteBridge(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createIPtunnel(rc_instance_t *inst,
const char *name,
const char *iptun_type,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteIPtunnel(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createEoIB(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deleteEoIB(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_createPartition(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_DatalinkManager_deletePartition(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

interface Datalink
rc_err_t dlmgr_Datalink_setProperty(rc_instance_t *inst,
const char *property,
int flags,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getProperty(rc_instance_t *inst,
const char *properties,
dlmgr_Property_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getStat(rc_instance_t *inst,
dlmgr_StatType_t stattype,
dlmgr_StatValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Datalink_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface VNIC
rc_err_t dlmgr_VNIC_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VNIC_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Aggregation
rc_err_t dlmgr_Aggregation_addPort(rc_instance_t *inst,
const char *portname,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_removePort(rc_instance_t *inst,
const char *portname,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getPortsInfo(rc_instance_t *inst,
const char **ports,
int ports_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getPortsStatistics(rc_instance_t *inst,
const char **ports,
int ports_count,
const char **stats,
int stats_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Aggregation_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface VXLAN
rc_err_t dlmgr_VXLAN_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VXLAN_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VXLAN_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VXLAN_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Flow
rc_err_t dlmgr_Flow_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Flow_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Flow_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Flow_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Physical
rc_err_t dlmgr_Physical_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Physical_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Physical_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Physical_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Etherstub
rc_err_t dlmgr_Etherstub_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Etherstub_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Etherstub_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Etherstub_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface VETH
rc_err_t dlmgr_VETH_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VETH_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VETH_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_VETH_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Bridge
rc_err_t dlmgr_Bridge_addPort(rc_instance_t *inst,
const char *portname,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_removePort(rc_instance_t *inst,
const char *portname,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_getPortsInfo(rc_instance_t *inst,
const char **ports,
int ports_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_getPortsStatistics(rc_instance_t *inst,
const char **ports,
int ports_count,
const char **stats,
int stats_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Bridge_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface IPtunnel
rc_err_t dlmgr_IPtunnel_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_IPtunnel_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface EoIB
rc_err_t dlmgr_EoIB_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_EoIB_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

interface Partition
rc_err_t dlmgr_Partition_getInfo(rc_instance_t *inst,
const char **fields,
int fields_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_getStatistics(rc_instance_t *inst,
const char **stats,
int stats_count,
dlmgr__rad_dict_string_DLValue_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_addFlow(rc_instance_t *inst,
const char *name,
dlmgr_DLDict_t **filters,
int filters_count,
dlmgr_DLDict_t **masks,
int masks_count,
const dlmgr__rad_dict_string_DLValue_t *properties,
rc_instance_t **result,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_removeFlow(rc_instance_t *inst,
const char *name,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_getFlowInfo(rc_instance_t *inst,
const char **name,
int name_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_setProperties(rc_instance_t *inst,
const dlmgr__rad_dict_string_DLValue_t *properties,
dlmgr_DatalinkError_t **error);

rc_err_t dlmgr_Partition_getProperties(rc_instance_t *inst,
const char **properties,
int properties_count,
const char **fields,
int fields_count,
dlmgr_DLDict_t ***result,
int *result_cnt,
dlmgr_DatalinkError_t **error);

Enumerated Types
enum DLSTATUS

typedef enum dlmgr_DLSTATUS {
DDLSTATUS_OK = 0,
DDLSTATUS_FAILED = 1,
DDLSTATUS_ACCESS_DENIED = 2,
DDLSTATUS_ALL_MACADDRESS_SLOTS_INUSE = 3,
DDLSTATUS_DB_ERROR = 4,
DDLSTATUS_EXISTS = 5,
DDLSTATUS_FACTORY_MACADDRESS_NOT_SUPPORTED = 6,
DDLSTATUS_INVALID_ARGUMENT = 7,
DDLSTATUS_INVALID_FLOW_FILTER = 8,
DDLSTATUS_INVALID_MACADDRESS_INFO = 9,
DDLSTATUS_INVALID_PVLAN_INFO = 10,
DDLSTATUS_INVALID_SMF_CONFIG = 11,
DDLSTATUS_INVALID_VALUE = 12,
DDLSTATUS_INVALID_VLAN_INFO = 13,
DDLSTATUS_IO_ERROR = 14,
DDLSTATUS_IPADDRESS_INUSE = 15,
DDLSTATUS_IPADDRESS_NOT_AVAILABLE = 16,
DDLSTATUS_DATALINK_BUSY = 17,
DDLSTATUS_DATALINK_HAS_FLOWS = 18,
DDLSTATUS_DATALINK_NOTIFICATION_NOT_SUPPORTED = 19,
DDLSTATUS_MACADDRESS_IN_USE = 20,
DDLSTATUS_MACADDRESS_SLOT_IN_USE = 21,
DDLSTATUS_NOT_FOUND = 22,
DDLSTATUS_NOT_SUPPORTED = 23,
DDLSTATUS_NO_MEMORY = 24,
DDLSTATUS_PERSISTENT_OPERATION_ONLY = 25,
DDLSTATUS_PROPERTY_READONLY = 26,
DDLSTATUS_PVLAN_NOT_SUPPORTED = 27,
DDLSTATUS_SYSTEM_FLOW = 28,
DDLSTATUS_TEMPORARY_OPERATION_ONLY = 29,
DDLSTATUS_TRY_AGAIN = 30,
DDLSTATUS_VLAN_NOT_SUPPORTED = 31,
} dlmgr_DLSTATUS_t;

enum DLValueType

typedef enum dlmgr_DLValueType {
DDLVT_BOOLEAN = 0,
DDLVT_BOOLEANS = 1,
DDLVT_LONG = 2,
DDLVT_LONGS = 3,
DDLVT_ULONG = 4,
DDLVT_ULONGS = 5,
DDLVT_STRING = 6,
DDLVT_STRINGS = 7,
DDLVT_DICTIONARY = 8,
DDLVT_DICTIONARYS = 9,
} dlmgr_DLValueType_t;

enum Permission

typedef enum dlmgr_Permission {
DP_READ = 1,
DP_WRITE = 2,
DP_READWRITE = 3,
DP_UNKNOWN = 4,
} dlmgr_Permission_t;

enum StatType

typedef enum dlmgr_StatType {
DST_LINK = 0,
} dlmgr_StatType_t;

Structured Types
struct DatalinkError

typedef struct dlmgr_DatalinkError dlmgr_DatalinkError_t;

struct dlmgr_DatalinkError {
int dde_err;
char *dde_errmsg;
};


void dlmgr_DatalinkError_free(dlmgr_DatalinkError_t *in);

struct DLDict

typedef struct dlmgr_DLDict dlmgr_DLDict_t;

struct dlmgr_DLDict {
dlmgr__rad_dict_string_DLValue_t *ddld_map;
};


void dlmgr_DLDict_free(dlmgr_DLDict_t *in);

struct DLValue

typedef struct dlmgr_DLValue dlmgr_DLValue_t;

struct dlmgr_DLValue {
dlmgr_DLValueType_t ddlv_type;
boolean_t *ddlv_bval;
boolean_t *ddlv_blist;
int ddlv_blist_count;
long long *ddlv_lval;
long long *ddlv_llist;
int ddlv_llist_count;
unsigned long long *ddlv_ulval;
unsigned long long *ddlv_ullist;
int ddlv_ullist_count;
char *ddlv_sval;
char **ddlv_slist;
int ddlv_slist_count;
dlmgr__rad_dict_string_DLValue_t *ddlv_dval;
dlmgr_DLDict_t **ddlv_dlist;
int ddlv_dlist_count;
};


void dlmgr_DLValue_free(dlmgr_DLValue_t *in);

struct Property

typedef struct dlmgr_Property dlmgr_Property_t;

struct dlmgr_Property {
char *dp_propname;
dlmgr_Permission_t dp_perm;
char *dp_current;
char *dp_effective;
char *dp_persistent;
char *dp_defvalue;
char *dp_possible;
};


void dlmgr_Property_free(dlmgr_Property_t *in);

struct LinkStat

typedef struct dlmgr_LinkStat dlmgr_LinkStat_t;

struct dlmgr_LinkStat {
unsigned long long dls_ipackets;
unsigned long long dls_rbytes;
unsigned long long dls_idrops;
unsigned long long dls_idropbytes;
unsigned long long dls_opackets;
unsigned long long dls_obytes;
unsigned long long dls_odrops;
unsigned long long dls_odropbytes;
};


void dlmgr_LinkStat_free(dlmgr_LinkStat_t *in);

struct StatValue

typedef struct dlmgr_StatValue dlmgr_StatValue_t;

struct dlmgr_StatValue {
dlmgr_StatType_t dsv_discriminant;
dlmgr_LinkStat_t *dsv_linkstat;
};


void dlmgr_StatValue_free(dlmgr_StatValue_t *in);

Dictionaries
Dictionary { string : DLValue }

typedef struct base_rad_dict dlmgr__rad_dict_string_DLValue_t;

Description

DLMGR-1(3rad)               RAD Module Definitions               DLMGR-1(3rad)



NAME
       dlmgr - API for datalink and flow control

SYNOPSIS
       #include <rad/client/1/dlmgr.h>
       cc [ flag... ] file... -ldlmgr1_client [ library... ]

   interface DatalinkManager
       rc_err_t dlmgr_DatalinkManager_createVNIC(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 rc_instance_t **result,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createEVSVNIC(rc_instance_t *inst,
                                                    const char *name,
                                                    const dlmgr__rad_dict_string_DLValue_t *properties,
                                                    rc_instance_t **result,
                                                    dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteVNIC(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createTrunkAggregation(rc_instance_t *inst,
                                                             const char *name,
                                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                                             rc_instance_t **result,
                                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createDLMPAggregation(rc_instance_t *inst,
                                                            const char *aggrname,
                                                            const dlmgr__rad_dict_string_DLValue_t *properties,
                                                            rc_instance_t **result,
                                                            dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteAggregation(rc_instance_t *inst,
                                                        const char *name,
                                                        const dlmgr__rad_dict_string_DLValue_t *properties,
                                                        dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createVXLAN(rc_instance_t *inst,
                                                  const char *name,
                                                  const dlmgr__rad_dict_string_DLValue_t *properties,
                                                  rc_instance_t **result,
                                                  dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteVXLAN(rc_instance_t *inst,
                                                  const char *name,
                                                  const dlmgr__rad_dict_string_DLValue_t *properties,
                                                  dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createEtherstub(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      rc_instance_t **result,
                                                      dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteEtherstub(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createVETH(rc_instance_t *inst,
                                                 const char *name,
                                                 const char *peer_name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 rc_instance_t **result,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteVETH(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createBridge(rc_instance_t *inst,
                                                   const char *name,
                                                   const dlmgr__rad_dict_string_DLValue_t *properties,
                                                   rc_instance_t **result,
                                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteBridge(rc_instance_t *inst,
                                                   const char *name,
                                                   const dlmgr__rad_dict_string_DLValue_t *properties,
                                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createIPtunnel(rc_instance_t *inst,
                                                     const char *name,
                                                     const char *iptun_type,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     rc_instance_t **result,
                                                     dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteIPtunnel(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createEoIB(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 rc_instance_t **result,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deleteEoIB(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_createPartition(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      rc_instance_t **result,
                                                      dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_DatalinkManager_deletePartition(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      dlmgr_DatalinkError_t **error);

   interface Datalink
       rc_err_t dlmgr_Datalink_setProperty(rc_instance_t *inst,
                                           const char *property,
                                           int flags,
                                           dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getProperty(rc_instance_t *inst,
                                           const char *properties,
                                           dlmgr_Property_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getStat(rc_instance_t *inst,
                                       dlmgr_StatType_t stattype,
                                       dlmgr_StatValue_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_addFlow(rc_instance_t *inst,
                                       const char *name,
                                       dlmgr_DLDict_t **filters,
                                       int filters_count,
                                       dlmgr_DLDict_t **masks,
                                       int masks_count,
                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                       rc_instance_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_removeFlow(rc_instance_t *inst,
                                          const char *name,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Datalink_getFlowInfo(rc_instance_t *inst,
                                           const char **name,
                                           int name_count,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr_DLDict_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

   interface VNIC
       rc_err_t dlmgr_VNIC_setProperties(rc_instance_t *inst,
                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_getProperties(rc_instance_t *inst,
                                         const char **properties,
                                         int properties_count,
                                         const char **fields,
                                         int fields_count,
                                         dlmgr_DLDict_t ***result,
                                         int *result_cnt,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_getInfo(rc_instance_t *inst,
                                   const char **fields,
                                   int fields_count,
                                   dlmgr__rad_dict_string_DLValue_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_getStatistics(rc_instance_t *inst,
                                         const char **stats,
                                         int stats_count,
                                         dlmgr__rad_dict_string_DLValue_t **result,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_addFlow(rc_instance_t *inst,
                                   const char *name,
                                   dlmgr_DLDict_t **filters,
                                   int filters_count,
                                   dlmgr_DLDict_t **masks,
                                   int masks_count,
                                   const dlmgr__rad_dict_string_DLValue_t *properties,
                                   rc_instance_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_removeFlow(rc_instance_t *inst,
                                      const char *name,
                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                      dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VNIC_getFlowInfo(rc_instance_t *inst,
                                       const char **name,
                                       int name_count,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr_DLDict_t ***result,
                                       int *result_cnt,
                                       dlmgr_DatalinkError_t **error);

   interface Aggregation
       rc_err_t dlmgr_Aggregation_addPort(rc_instance_t *inst,
                                          const char *portname,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          rc_instance_t **result,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_removePort(rc_instance_t *inst,
                                             const char *portname,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getInfo(rc_instance_t *inst,
                                          const char **fields,
                                          int fields_count,
                                          dlmgr__rad_dict_string_DLValue_t **result,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getPortsInfo(rc_instance_t *inst,
                                               const char **ports,
                                               int ports_count,
                                               const char **fields,
                                               int fields_count,
                                               dlmgr_DLDict_t ***result,
                                               int *result_cnt,
                                               dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getStatistics(rc_instance_t *inst,
                                                const char **stats,
                                                int stats_count,
                                                dlmgr__rad_dict_string_DLValue_t **result,
                                                dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getPortsStatistics(rc_instance_t *inst,
                                                     const char **ports,
                                                     int ports_count,
                                                     const char **stats,
                                                     int stats_count,
                                                     dlmgr_DLDict_t ***result,
                                                     int *result_cnt,
                                                     dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_setProperties(rc_instance_t *inst,
                                                const dlmgr__rad_dict_string_DLValue_t *properties,
                                                dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getProperties(rc_instance_t *inst,
                                                const char **properties,
                                                int properties_count,
                                                const char **fields,
                                                int fields_count,
                                                dlmgr_DLDict_t ***result,
                                                int *result_cnt,
                                                dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_addFlow(rc_instance_t *inst,
                                          const char *name,
                                          dlmgr_DLDict_t **filters,
                                          int filters_count,
                                          dlmgr_DLDict_t **masks,
                                          int masks_count,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          rc_instance_t **result,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_removeFlow(rc_instance_t *inst,
                                             const char *name,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Aggregation_getFlowInfo(rc_instance_t *inst,
                                              const char **name,
                                              int name_count,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr_DLDict_t ***result,
                                              int *result_cnt,
                                              dlmgr_DatalinkError_t **error);

   interface VXLAN
       rc_err_t dlmgr_VXLAN_getInfo(rc_instance_t *inst,
                                    const char **fields,
                                    int fields_count,
                                    dlmgr__rad_dict_string_DLValue_t **result,
                                    dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VXLAN_getStatistics(rc_instance_t *inst,
                                          const char **stats,
                                          int stats_count,
                                          dlmgr__rad_dict_string_DLValue_t **result,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VXLAN_setProperties(rc_instance_t *inst,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VXLAN_getProperties(rc_instance_t *inst,
                                          const char **properties,
                                          int properties_count,
                                          const char **fields,
                                          int fields_count,
                                          dlmgr_DLDict_t ***result,
                                          int *result_cnt,
                                          dlmgr_DatalinkError_t **error);

   interface Flow
       rc_err_t dlmgr_Flow_getInfo(rc_instance_t *inst,
                                   const char **fields,
                                   int fields_count,
                                   dlmgr__rad_dict_string_DLValue_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Flow_getStatistics(rc_instance_t *inst,
                                         const char **stats,
                                         int stats_count,
                                         dlmgr__rad_dict_string_DLValue_t **result,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Flow_setProperties(rc_instance_t *inst,
                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Flow_getProperties(rc_instance_t *inst,
                                         const char **properties,
                                         int properties_count,
                                         const char **fields,
                                         int fields_count,
                                         dlmgr_DLDict_t ***result,
                                         int *result_cnt,
                                         dlmgr_DatalinkError_t **error);

   interface Physical
       rc_err_t dlmgr_Physical_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Physical_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Physical_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Physical_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

   interface Etherstub
       rc_err_t dlmgr_Etherstub_getInfo(rc_instance_t *inst,
                                        const char **fields,
                                        int fields_count,
                                        dlmgr__rad_dict_string_DLValue_t **result,
                                        dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Etherstub_getStatistics(rc_instance_t *inst,
                                              const char **stats,
                                              int stats_count,
                                              dlmgr__rad_dict_string_DLValue_t **result,
                                              dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Etherstub_setProperties(rc_instance_t *inst,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Etherstub_getProperties(rc_instance_t *inst,
                                              const char **properties,
                                              int properties_count,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr_DLDict_t ***result,
                                              int *result_cnt,
                                              dlmgr_DatalinkError_t **error);

   interface VETH
       rc_err_t dlmgr_VETH_getInfo(rc_instance_t *inst,
                                   const char **fields,
                                   int fields_count,
                                   dlmgr__rad_dict_string_DLValue_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VETH_getStatistics(rc_instance_t *inst,
                                         const char **stats,
                                         int stats_count,
                                         dlmgr__rad_dict_string_DLValue_t **result,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VETH_setProperties(rc_instance_t *inst,
                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_VETH_getProperties(rc_instance_t *inst,
                                         const char **properties,
                                         int properties_count,
                                         const char **fields,
                                         int fields_count,
                                         dlmgr_DLDict_t ***result,
                                         int *result_cnt,
                                         dlmgr_DatalinkError_t **error);

   interface Bridge
       rc_err_t dlmgr_Bridge_addPort(rc_instance_t *inst,
                                     const char *portname,
                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                     rc_instance_t **result,
                                     dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_removePort(rc_instance_t *inst,
                                        const char *portname,
                                        const dlmgr__rad_dict_string_DLValue_t *properties,
                                        dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_getInfo(rc_instance_t *inst,
                                     const char **fields,
                                     int fields_count,
                                     dlmgr__rad_dict_string_DLValue_t **result,
                                     dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_getPortsInfo(rc_instance_t *inst,
                                          const char **ports,
                                          int ports_count,
                                          const char **fields,
                                          int fields_count,
                                          dlmgr_DLDict_t ***result,
                                          int *result_cnt,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_getStatistics(rc_instance_t *inst,
                                           const char **stats,
                                           int stats_count,
                                           dlmgr__rad_dict_string_DLValue_t **result,
                                           dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_getPortsStatistics(rc_instance_t *inst,
                                                const char **ports,
                                                int ports_count,
                                                const char **stats,
                                                int stats_count,
                                                dlmgr_DLDict_t ***result,
                                                int *result_cnt,
                                                dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_setProperties(rc_instance_t *inst,
                                           const dlmgr__rad_dict_string_DLValue_t *properties,
                                           dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Bridge_getProperties(rc_instance_t *inst,
                                           const char **properties,
                                           int properties_count,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr_DLDict_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

   interface IPtunnel
       rc_err_t dlmgr_IPtunnel_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_addFlow(rc_instance_t *inst,
                                       const char *name,
                                       dlmgr_DLDict_t **filters,
                                       int filters_count,
                                       dlmgr_DLDict_t **masks,
                                       int masks_count,
                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                       rc_instance_t **result,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_removeFlow(rc_instance_t *inst,
                                          const char *name,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_IPtunnel_getFlowInfo(rc_instance_t *inst,
                                           const char **name,
                                           int name_count,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr_DLDict_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

   interface EoIB
       rc_err_t dlmgr_EoIB_getInfo(rc_instance_t *inst,
                                   const char **fields,
                                   int fields_count,
                                   dlmgr__rad_dict_string_DLValue_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_getStatistics(rc_instance_t *inst,
                                         const char **stats,
                                         int stats_count,
                                         dlmgr__rad_dict_string_DLValue_t **result,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_addFlow(rc_instance_t *inst,
                                   const char *name,
                                   dlmgr_DLDict_t **filters,
                                   int filters_count,
                                   dlmgr_DLDict_t **masks,
                                   int masks_count,
                                   const dlmgr__rad_dict_string_DLValue_t *properties,
                                   rc_instance_t **result,
                                   dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_removeFlow(rc_instance_t *inst,
                                      const char *name,
                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                      dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_getFlowInfo(rc_instance_t *inst,
                                       const char **name,
                                       int name_count,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr_DLDict_t ***result,
                                       int *result_cnt,
                                       dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_setProperties(rc_instance_t *inst,
                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                         dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_EoIB_getProperties(rc_instance_t *inst,
                                         const char **properties,
                                         int properties_count,
                                         const char **fields,
                                         int fields_count,
                                         dlmgr_DLDict_t ***result,
                                         int *result_cnt,
                                         dlmgr_DatalinkError_t **error);

   interface Partition
       rc_err_t dlmgr_Partition_getInfo(rc_instance_t *inst,
                                        const char **fields,
                                        int fields_count,
                                        dlmgr__rad_dict_string_DLValue_t **result,
                                        dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_getStatistics(rc_instance_t *inst,
                                              const char **stats,
                                              int stats_count,
                                              dlmgr__rad_dict_string_DLValue_t **result,
                                              dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_addFlow(rc_instance_t *inst,
                                        const char *name,
                                        dlmgr_DLDict_t **filters,
                                        int filters_count,
                                        dlmgr_DLDict_t **masks,
                                        int masks_count,
                                        const dlmgr__rad_dict_string_DLValue_t *properties,
                                        rc_instance_t **result,
                                        dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_removeFlow(rc_instance_t *inst,
                                           const char *name,
                                           const dlmgr__rad_dict_string_DLValue_t *properties,
                                           dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_getFlowInfo(rc_instance_t *inst,
                                            const char **name,
                                            int name_count,
                                            const char **fields,
                                            int fields_count,
                                            dlmgr_DLDict_t ***result,
                                            int *result_cnt,
                                            dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_setProperties(rc_instance_t *inst,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              dlmgr_DatalinkError_t **error);

       rc_err_t dlmgr_Partition_getProperties(rc_instance_t *inst,
                                              const char **properties,
                                              int properties_count,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr_DLDict_t ***result,
                                              int *result_cnt,
                                              dlmgr_DatalinkError_t **error);

   Enumerated Types
       enum DLSTATUS

           typedef enum dlmgr_DLSTATUS {
                DDLSTATUS_OK = 0,
                DDLSTATUS_FAILED = 1,
                DDLSTATUS_ACCESS_DENIED = 2,
                DDLSTATUS_ALL_MACADDRESS_SLOTS_INUSE = 3,
                DDLSTATUS_DB_ERROR = 4,
                DDLSTATUS_EXISTS = 5,
                DDLSTATUS_FACTORY_MACADDRESS_NOT_SUPPORTED = 6,
                DDLSTATUS_INVALID_ARGUMENT = 7,
                DDLSTATUS_INVALID_FLOW_FILTER = 8,
                DDLSTATUS_INVALID_MACADDRESS_INFO = 9,
                DDLSTATUS_INVALID_PVLAN_INFO = 10,
                DDLSTATUS_INVALID_SMF_CONFIG = 11,
                DDLSTATUS_INVALID_VALUE = 12,
                DDLSTATUS_INVALID_VLAN_INFO = 13,
                DDLSTATUS_IO_ERROR = 14,
                DDLSTATUS_IPADDRESS_INUSE = 15,
                DDLSTATUS_IPADDRESS_NOT_AVAILABLE = 16,
                DDLSTATUS_DATALINK_BUSY = 17,
                DDLSTATUS_DATALINK_HAS_FLOWS = 18,
                DDLSTATUS_DATALINK_NOTIFICATION_NOT_SUPPORTED = 19,
                DDLSTATUS_MACADDRESS_IN_USE = 20,
                DDLSTATUS_MACADDRESS_SLOT_IN_USE = 21,
                DDLSTATUS_NOT_FOUND = 22,
                DDLSTATUS_NOT_SUPPORTED = 23,
                DDLSTATUS_NO_MEMORY = 24,
                DDLSTATUS_PERSISTENT_OPERATION_ONLY = 25,
                DDLSTATUS_PROPERTY_READONLY = 26,
                DDLSTATUS_PVLAN_NOT_SUPPORTED = 27,
                DDLSTATUS_SYSTEM_FLOW = 28,
                DDLSTATUS_TEMPORARY_OPERATION_ONLY = 29,
                DDLSTATUS_TRY_AGAIN = 30,
                DDLSTATUS_VLAN_NOT_SUPPORTED = 31,
           } dlmgr_DLSTATUS_t;

       enum DLValueType

           typedef enum dlmgr_DLValueType {
                DDLVT_BOOLEAN = 0,
                DDLVT_BOOLEANS = 1,
                DDLVT_LONG = 2,
                DDLVT_LONGS = 3,
                DDLVT_ULONG = 4,
                DDLVT_ULONGS = 5,
                DDLVT_STRING = 6,
                DDLVT_STRINGS = 7,
                DDLVT_DICTIONARY = 8,
                DDLVT_DICTIONARYS = 9,
           } dlmgr_DLValueType_t;

       enum Permission

           typedef enum dlmgr_Permission {
                DP_READ = 1,
                DP_WRITE = 2,
                DP_READWRITE = 3,
                DP_UNKNOWN = 4,
           } dlmgr_Permission_t;

       enum StatType

           typedef enum dlmgr_StatType {
                DST_LINK = 0,
           } dlmgr_StatType_t;

   Structured Types
       struct DatalinkError

           typedef struct dlmgr_DatalinkError dlmgr_DatalinkError_t;

           struct dlmgr_DatalinkError {
                int dde_err;
                char *dde_errmsg;
           };


           void dlmgr_DatalinkError_free(dlmgr_DatalinkError_t *in);

       struct DLDict

           typedef struct dlmgr_DLDict dlmgr_DLDict_t;

           struct dlmgr_DLDict {
                dlmgr__rad_dict_string_DLValue_t *ddld_map;
           };


           void dlmgr_DLDict_free(dlmgr_DLDict_t *in);

       struct DLValue

           typedef struct dlmgr_DLValue dlmgr_DLValue_t;

           struct dlmgr_DLValue {
                dlmgr_DLValueType_t ddlv_type;
                boolean_t *ddlv_bval;
                boolean_t *ddlv_blist;
                int ddlv_blist_count;
                long long *ddlv_lval;
                long long *ddlv_llist;
                int ddlv_llist_count;
                unsigned long long *ddlv_ulval;
                unsigned long long *ddlv_ullist;
                int ddlv_ullist_count;
                char *ddlv_sval;
                char **ddlv_slist;
                int ddlv_slist_count;
                dlmgr__rad_dict_string_DLValue_t *ddlv_dval;
                dlmgr_DLDict_t **ddlv_dlist;
                int ddlv_dlist_count;
           };


           void dlmgr_DLValue_free(dlmgr_DLValue_t *in);

       struct Property

           typedef struct dlmgr_Property dlmgr_Property_t;

           struct dlmgr_Property {
                char *dp_propname;
                dlmgr_Permission_t dp_perm;
                char *dp_current;
                char *dp_effective;
                char *dp_persistent;
                char *dp_defvalue;
                char *dp_possible;
           };


           void dlmgr_Property_free(dlmgr_Property_t *in);

       struct LinkStat

           typedef struct dlmgr_LinkStat dlmgr_LinkStat_t;

           struct dlmgr_LinkStat {
                unsigned long long dls_ipackets;
                unsigned long long dls_rbytes;
                unsigned long long dls_idrops;
                unsigned long long dls_idropbytes;
                unsigned long long dls_opackets;
                unsigned long long dls_obytes;
                unsigned long long dls_odrops;
                unsigned long long dls_odropbytes;
           };


           void dlmgr_LinkStat_free(dlmgr_LinkStat_t *in);

       struct StatValue

           typedef struct dlmgr_StatValue dlmgr_StatValue_t;

           struct dlmgr_StatValue {
                dlmgr_StatType_t dsv_discriminant;
                dlmgr_LinkStat_t *dsv_linkstat;
           };


           void dlmgr_StatValue_free(dlmgr_StatValue_t *in);

   Dictionaries
       Dictionary { string : DLValue }

           typedef struct base_rad_dict dlmgr__rad_dict_string_DLValue_t;

DESCRIPTION
       API com.oracle.solaris.rad.dlmgr [1]

       This RAD module exposes APIs that provides functionality for
       configuration and administration of Datalinks and Flows. Please refer
       dladm(8), flowadm(8), dlstat(8), and flowstat(8) manpage for more
       information on various supported properties. The following are sample
       python examples which illustrate some simple operations with the VNIC
       and Flow.

INTERFACES
   interface DatalinkManager
       Create and delete various classes of datalinks on the system.

       DatalinkManager Methods
           rc_err_t dlmgr_DatalinkManager_createVNIC(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     rc_instance_t **result,
                                                     dlmgr_DatalinkError_t **error);

               Create a VNIC based on the specified name and properties. It
               takes two arguments: name - name of the VNIC properties -
               properties of the VNIC captured in a dictionary

               Following properties are supported during creation.
               |---------------------+-------------+------------------------------------------|
               | Property            | DLValueType | Notes                                    |
               |                     |             |                                          |
               |---------------------+-------------+------------------------------------------|
               | lower-link          | STRING      | Specifies the datalink on top of which   |
               |                     |             | the VNIC will be created.                |
               |                     |             |                                          |
               | mac-address-info[1] | DICTIONARY  | See below for the valid keys and their   |
               | (Optional)          |             | possible values                          |
               |                     |             |                                          |
               | vlan-info[2]        | DICTIONARY  | See below for the valid keys and their   |
               | (Optional)          |             | possible values                          |
               |                     |             |                                          |
               | pkey                | ULONG       | Pkey associated with the Partition. This |
               | (Optional)          |             | property should not be specified along   |
               |                     |             | with either mac-address-info or          |
               |                     |             | vlan-info.                               |
               |                     |             |                                          |
               | force               | BOOLEAN     | Force creation of the vnic.              |
               | (Optional)          |             |                                          |
               |                     |             |                                          |
               | namecheck           | BOOLEAN     | Specifies whether or not to              |
               | (Optional)          |             | enforce strict naming conventions.       |
               |                     |             | Supported values are true or false.      |
               |                     |             |                                          |
               | temporary           | BOOLEAN     | Specifies whether datalink is            |
               | (Optional)          |             | persistent across boot or not.           |
               |                     |             | Supported values are true or false.      |
               |                     |             |                                          |
               | iov                 | STRING      | Specifies if a VF VNIC must be           |
               | (Optional)          |             | created or not. The possible values      |
               |                     |             | are on, off, and inherit.                |
               |                     |             |                                          |
               | ring-group          | STRING      | Specifies if a exclusive ring-group VNIC |
               | (Optional)          |             | created or not. The possible values      |
               |                     |             | are exclusive, shared, and auto.         |
               |---------------------+-------------+------------------------------------------|

               [1] mac-address-info
               Note: Whether a Key is required or optional depends on the chosen
               mac-address-type.
               |--------------------+---------+---------+-------------------------------------------|
               | Key                | DLValue | Values  | Notes                                     |
               |                    | Type    |         |                                           |
               |--------------------+---------+---------+-------------------------------------------|
               | mac-address-type   | STRING  | primary | shares the lower-link MAC address to      |
               |                    |         |         | create VLANs. If this is specified,       |
               |                    |         |         | then other keys in mac-address-info       |
               |                    |         |         | is ignored. Also, vlan-info property      |
               |                    |         |         | must be specified.                        |
               |                    |         | random  | Assign a random MAC address to the VNIC.  |
               |                    |         | fixed   | Assign a fixed MAC address to the VNIC.   |
               |                    |         | factory | Assign a factory MAC address to the VNIC. |
               |                    |         | vrrp    | Assign a VRRP virtual MAC address to      |
               |                    |         |         | the VNIC base on the specified vrrp-af    |
               |                    |         |         | vrrp-id                                   |
               |                    |         | auto    | Try and use a factory MAC address first.  |
               |                    |         |         | If none is available, assign a random     |
               |                    |         |         | MAC address.                              |
               |                    |         |         |                                           |
               | mac-address-prefix | STRING  |         | Specify a default prefix consisting       |
               | (Optional)         |         |         | of a valid IEEE OUI with the local        |
               |                    |         |         | bit set will be used for random MAC       |
               |                    |         |         | address.                                  |
               |                    |         |         |                                           |
               | mac-address-slot   | ULONG   |         | Specify a MAC address slot to be use      |
               | (Optional)         |         |         | factory MAC address.                      |
               |                    |         |         |                                           |
               | mac-address        | STRING  |         | If mac-address-type is fixed, then        |
               |                    |         |         | this specifies the fixed mac-address      |
               |                    |         |         |                                           |
               | vrrp-af            | ULONG   | 4 or 6  | The address family to be used for VRRP    |
               |                    |         |         | virtual MAC address.                      |
               |                    |         |         |                                           |
               | vrrp-id            | ULONG   |         | The vrid to be used for VRRP virtual      |
               |                    |         |         | MAC address.                              |
               |--------------------+---------+---------+-------------------------------------------|

               [2] vlan-info
               |------------+-------------+-------------------------------------|
               | Key        | DLValueType | Notes                               |
               |------------+-------------+-------------------------------------|
               | vlan-id    | ULONG       | The VLAN ID to be used.             |
               |            |             |                                     |
               | pvlan-id   | ULONG       | The private VLAN ID to be used.     |
               | (Optional) |             |                                     |
               |            |             |                                     |
               | pvlan-type | STRING      | The private VLAN type. The possible |
               | (Optional) |             | values are community or isolated.   |
               |------------+-------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_createEVSVNIC(rc_instance_t *inst,
                                                        const char *name,
                                                        const dlmgr__rad_dict_string_DLValue_t *properties,
                                                        rc_instance_t **result,
                                                        dlmgr_DatalinkError_t **error);

               Create an EVS VNIC based on the specified name and properties.
               It takes two arguments: name - name of the VNIC properties -
               properties of the VNIC captured in a dictionary

               Following properties are supported during creation.
               |-------------------+-------------+-------------------------------------|
               | Property          | DLValueType | Notes                               |
               |-------------------+-------------+-------------------------------------|
               | evs               | STRING      | name of the EVS to connect to       |
               |                   |             |                                     |
               | vport (Optional)  | STRING      | name of the VPort to connect to     |
               |                   |             |                                     |
               | tenant (Optional) | STRING      | name of the tenant that has the EVS |
               |                   |             |                                     |
               | temporary         | BOOLEAN     | Specifies whether datalink is       |
               |                   |             | persistent across boot or not. This |
               |                   |             | property must be specified and must |
               |                   |             | be set to B_TRUE.                   |
               |-------------------+-------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteVNIC(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     dlmgr_DatalinkError_t **error);

               Delete a VNIC with the specified name. It takes two arguments:
               name - name of the VNIC properties - delete time properties
               captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createTrunkAggregation(rc_instance_t *inst,
                                                                 const char *name,
                                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                                 rc_instance_t **result,
                                                                 dlmgr_DatalinkError_t **error);

               Create a Trunk (IEEE 802.3ad compliant) Aggregation based on
               the specified name and properties. It takes two arguments: name
               - name of the Aggregation properties - properties of the
               Aggregation captured in a dictionary

               Following properties are supported during creation.
               |------------+-------------+--------------------------------------------------|
               | Property   | DLValueType | Notes                                            |
               |------------+-------------+--------------------------------------------------|
               | ports      | STRINGS     | Specifies list of ports that are to be           |
               |            |             | part of the aggregation.                         |
               |            |             |                                                  |
               | policy     | STRING      | Specifies the port selection policy to use for   |
               | (Optional) |             | load spreading of outbound traffic. Possible     |
               |            |             | values are: L2, L3, or L4.                       |
               |            |             |                                                  |
               | lacp-mode  | STRING      | Specifies the LACP mode to be used: Possible     |
               | (Optional) |             | values are: off, active, or passive              |
               |            |             |                                                  |
               | lacp-timer | STRING      | Specifies the LACP timer value. Possible values  |
               | (Optional) |             | are short or long                                |
               |            |             |                                                  |
               | unicast-   | STRING      | Specifies a fixed unicast hardware address to be |
               | address    |             | used for the aggregation                         |
               | (Optional) |             |                                                  |
               |            |             |                                                  |
               | force      | BOOLEAN     | Force the operation.                             |
               | (Optional) |             |                                                  |
               |            |             |                                                  |
               | temporary  | BOOLEAN     | Specifies whether datalink is persistent across  |
               | (Optional) |             | boot or not.                                     |
               |------------+-------------+--------------------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_createDLMPAggregation(rc_instance_t *inst,
                                                                const char *aggrname,
                                                                const dlmgr__rad_dict_string_DLValue_t *properties,
                                                                rc_instance_t **result,
                                                                dlmgr_DatalinkError_t **error);

               Create a Datalink Multipathing Aggregation based on the
               specified name and properties. It takes two arguments: name -
               name of the Aggregation properties - properties of the
               Aggregation captured in a dictionary

               Following properties are supported during creation.
               |---------------+-------------+-------------------------------|
               | Property      | DLValueType | Notes                         |
               |-------------  +-------------+-------------------------------|
               | ports         | STRINGS     | Specifies ports that are to   |
               |               |             | be part of the aggregation.   |
               |               |             |                               |
               | probe-vlan-id | ULONG       | Specifies the VLAN ID over    |
               | (Optional)    |             | which the ICMP and xprobes    |
               |               |             | are send.                     |
               |               |             |                               |
               | probe-ip[1]   | DICTIONARYS | Array of source IP addresses  |
               | (Optional)    |             | and target IP addresses for   |
               |               |             | ICMP Probing                  |
               |               |             |                               |
               | probe-fdt     | ULONG       | Specifies the failure         |
               | (Optional)    |             | detection time in seconds.    |
               |               |             | Default value is 10s.         |
               |               |             |                               |
               | force         | BOOLEAN     | Force the operation.          |
               | (Optional)    |             |                               |
               |               |             |                               |
               | temporary     | BOOLEAN     | Specifies whether datalink is |
               | (Optional)    |             | persistent across boot or not |
               |---------------+-------------+-------------------------------|

               [1] probe-ip
               |------------+-------------+--------------------------------------------------------------------|
               | Key        | DLValueType | Notes                                                              |
               |------------+-------------+--------------------------------------------------------------------|
               | source     | STRING      | Specifies the IP address or Address object name or IP interface    |
               |            |             | name that must be used as source for ICMP probing. The special     |
               |            |             | strings "*", "*v4", and "*v6" can also be used. All the IP         |
               |            |             | addresses configured on the aggregation and the VNICs will be      |
               |            |             | potential source IP address of ICMP probes.                        |
               |            |             |                                                                    |
               | target     | STRING      | Specifies the IP address that is in the same subnetwork as the     |
               | (Optional) |             | specified source IP address. The special string "rt" can be used,  |
               |            |             | and it means that the routing-table will be consulted to determine |
               |            |             | the IP address.                                                    |
               |------------+-------------+--------------------------------------------------------------------|


               Arguments:

               inst -- RAD instance

               aggrname

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteAggregation(rc_instance_t *inst,
                                                            const char *name,
                                                            const dlmgr__rad_dict_string_DLValue_t *properties,
                                                            dlmgr_DatalinkError_t **error);

               Delete an Aggregation with the specified name. It takes two
               arguments: name - name of the Aggregation properties - delete
               time properties captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createVXLAN(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      rc_instance_t **result,
                                                      dlmgr_DatalinkError_t **error);

               Create a VXLAN based on the specified name and properties. It
               takes two arguments: name - name of the VXLAN properties -
               properties of the VXLAN captured in a dictionary

               Following properties are supported during creation.
               |------------------+-------------+-----------------------------------------|
               | Property         | DLValueType | Notes                                   |
               |------------------+-------------+-----------------------------------------|
               | vni              | ULONG       | VXLAN segment ID (0 - 16777215).        |
               |                  |             |                                         |
               | local-ip (1)     | STRING      | An IP address (IPv4 or IPv6) that       |
               |                  |             | hosts a VXLAN datalink.                 |
               |                  |             |                                         |
               | ip-interface (2) | STRING      | Underlying IP interface for a VXLAN     |
               |                  |             | datalink.                               |
               |                  |             |                                         |
               | ip-version (3)   | ULONG       | Specifies whether an IPv4(4) or IPv6(6) |
               |                  |             | address should be selected on an IP     |
               |                  |             | interface. If not specified, then IPv4  |
               |                  |             | will be used.                           |
               |                  |             |                                         |
               | multicast-       | STRING      | Multicast group VXLAN datalink          |
               | group            |             | subscribes too.                         |
               | (Optional)       |             |                                         |
               |                  |             |                                         |
               | temporary        | BOOLEAN     | Specifies whether datalink is           |
               | (Optional)       |             | persistent across boot or not.          |
               |                  |             | Supported values are true or false.     |
               |------------------+-------------+-----------------------------------------|
               (1)(2) Either local-ip or ip-interface must be specified.
               (3) if ip-interface is specified, then ip-version can be optionally specified.


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteVXLAN(rc_instance_t *inst,
                                                      const char *name,
                                                      const dlmgr__rad_dict_string_DLValue_t *properties,
                                                      dlmgr_DatalinkError_t **error);

               Delete a VXLAN with the specified name. It takes two arguments:
               name - name of the VXLAN properties - delete time properties
               captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createEtherstub(rc_instance_t *inst,
                                                          const char *name,
                                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                                          rc_instance_t **result,
                                                          dlmgr_DatalinkError_t **error);

               Create an Etherstub based on the specified name and properties.
               It takes two arguments: name - name of the Etherstub properties
               - properties of the Etherstub captured in a dictionary

               Following properties are supported during creation.
               |------------+-------------+--------------------------------------------------|
               | Property   | DLValueType | Notes                                            |
               |------------+-------------+--------------------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink is persistent across  |
               | (Optional) |             | boot or not. Supported values are true or false. |
               |------------+-------------+--------------------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable) -- Optional dictionary of property names
               and their values. Following properties are supported: temporary
               (BOOLEAN)

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteEtherstub(rc_instance_t *inst,
                                                          const char *name,
                                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                                          dlmgr_DatalinkError_t **error);

               Delete an Etherstub with the specified name. It takes two
               arguments: name - name of the Etherstub properties - delete
               time properties captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createVETH(rc_instance_t *inst,
                                                     const char *name,
                                                     const char *peer_name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     rc_instance_t **result,
                                                     dlmgr_DatalinkError_t **error);

               Create an Etherstub based on the specified name and properties.
               It takes three arguments: name - name of the local VETH
               endpoint peer_name - name of the peer VETH endpoint properties
               - optional properties of the VETH captured in a dictionary

               Following properties are supported during creation.
               |------------+-------------+--------------------------------------------------|
               | Property   | DLValueType | Notes                                            |
               |------------+-------------+--------------------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink is persistent across  |
               | (Optional) |             | boot or not. Supported values are true or false. |
               |------------+-------------+--------------------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               peer_name

               properties (nullable) -- Optional dictionary of property names
               and their values. Following properties are supported: temporary
               (BOOLEAN)

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteVETH(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     dlmgr_DatalinkError_t **error);

               Delete a VETH with the specified name. It takes two arguments:
               name - name of the Etherstub properties - delete time
               properties captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createBridge(rc_instance_t *inst,
                                                       const char *name,
                                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                                       rc_instance_t **result,
                                                       dlmgr_DatalinkError_t **error);

               Create a Bridge based on the specified name and properties. It
               takes two arguments: name - name of the Bridge properties -
               properties of the Bridge captured in a dictionary

               Following properties are supported during creation.
               |----------------+-------------+-----------------------------------|
               | Property       | DLValueType | Notes                             |
               |----------------+-------------+-----------------------------------|
               | ports          | STRINGS     | Specifies ports that are to be    |
               |                |             | part of the bridge.               |
               |                |             |                                   |
               | protect        | STRING      | Specifies the protection method.  |
               | (Optional)     |             |                                   |
               |                |             |                                   |
               | priority       | ULONG       | Specifies STP priority value for  |
               | (Optional)     |             | determining the root bridge node  |
               |                |             | in the network. Default value is  |
               |                |             | 32768. Supported values: 0 to     |
               |                |             | 61440.                            |
               |                |             |                                   |
               | max-age        | ULONG       | Specifies STP bridge maximum age  |
               | (Optional)     |             | parameter. Default value is 20    |
               |                |             | seconds. Supported values are 6   |
               |                |             | to 40 seconds.                    |
               |                |             |                                   |
               | hello-time     | ULONG       | Specifies STP hello time          |
               | (Optional)     |             | parameter. Default value is 2     |
               |                |             | seconds. Supported values are 1   |
               |                |             | to 10 seconds.                    |
               |                |             |                                   |
               | forward-delay  | ULONG       | Specifies the STP bridge forward  |
               | (Optional)     |             | delay parameter.                  |
               |                |             |                                   |
               | force-protocol | ULONG       | Specifies the MSTP forced maximum |
               | (Optional)     |             | protocol. Default value is 3:     |
               |                |             | Supported values are non-negative |
               |                |             | integers.                         |
               |----------------+-------------+-----------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteBridge(rc_instance_t *inst,
                                                       const char *name,
                                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                                       dlmgr_DatalinkError_t **error);

               Delete a Bridge with the specified name. It takes two
               arguments: name - name of the Bridge properties - delete time
               properties captured in a dictionary

               Properties dictionary argument is for future use.


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createIPtunnel(rc_instance_t *inst,
                                                         const char *name,
                                                         const char *iptun_type,
                                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                                         rc_instance_t **result,
                                                         dlmgr_DatalinkError_t **error);

               Create an IP tunnel based on the specified name, tunnel type,
               and properties. It takes 3 arguments: name - name of the IP
               tunnel tunnel type - type of the tunnel (must be one of the
               following: ipv4, ipv6, or 6to4) properties - properties of the
               IP tunnel captured in a dictionary

               Following properties are supported during creation.
               |------------+-------------+-------------------------------------|
               | Property   | DLValueType | Notes                               |
               |------------+-------------+-------------------------------------|
               | local      | STRING      | Literal IP address or hostname that |
               | (Optional) |             | indicates local tunnel address.     |
               |            |             |                                     |
               | remote     | STRING      | Literal IP address or hostname that |
               | (Optional) |             | indicates remote tunnel address.    |
               |            |             |                                     |
               | temporary  | BOOLEAN     | Specifies whether datalink is       |
               | (Optional) |             | persistent across boot or not.      |
               |------------+-------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               iptun_type

               properties (nullable)

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteIPtunnel(rc_instance_t *inst,
                                                         const char *name,
                                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                                         dlmgr_DatalinkError_t **error);

               Delete an IP tunnel with the specified name. It takes two
               arguments: name - name of the IP tunnel properties - delete
               time properties captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createEoIB(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     rc_instance_t **result,
                                                     dlmgr_DatalinkError_t **error);

               Create an Ethernet over Infiniband link based on the specified
               name and properties. It takes two arguments: name - name of the
               EoIB properties - properties of the EoIB captured in a
               dictionary

               Following properties are supported during creation.
               |--------------+-------------+--------------------------------------|
               | Property     | DLValueType | Notes                                |
               |--------------+-------------+--------------------------------------|
               | lower-link   | STRING      | InfiniBand physical link name.       |
               |              |             |                                      |
               | gateway-name | STRING      | Specifies the system name of the     |
               |              |             | IB-Ethernet gateway switch.          |
               |              |             |                                      |
               | gateway-port | STRING      | Specifies the name of the connector  |
               |              |             | associated with the gateway switch's |
               |              |             | Ethernet port.                       |
               |              |             |                                      |
               | temporary    | BOOLEAN     | Indicates whether link is persistent |
               | (Optional)   |             | across boot or not.                  |
               |--------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deleteEoIB(rc_instance_t *inst,
                                                     const char *name,
                                                     const dlmgr__rad_dict_string_DLValue_t *properties,
                                                     dlmgr_DatalinkError_t **error);

               Delete an EoIB link with the specified name. It takes two
               arguments: name - name of the EoIB properties - delete time
               properties captured in a dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_DatalinkManager_createPartition(rc_instance_t *inst,
                                                          const char *name,
                                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                                          rc_instance_t **result,
                                                          dlmgr_DatalinkError_t **error);

               Create a IB Partition based on the specified name and
               properties. It takes two arguments: name - name of the
               Partition properties - properties of the Partition captured in
               a dictionary

               Following properties are supported during creation.
               |------------+-------------+----------------------------------------|
               | Property   | DLValueType | Notes                                  |
               |------------+-------------+----------------------------------------|
               | pkey       | ULONG       | Partition key to be used for creating  |
               |            |             | the partition link. pkey specified is  |
               |            |             | always treated as hexadecimal, whether |
               |            |             | it has the 0x prefix or not.           |
               |            |             |                                        |
               | lower-link | STRING      | Specifies the underlying IB link       |
               |            |             |                                        |
               | force      | BOOLEAN     | Force creation of the partition link   |
               | (Optional) |             | even if pkey specified is absent on    |
               |            |             | the port.                              |
               |            |             |                                        |
               | temporary  | BOOLEAN     | Specifies whether IB partition is      |
               | (Optional) |             | persistent across boot or not.         |
               |------------+-------------+----------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties

               result

               error

           rc_err_t dlmgr_DatalinkManager_deletePartition(rc_instance_t *inst,
                                                          const char *name,
                                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                                          dlmgr_DatalinkError_t **error);

               Delete a IB Partition. It takes two arguments: name - name of
               the Partition properties - delete time properties captured in a
               dictionary

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

       DatalinkManager Retrieve
           rc_err_t dlmgr_DatalinkManager__rad_get_name(adr_name_t **result,
                                                        int n,
                                                        ...);

               Obtain RAD name of a DatalinkManager object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_DatalinkManager__rad_lookup(rc_conn_t *c,
                                                      boolean_t strict,
                                                      rc_instance_t **result,
                                                      int n,
                                                      ...);

               Lookup a DatalinkManager instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_DatalinkManager__rad_list(rc_conn_t *c,
                                                    boolean_t strict,
                                                    adr_pattern_scheme_t scheme,
                                                    adr_name_t ***result,
                                                    int *result_count,
                                                    int n,
                                                    ...);

               List RAD names of a available DatalinkManager instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Datalink
       Administrative API to administer Datalinks.

       Datalink Methods
           rc_err_t dlmgr_Datalink_setProperty(rc_instance_t *inst,
                                               const char *property,
                                               int flags,
                                               dlmgr_DatalinkError_t **error);

               Set the values of a datalink property specified.

               Arguments:

               inst -- RAD instance

               property -- a name-value pair of property and its values (e.g.,
               maxbw=200 OR priority=high)

               flags -- option flags for setting datalink properties
               0x00000001 - set temporary property on active system 0x00000002
               - set property to persist across reboot

               error

           rc_err_t dlmgr_Datalink_getProperty(rc_instance_t *inst,
                                               const char *properties,
                                               dlmgr_Property_t ***result,
                                               int *result_cnt,
                                               dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the specified datalink property.

               Arguments:

               inst -- RAD instance

               properties -- Name of the property for which the value need to
               be specified.

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Datalink_setProperties(rc_instance_t *inst,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               link. Following table captures the list of properties that can
               be set for a given class of datalink. To reset a property to
               its default value just specify the property name without any
               value as the input.

               C - Create (create*() methods)
               R - Read (getProperties() and getInfo() methods)
               U - Update (setProperties() method)
               D - Delete (delete*() methods)

               Datalink Properties Table:
               |-------------------+-------------+------------------+------+---------------------------------------|
               | Property          | DLValue     | RAD              | CRUD | Notes                                 |
               |                   | Type        | Interface        |      |                                       |
               |-------------------+-------------+------------------+------+---------------------------------------|
               | autopush          | STRING      | ALL              | RU   | The set of STREAMS modules to push    |
               |                   |             |                  |      | on the stream associated with a link  |
               |                   |             |                  |      | when its DLPI device is opened.       |
               |                   |             |                  |      |                                       |
               | zone              | STRING      | ALL              | RU   | The zone to which the link belongs.   |
               |                   |             |                  |      |                                       |
               | state             | STRING      | ALL              | R    | The link state of the datalink.       |
               |                   |             |                  |      |                                       |
               | mtu               | ULONG       | ALL              | RU   | The maximum transmission unit size    |
               |                   |             |                  |      | for the datalink being displayed.     |
               |                   |             |                  |      |                                       |
               | max-bw            | ULONG       | ALL              | RU   | The full duplex bandwidth in bps for  |
               |                   |             |                  |      | the link.                             |
               |                   |             |                  |      |                                       |
               | bw-share          | ULONG       | ALL              | RU   | Minimum share of the bandwidth the    |
               |                   |             |                  |      | VNIC will get when there is           |
               |                   |             |                  |      | competition from other VNICs on       |
               |                   |             |                  |      | the same data link.                   |
               |                   |             |                  |      |                                       |
               | cpus              | DICTIONARYS | ALL              | RU   | Bind the processing of packets for a  |
               |                   |             |                  |      | given data link to a processor or a   |
               |                   |             |                  |      | set of processors.                    |
               |                   |             |                  |      |                                       |
               | allowed-ips       | STRINGS     | ALL              | RU   | A list of allowed IP (IPv4 or  IPv6)  |
               |                   |             |                  |      | addresses. Works in conjunction with  |
               |                   |             |                  |      | ip-nospoof protection.                |
               |                   |             |                  |      |                                       |
               | pool              | STRING      | ALL              | RU   | Bind the processing of packets for a  |
               |                   |             |                  |      | given data link to a pool of          |
               |                   |             |                  |      | processors defined and administered   |
               |                   |             |                  |      | by poolcfg(8) and pooladm(8).         |
               |                   |             |                  |      |                                       |
               | rx-fanout         | ULONG       | ALL              | RU   | The number of receive-side fanout     |
               |                   |             |                  |      | threads.                              |
               |                   |             |                  |      |                                       |
               | protection        | STRINGS     | ALL              | RU   | Types of link protection. Possible    |
               |                   |             |                  |      | values are mac-nospoof, ip-nospoof,   |
               |                   |             |                  |      | dhcp-nospoof and restricted.          |
               |                   |             |                  |      |                                       |
               | allowed-dhcp-cids | STRINGS     | ALL              | RU   | A list of allowed DHCP CID or DUID.   |
               |                   |             |                  |      | Works in conjunction with             |
               |                   |             |                  |      | dhcp-nospoof protection.              |
               |                   |             |                  |      |                                       |
               | rx-rings          | STRING      | ALL - VETH       | RU   | The number of receive rings side for  |
               |                   |             |                  |      | the MAC client.                       |
               |                   |             |                  |      |                                       |
               | tx-rings          | STRING      | ALL - VETH       | RU   | The number of transmit rings for the  |
               |                   |             |                  |      | MAC client.                           |
               |                   |             |                  |      |                                       |
               | vsi-manager-id    | STRING      | Physical, VNIC   | RU   | An IPv6 address. A VSI Manager        |
               |                   |             |                  |      | maintains the mapping between the     |
               |                   |             |                  |      | {VSI Type ID-VSI Version} and the set |
               |                   |             |                  |      | of properties.                        |
               |                   |             |                  |      |                                       |
               | vsi-manager-id-   | STRING      | Physical         | RU   | The encoding associated with the      |
               | encoding          |             |                  |      | physical link's vsi-manager-id.       |
               |                   |             |                  |      |                                       |
               | cos               | ULONG       | ALL              | RU   | The 802.1p  priority associated with  |
               |                   |             |                  |      | the link.                             |
               |                   |             |                  |      |                                       |
               | ets-bw-local      | ULONG       | Physical, VNIC   | RU   | Indicates the ETS bandwidth           |
               |                   |             |                  |      | configured on the TX side for a link. |
               |                   |             |                  |      |                                       |
               | ets-bw-remote     | ULONG       | Physical, VNIC   | R    | Indicates the ETS bandwidth (in %)    |
               |                   |             |                  |      | that is effective on the remote end   |
               |                   |             |                  |      | for this link.                        |
               |                   |             |                  |      |                                       |
               | ets-bw-local-     | ULONG       | Physical, VNIC   | R    | Indicates the ETS bandwidth (as a %)  |
               | advice            |             |                  |      | recommended by the remote end for     |
               |                   |             |                  |      | this link                             |
               |                   |             |                  |      |                                       |
               | ets-bw-remote-    | ULONG       | Physical, VNIC   | RU   | Indicates the ETS bandwidth (in %)    |
               | advice            |             |                  |      | that is effective on the remote end   |
               |                   |             |                  |      | for this link. The value is obtained  |
               |                   |             |                  |      | by means of LLDP.                     |
               |                   |             |                  |      |                                       |
               | temporary         | BOOLEAN     | ALL              | CRUD | Specifies whether datalink is         |
               |                   |             |                  |      | persistent across boot or not.        |
               |                   |             |                  |      |                                       |
               | priority          | STRING      | ALL - Bridge     | RU   | Specifies STP priority value for      |
               |                   |             |                  |      | determining the root bridge node in   |
               |                   |             |                  |      | the network. Default value is 32768.  |
               |                   |             |                  |      | Supported values: 0 to 61440.         |
               |                   |             |                  |      |                                       |
               | forward           | BOOLEAN     | ALL - VNIC       | RU   | Enables or disables forwarding for    |
               |                   |             |                  |      | a VLAN.                               |
               |                   |             |                  |      |                                       |
               | probe-vlan-id     | ULONG       | Aggregation      | CRU  | Specifies the VLAN ID over which the  |
               |                   |             |                  |      | ICMP and xprobes are send.            |
               |                   |             |                  |      | (DLMP mode only)                      |
               |                   |             |                  |      |                                       |
               | probe-ip          | DICTIONARY  | Aggregation      | CRU  | Array of source IP addresses and      |
               |                   |             |                  |      | target IP addresses for ICMP Probing. |
               |                   |             |                  |      | (DLMP mode only)                      |
               |                   |             |                  |      |                                       |
               | probe-fdt         | ULONG       | Aggregation      | CRU  | Specifies the failure detection time  |
               |                   |             |                  |      | in seconds. Default value is 10s.     |
               |                   |             |                  |      | (DLMP mode only)                      |
               |                   |             |                  |      |                                       |
               | policy            | STRING      | Aggregation      | CRU  | Specifies the port selection policy   |
               |                   |             |                  |      | to use for load spreading of outbound |
               |                   |             |                  |      | traffic. Possible values are: L2, L3, |
               |                   |             |                  |      | or L4. (Trunk mode only)              |
               |                   |             |                  |      |                                       |
               | lacp-mode         | STRING      | Aggregation      | CRU  | Specifies the LACP mode to be used:   |
               |                   |             |                  |      | Possible values are: off, active, or  |
               |                   |             |                  |      | passive. (Trunk mode only)            |
               |                   |             |                  |      |                                       |
               | lacp-timer        | STRING      | Aggregation      | CRU  | Specifies the LACP timer value.       |
               |                   |             |                  |      | Possible values are short or long.    |
               |                   |             |                  |      | (Trunk mode only)                     |
               |                   |             |                  |      |                                       |
               | unicast-address   | STRING      | Aggregation      | CRU  | Specifies a fixed unicast hardware    |
               |                   |             |                  |      | address to be used for the            |
               |                   |             |                  |      | aggregation. (Trunk mode only)        |
               |                   |             |                  |      |                                       |
               | ports             | STRINGS     | Aggregation,     | CR   | Specifies list of ports that are to   |
               |                   |             | Bridge           |      | be part of the aggregation.           |
               |                   |             |                  |      |                                       |
               | protect           | STRING      | Bridge           | CRU  | Specifies the protection method.      |
               |                   |             |                  |      |                                       |
               | priority          | ULONG       | Bridge           | CRU  | Specifies STP priority value for      |
               |                   |             |                  |      | determining the root bridge node in   |
               |                   |             |                  |      | the network. Default value is 32768.  |
               |                   |             |                  |      | Supported values: 0 to 61440.         |
               |                   |             |                  |      |                                       |
               | max-age           | ULONG       | Bridge           | CRU  | Specifies STP bridge maximum age      |
               |                   |             |                  |      | parameter. Default value is 20        |
               |                   |             |                  |      | seconds. Supported values are 6 to    |
               |                   |             |                  |      | 40 seconds.                           |
               |                   |             |                  |      |                                       |
               | hello-time        | ULONG       | Bridge           | CRU  | Specifies STP hello time parameter.   |
               |                   |             |                  |      | Default value is 2 seconds.           |
               |                   |             |                  |      | Supported values are 1 to 10 seconds. |
               |                   |             |                  |      |                                       |
               | forward-delay     | ULONG       | Bridge           | CRU  | Specifies the STP bridge forward      |
               |                   |             |                  |      | delay parameter.                      |
               |                   |             |                  |      |                                       |
               | force-protocol    | ULONG       | Bridge           | CRU  | Specifies the MSTP forced maximum     |
               |                   |             |                  |      | protocol. Default value is 3:         |
               |                   |             |                  |      | Supported values are non-negative     |
               |                   |             |                  |      | integers.                             |
               |                   |             |                  |      |                                       |
               | gateway-name      | STRING      | EoIB             | CR   | Specifies the system name of the      |
               |                   |             |                  |      | IB-Ethernet gateway switch.           |
               |                   |             |                  |      |                                       |
               | gateway-port      | STRING      | EoIB             | CR   | Specifies the name of the connector   |
               |                   |             |                  |      | associated with the gateway switch's  |
               |                   |             |                  |      | Ethernet port.                        |
               |                   |             |                  |      |                                       |
               | lower-link        | STRING      | EoIB, VNIC,      | CRU* | The name of the underlying link over  |
               |                   |             | Partition        |      | which this link is created.           |
               |                   |             |                  |      |                                       |
               | hop-limit         | ULONG       | IPtunnel         | RU   | Specifies the IPv4 TTL or IPv6 hop    |
               |                   |             |                  |      | limit for the encapsulating outer IP  |
               |                   |             |                  |      | header of a tunnel link. This         |
               |                   |             |                  |      | property exists for all tunnel types. |
               |                   |             |                  |      | The default value is 64.              |
               |                   |             |                  |      |                                       |
               | encap-limit       | ULONG       | IPtunnel         | RU   | Specifies the IPv6 encapsulation      |
               |                   |             |                  |      | limit for an IPv6 tunnel as defined   |
               |                   |             |                  |      | in RFC 2473. The default value is 4.  |
               |                   |             |                  |      | A value of 0 disables the             |
               |                   |             |                  |      | encapsulation limit.                  |
               |                   |             |                  |      |                                       |
               | local             | STRING      | IPtunnel         | CRU  | The local tunnel address.             |
               |                   |             |                  |      |                                       |
               | remote            | STRING      | IPtunnel         | CRU  | The remote tunnel address.            |
               |                   |             |                  |      |                                       |
               | pkey              | ULONG       | Partition, VNIC  | CR   | Pkey associated with the partition    |
               |                   |             |                  |      | link.                                 |
               |                   |             |                  |      |                                       |
               |                   |             |                  |      |                                       |
               | link-mode         | STRING      | Partition, VNIC  | RU   | The link transport service type on    |
               |                   |             |                  |      | an IB partition datalink.             |
               |                   |             |                  |      |                                       |
               |                   |             |                  |      |                                       |
               | auto-connect      | BOOLEAN     | Physical         | RU   | Specifies if wifi auto-connect is     |
               |                   |             |                  |      | in use.                               |
               |                   |             |                  |      |                                       |
               | channel           | STRING      | Physical         | R    | Specifies the WiFi channel to use.    |
               |                   |             |                  |      |                                       |
               | power-mode        | STRING      | Physical         | RU   | Specifies the power management mode   |
               |                   |             |                  |      | of the WiFi link.                     |
               |                   |             |                  |      |                                       |
               | radio             | BOOLEAN     | Physical         | RU   | Specifies the radio mode of the WiFi  |
               |                   |             |                  |      | link.                                 |
               |                   |             |                  |      |                                       |
               | auto-negotiation  | BOOLEAN     | Physical         | RU   | Turns off/on auto-negotiation.        |
               |                   |             |                  |      |                                       |
               | flow-control      | STRING      | Physical         | RU   | Establishes flow-control modes that   |
               |                   |             |                  |      | will be advertised by the device.     |
               |                   |             |                  |      |                                       |
               | fw-version        | STRING      | Physical         | R    | Specifies the firmware version.       |
               |                   |             |                  |      |                                       |
               | speed-duplex      | STRINGS     | Physical         | RU   | Specifies the list of speed-duplex    |
               |                   |             |                  |      | values that must be negotiated with   |
               |                   |             |                  |      | the peer link. The possible values    |
               |                   |             |                  |      | (depending on the underlying NIC) can |
               |                   |             |                  |      | be 100G-f, 50G-f, 40G-f, 25G-f,       |
               |                   |             |                  |      | 10G-f, 1G-f, 1G-h, 100M-f, 100M-h,    |
               |                   |             |                  |      | 10M-f and 10M-h                       |
               |                   |             |                  |      |                                       |
               | pfcmap            | ULONG       | Physical         | RU   | Indicate the 802.1p priority values   |
               |                   |             |                  |      | for which PFC (Priority-based flow    |
               |                   |             |                  |      | control) is enabled.                  |
               |                   |             |                  |      |                                       |
               | pfcmap-remote     | ULONG       | Physical         | R    | Indicate the PFC configuration of     |
               |                   |             |                  |      | the remote peer.                      |
               |                   |             |                  |      |                                       |
               | num-tcs           | ULONG       | Physical         | RU   | The number of Traffic Classes         |
               |                   |             |                  |      | supported on the device.              |
               |                   |             |                  |      |                                       |
               | ptp               | BOOLEAN     | Physical         | R    | Precision time protocol.              |
               |                   |             |                  |      |                                       |
               | virtual-switching | STRING      | Physical,        | RU   | The virtual switch mode. Possible     |
               |                   |             | Aggregation      |      | values are local, remote, auto.       |
               |                   |             |                  |      |                                       |
               | pvlan-tag-mode    | STRING      | Physical,        | RU   | Private VLAN tag mode. Possible       |
               |                   |             | Aggregation      |      | values are primary and secondary.     |
               |                   |             |                  |      |                                       |
               | poll              | STRING      | Physical, VNIC,  | RU   | MAC polling. Possible values are      |
               |                   |             | Aggregation      |      | on, off, and auto.                    |
               |                   |             |                  |      |                                       |
               | tag-mode          | STRING      | Physical, EoIB,  | RU   | Controls the conditions in which      |
               |                   |             | Aggregation,     |      | 802.1Q VLAN tags will be inserted in  |
               |                   |             | VNIC             |      | packets being transmitted on the      |
               |                   |             |                  |      | link.                                 |
               |                   |             |                  |      |                                       |
               | lro               | STRING      | Physical, VNIC   | RU   | Specifies the user's disposition of   |
               |                   |             |                  |      | turning LRO on or off or using system |
               |                   |             |                  |      | default LRO value on a data link. The |
               |                   |             |                  |      | default value is off. Possible values |
               |                   |             |                  |      | are off, on, auto.                    |
               |                   |             |                  |      |                                       |
               | iov               | STRING      | Physical, VNIC,  | RU   | Enable/disable SR-IOV mode. Possible  |
               |                   |             |                  |      | values are on, off, and auto.         |
               |                   |             |                  |      |                                       |
               | ring-group        | STRING      | Physical, VNIC   | CR   | Indicates the ring-group mode value   |
               |                   |             |                  |      | for this link.                        |
               |                   |             |                  |      |                                       |
               | mac-address       | STRING      | Physical, EoIB,  | RU   | Primary MAC address for the data      |
               |                   |             | Aggregation,     |      | link.                                 |
               |                   |             | Partition, VETH  |      |                                       |
               |                   |             |                  |      |                                       |
               | speed             | STRING      | Physical, EoIB   | R    | The current speed of the link in bps. |
               |                   |             |                  |      |                                       |
               | duplex            | STRING      | Physical, EoIB   | R    | For Ethernet links, the full/half     |
               |                   |             |                  |      | duplex status of the link is          |
               |                   |             |                  |      | displayed if the link state is up.    |
               |                   |             |                  |      | The duplex is displayed as unknown    |
               |                   |             |                  |      | in all other cases.                   |
               |                   |             |                  |      |                                       |
               | vlan-announce     | STRING      | Physical, EoIB,  | RU   | Controls automatic VLAN ID            |
               |                   |             | Aggregation,     |      | announcement.                         |
               |                   |             | VETH             |      |                                       |
               |                   |             |                  |      |                                       |
               | gvrp-timeout      | ULONG       | Physical, EoIB,  | RU   | Specifies wait period between VID     |
               |                   |             | Aggregation,     |      | announcement broadcasts, in           |
               |                   |             | VETH             |      | milliseconds.                         |
               |                   |             |                  |      |                                       |
               | default-tag       | ULONG       | Physical, EoIB,  | RU   | The default VLAN ID that is assumed   |
               |                   |             | Aggregation,     |      | for untagged packets sent to and      |
               |                   |             | Etherstub, VETH  |      | received from this link               |
               |                   |             |                  |      |                                       |
               | learn-limit       | ULONG       | Physical, EoIB,  | RU   | Limits the number of new or changed   |
               |                   |             | Aggregation,     |      | MAC sources to be learned over a      |
               |                   |             | Etherstub, VETH  |      | bridge link.                          |
               |                   |             |                  |      |                                       |
               | learn-decay       | ULONG       | Physical, EoIB,  | RU   | Specifies the decay rate for source   |
               |                   |             | Aggregation,     |      | changes limited by learn-limit.       |
               |                   |             | Etherstub, VETH  |      |                                       |
               |                   |             |                  |      |                                       |
               | stp               | BOOLEAN     | Physical, EoIB,  | RU   | Enables or disables Spanning Tree     |
               |                   |             | Aggregation,     |      | Protocol on a bridge link.            |
               |                   |             | Etherstub, VETH  |      |                                       |
               |                   |             |                  |      |                                       |
               | stp-priority      | ULONG       | Physical, EoIB,  | RU   | The STP and RSTP Port Priority        |
               |                   |             | Aggregation,     |      | value. The default value is 128.      |
               |                   |             | Etherstub, VETH  |      | Valid values range from 0 to 255.     |
               |                   |             |                  |      |                                       |
               | stp-cost          | ULONG       | Physical, EoIB   | RU   | The STP and RSTP cost for using the   |
               |                   |             | Aggregation,     |      | link. Valid values range from 1 to    |
               |                   |             | Etherstub, VETH  |      | 65535.                                |
               |                   |             |                  |      |                                       |
               | stp-edge          | BOOLEAN     | Physical, EoIB   | RU   | Enables or disables bridge edge port  |
               |                   |             | Aggregation,     |      | detection.                            |
               |                   |             | Etherstub, VETH  |      |                                       |
               |                   |             |                  |      |                                       |
               | stp-p2p           | STRING      | Physical, EoIB   | RU   | Bridge point-to-point operation mode. |
               |                   |             | Aggregation,     |      | Possible values are true, false,      |
               |                   |             | Etherstub, VETH  |      | and auto.                             |
               |                   |             |                  |      |                                       |
               | stp-mcheck        | BOOLEAN     | Physical, EoIB   | RU   | Triggers the system to run the RSTP   |
               |                   |             | Aggregation,     |      | Force BPDU Migration Check procedure  |
               |                   |             | Etherstub, VETH  |      | on this link.                         |
               |                   |             |                  |      |                                       |
               | vsi-type-id       | ULONG       | VNIC             | RU   | A 3-byte value that is used to        |
               |                   |             |                  |      | determine the properties              |
               |                   |             |                  |      | associated with a VNIC.               |
               |                   |             |                  |      |                                       |
               | vsi-version       | ULONG       | VNIC             | RU   | A 1-byte value that is used to        |
               |                   |             |                  |      | determine the properties associated   |
               |                   |             |                  |      | with a VNIC.                          |
               |                   |             |                  |      |                                       |
               | evs               | STRING      | VNIC             | CR   | Name of the EVS to which the VNIC     |
               |                   |             |                  |      | is connected to.                      |
               |                   |             |                  |      |                                       |
               | vport             | STRING      | VNIC             | CR   | Name of the vport to which the VNIC   |
               |                   |             |                  |      | is connected to and inherits the      |
               |                   |             |                  |      | properties from.                      |
               |                   |             |                  |      |                                       |
               | tenant            | STRING      | VNIC             | CR   | Name of the tenant that owns the EVS. |
               |                   |             |                  |      |                                       |
               | mac-address-info  | DICTIONARY  | VNIC             | CRU  | The MAC address information of VNIC.  |
               |                   |             |                  |      |                                       |
               | vlan-info         | DICTIONARY  | VNIC             | CRU  | The VLAN information of VNIC.         |
               |                   |             |                  |      |                                       |
               | local-ip          | STRING      | VXLAN            | CR   | The address of the IP interface       |
               |                   |             |                  |      | associated with the VXLAN.            |
               |                   |             |                  |      |                                       |
               | multicast-group   | STRING      | VXLAN            | CR   | The multicast group associated with   |
               |                   |             |                  |      | the VXLAN link.                       |
               |                   |             |                  |      |                                       |
               | ip-version        | ULONG       | VXLAN            | CR   | Indicates whether an IPv4 or IPv6     |
               |                   |             |                  |      | address should be selected on an IP   |
               |                   |             |                  |      | interface.                            |
               |                   |             |                  |      |                                       |
               | vni               | ULONG       | VXLAN            | CR   | The VXLAN segment number that the     |
               |                   |             |                  |      | VXLAN link belongs to.                |
               |                   |             |                  |      |                                       |
               | ip-interface      | STRING      | VXLAN            | CR   | The IP interface used to create       |
               |                   |             |                  |      | VXLAN end point.                      |
               |                   |             |                  |      |                                       |
               | openvswitch       | BOOLEAN     | PHYS,VETH,AGGR,  |      | Indicates that the datalink is        |
               |                   |             | VXLAN,ETHERSTUB, | RU   | managed by the OVS.                   |
               |                   |             | VETH             |      |                                       |
               |                   |             |                  |      |                                       |
               | ofport            | ULONG       | PHYS,VETH,AGGR,  |      | The internal OpenFlow port number for |
               |                   |             | VXLAN,ETHERSTUB, | RU   | the datalink that is part of OVS      |
               |                   |             | VETH,VNIC        |      |                                       |
               |-------------------+-------------+------------------+------+---------------------------------------|


               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Datalink_getProperties(rc_instance_t *inst,
                                                 const char **properties,
                                                 int properties_count,
                                                 const char **fields,
                                                 int fields_count,
                                                 dlmgr_DLDict_t ***result,
                                                 int *result_cnt,
                                                 dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Following fields could be retrieved through getProperties.
               |------------+------------+----------------------------------------|
               | Field      | Displayed  | Notes                                  |
               |            | by default |                                        |
               |------------+------------+----------------------------------------|
               | name       | Yes        | The name of property.                  |
               |            |            |                                        |
               | current    | Yes        | The current value of property.         |
               |            |            |                                        |
               | default    | Yes        | The default value of property.         |
               |            |            |                                        |
               | permission | yes        | The permission value of property.      |
               |            |            |                                        |
               | effective  | Yes        | The effective value of property.       |
               |            |            |                                        |
               | possible   | Yes        | The possible values of property.       |
               |------------+------------+----------------------------------------|


               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Datalink_getInfo(rc_instance_t *inst,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr__rad_dict_string_DLValue_t **result,
                                           dlmgr_DatalinkError_t **error);

               Get detailed information about the datalink.

               Following fields can be retrieved for the datalink.
               |----------+-------------+------------+----------------------------------------|
               | Property | DLValueType | Displayed  | Notes                                  |
               |          |             | by default |                                        |
               |----------+-------------+------------+----------------------------------------|
               | name     | STRING      | Yes        | The name of the datalink.              |
               |          |             |            |                                        |
               | class    | STRING      | Yes        | The class of the datalink.             |
               |          |             |            |                                        |
               | state    | STRING      | Yes        | The link state of the datalink.        |
               |          |             |            |                                        |
               | mtu      | ULONG       | yes        | The maximum transmission unit          |
               |          |             |            | size for the datalink being displayed. |
               |          |             |            |                                        |
               | zone     | STRING      | Yes        | The current zone of the datalink.      |
               |          |             |            |                                        |
               | over     | STRINGS     | Yes        | The physical link over which the       |
               |          |             |            | datalink is operating. This applies to |
               |          |             |            | Aggregation, Bridge, EoIB, Partition,  |
               |          |             |            | and VNIC.                              |
               |----------+-------------+------------+----------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Datalink_getStat(rc_instance_t *inst,
                                           dlmgr_StatType_t stattype,
                                           dlmgr_StatValue_t **result,
                                           dlmgr_DatalinkError_t **error);

               Get the datalink statistics.

               Arguments:

               inst -- RAD instance

               stattype -- The type of the statistic to get.

               result

               error

           rc_err_t dlmgr_Datalink_getStatistics(rc_instance_t *inst,
                                                 const char **stats,
                                                 int stats_count,
                                                 dlmgr__rad_dict_string_DLValue_t **result,
                                                 dlmgr_DatalinkError_t **error);

               Get the Datalink statistics.

               Following stats can be retrieved for the Datalink.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Datalink_addFlow(rc_instance_t *inst,
                                           const char *name,
                                           dlmgr_DLDict_t **filters,
                                           int filters_count,
                                           dlmgr_DLDict_t **masks,
                                           int masks_count,
                                           const dlmgr__rad_dict_string_DLValue_t *properties,
                                           rc_instance_t **result,
                                           dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the datalink.

               Following filters are supported during creation.
               |-------------+-------------+-----------------------------------------------|
               | Filter[*]   | DLValueType | Notes                                         |
               |-------------+-------------+-----------------------------------------------|
               | local-ip    | STRING      | Identifies a flow by a IPv4 or IPv6 local IP  |
               |             |             | address.                                      |
               |             |             |                                               |
               | remote-ip   | STRING      | Identifies a flow by a IPv4 or IPv6 remote IP |
               |             |             | address.                                      |
               |             |             |                                               |
               | local-port  | ULONG       | Identifies a service specified by the local   |
               |             |             | port.                                         |
               |             |             |                                               |
               | remote-port | ULONG       | Identifies a service specified by the remote  |
               |             |             | port.                                         |
               |             |             |                                               |
               | transport   | ULONG       | Identifies the layer 4 protocol to be used,   |
               |             |             | possible values are tcp, udp, sctp, icmp,     |
               |             |             | icmpv6.                                       |
               |             |             |                                               |
               | direction   | STRING      | Identifies by the direction, possible values  |
               |             |             | are: in, out, bi.                             |
               |             |             |                                               |
               | dsfield     | ULONG       | Identifies the 8-bit differentiated services  |
               |             |             | field.                                        |
               |-------------+-------------+-----------------------------------------------|
               [*] atleast one of the filters need to be specified.

               Following properties are supported for the flow.
               |------------+-------------+-----------------------------------------|
               | Property   | DLValueType | Notes                                   |
               |------------+-------------+-----------------------------------------|
               | max-bw     | ULONG       | Specifies the full duplex bandwidth in  |
               | (Optional) |             | in bps the flow.                        |
               |            |             |                                         |
               | priority   | STRING      | Sets the priority of the flow.          |
               | (Optional) |             | Default value is medium. Supported      |
               |            |             | values are low, medium, and high.       |
               |            |             |                                         |
               | dscp       | ULONG       | Sets the specified DSCP value on all    |
               | (Optional) |             | outgoing IP packets for the flow.       |
               |            |             | The possible values range from 0 to 63. |
               |            |             |                                         |
               | rank       | ULONG       | Sets the user-defined rank of flow      |
               | (Optional) |             |                                         |
               |            |             |                                         |
               | temporary  | BOOLEAN     | Specifies whether operation is          |
               | (Optional) |             | persistent across boot or not.          |
               |            |             | Supported values are true or false.     |
               |------------+-------------+-----------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_Datalink_removeFlow(rc_instance_t *inst,
                                              const char *name,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              dlmgr_DatalinkError_t **error);

               Remove a flow with the specified name on the datalink.

               Following properties are supported during deletion.
               |------------+-------------+--------------------------------------|
               | Property   | DLValueType | Notes                                |
               |------------+-------------+--------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether datalink should be |
               | (Optional) |             | temporarily deleted or not.          |
               |------------+-------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_Datalink_getFlowInfo(rc_instance_t *inst,
                                               const char **name,
                                               int name_count,
                                               const char **fields,
                                               int fields_count,
                                               dlmgr_DLDict_t ***result,
                                               int *result_cnt,
                                               dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the datalink.

               Following fields can be retrieved for the flow.
               |------------+-------------+------------+---------------------------------------|
               | Field      | DLValueType | Displayed  | Notes                                 |
               |            |             | by default |                                       |
               |------------+-------------+------------+---------------------------------------|
               | name       | STRING      | Yes        | The name of the flow.                 |
               | filters    | DICTIONARYS | Yes        | See Filter table below for details.   |
               | masks      | DICTIONARYS | Yes        | See Mask table below for details.     |
               | properties | DICTIONARY  | Yes        | See Property table below for details. |
               |------------+-------------+------------+---------------------------------------|

               Each Filter dictionary will have following fields:
               |-------------+-------------+--------------------------------------------------|
               | Property    | DLValueType | Notes                                            |
               |-------------+-------------+--------------------------------------------------|
               | local-ip    | STRING      | Identifies a flow by a IPv4 or IPv6 local IP     |
               |             |             | address.                                         |
               |             |             |                                                  |
               | remote-ip   | STRING      | Identifies a flow by a IPv4 or IPv6 remote IP    |
               |             |             | address.                                         |
               |             |             |                                                  |
               | local-port  | ULONG       | Identifies a service specified by the local      |
               |             |             | port.                                            |
               |             |             |                                                  |
               | remote-port | ULONG       | Identifies a service specified by the remote     |
               |             |             | port.                                            |
               |             |             |                                                  |
               | transport   | ULONG       | Identifies the layer 4 protocol to be used,      |
               |             |             | possible values are tcp, udp, sctp, icm, icmpv6. |
               |             |             |                                                  |
               | direction   | STRING      | Identifies by the direction, possible values     |
               |             |             | are: in, out, bi.                                |
               |             |             |                                                  |
               | dsfield     | ULONG       | Identifies the 8-bit differentiated services     |
               |             |             | field.                                           |
               |-------------+-------------+--------------------------------------------------|

               Each Mask dictionary will have following fields:
               |----------+-------------+---------------------------------------------|
               | Property | DLValueType | Notes                                       |
               |----------+-------------+---------------------------------------------|
               | dsfield  | ULONG       | Specifies the 8-bit mask for differentiated |
               |          |             | services field                              |
               |----------+-------------+---------------------------------------------|

               Each Property dictionary will have following fields:
               |------------+-------------+-----------------------------------------|
               | Property   | DLValueType | Notes                                   |
               |------------+-------------+-----------------------------------------|
               | max-bw     | ULONG       | Specifies the full duplex bandwidth for |
               |            |             | the flow.                               |
               |            |             |                                         |
               | priority   | STRING      | Sets the priority of the flow.          |
               |            |             | Default value is medium. Supported      |
               |            |             | values are low, medium, and high.       |
               |            |             |                                         |
               | dscp       | ULONG       | Sets the specified DSCP value on all    |
               |            |             | outgoing IP packets for the flow.       |
               |            |             | The possible values range from 0 to 63. |
               |            |             |                                         |
               | rank       | ULONG       | Sets the user-defined rank of flow      |
               |            |             |                                         |
               | hw-flow    | STRING      | Shows whether the flow is offloaded to  |
               |            |             | the underlying NIC. Can be set too.     |
               |            |             | Default value is auto. Supported        |
               |            |             | values are auto, on, and off.           |
               |            |             |                                         |
               | ofaction   | STRING      | Indicates the list of OpenFlow actions  |
               |            |             | applicable for a flow                   |
               |            |             |                                         |
               | temporary  | BOOLEAN     | Specifies whether operation is          |
               |            |             | persistent across boot or not.          |
               |            |             | Supported values are true or false.     |
               |------------+-------------+-----------------------------------------|


               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Datalink Retrieve
           rc_err_t dlmgr_Datalink__rad_get_name(adr_name_t **result,
                                                 int n,
                                                 ...);

               Obtain RAD name of a Datalink object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Datalink__rad_lookup(rc_conn_t *c,
                                               boolean_t strict,
                                               rc_instance_t **result,
                                               int n,
                                               ...);

               Lookup a Datalink instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Datalink__rad_list(rc_conn_t *c,
                                             boolean_t strict,
                                             adr_pattern_scheme_t scheme,
                                             adr_name_t ***result,
                                             int *result_count,
                                             int n,
                                             ...);

               List RAD names of a available Datalink instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface VNIC
       APIs that provide functionality to administer VNICs.

       VNIC Methods
           rc_err_t dlmgr_VNIC_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               link. Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given VNIC. To reset a property to its default value just
               specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_VNIC_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_VNIC_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

               Get the information about the VNIC.

               Following fields can be retrieved for the VNIC.
               |------------------+-------------+------------+-------------------------------------|
               | Property         | DLValueType | Displayed  | Notes                               |
               |                  |             | by default |                                     |
               |------------------+-------------+------------+-------------------------------------|
               | name             | STRING      | Yes        | The name of the VNIC.               |
               |                  |             |            |                                     |
               | zone             | STRING      | Yes        | The zone of VNIC.                   |
               |                  |             |            |                                     |
               | mac-address-info | DICTIONARY  | Yes        | See [1] of createVNIC method in     |
               |                  |             |            | DatalinkManager.                    |
               |                  |             |            |                                     |
               | vlan-info        | DICTIONARY  | Yes        | See [2] of createVNIC method in     |
               |                  |             |            | DatalinkManager.                    |
               |                  |             |            |                                     |
               | speed            | ULONG       | Yes        | The maximum speed of the VNIC.      |
               |                  |             |            |                                     |
               | lower-link       | STRING      | Yes        | The name of the physical link       |
               |                  |             |            | over which this VNIC is configured. |
               |                  |             |            |                                     |
               | vf-vnic          | BOOLEAN     | No         | Identifies a VF VNIC.               |
               |                  |             |            |                                     |
               | evs-vnic         | BOOLEAN     | No         | Identifies a EVS VNIC.              |
               |                  |             |            |                                     |
               | ipoib-vnic       | BOOLEAN     | No         | Identifies a IP over IB VNIC.       |
               |                  |             |            |                                     |
               | tenant           | STRING      | No         | Name of the tenant that owns the    |
               |                  |             |            | EVS.                                |
               |                  |             |            |                                     |
               | evs              | STRING      | No         | Name of the EVS to which the VNIC   |
               |                  |             |            | is connected to.                    |
               |                  |             |            |                                     |
               | vport            | STRING      | No         | Name of the vport to which the      |
               |                  |             |            | VNIC is connected to and inherits   |
               |                  |             |            | the properties from.                |
               |                  |             |            |                                     |
               | pkey             | ULONG       | No         | Pkey associated with the Partition. |
               |                  |             |            |                                     |
               | vf               | STRING      | No         | The name of the VF device instance  |
               |                  |             |            | currently assigned to the VNIC.     |
               |                  |             |            |                                     |
               | temporary        | BOOLEAN     | Yes        | Indicates whether VNIC is           |
               |                  |             |            | persistent across boot or not.      |
               |------------------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_VNIC_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

               Get the VNIC statistics.

               Following stats can be retrieved for the VNIC.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_VNIC_addFlow(rc_instance_t *inst,
                                       const char *name,
                                       dlmgr_DLDict_t **filters,
                                       int filters_count,
                                       dlmgr_DLDict_t **masks,
                                       int masks_count,
                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                       rc_instance_t **result,
                                       dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the VNIC. Please see Datalink's addFlow() method's
               documentation for more information on supported flow filters
               and properties.

               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_VNIC_removeFlow(rc_instance_t *inst,
                                          const char *name,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          dlmgr_DatalinkError_t **error);

               Remove a flow on a VNIC. Please see Datalink's removeFlow()
               method's documentation for more information on supported
               properties.

               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_VNIC_getFlowInfo(rc_instance_t *inst,
                                           const char **name,
                                           int name_count,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr_DLDict_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the VNIC. Please see Datalink's getFlowInfo()
               method's documentation for more information on displayed flow
               filters and properties.

               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       VNIC Retrieve
           rc_err_t dlmgr_VNIC__rad_get_name(adr_name_t **result,
                                             int n,
                                             ...);

               Obtain RAD name of a VNIC object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VNIC__rad_lookup(rc_conn_t *c,
                                           boolean_t strict,
                                           rc_instance_t **result,
                                           int n,
                                           ...);

               Lookup a VNIC instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VNIC__rad_list(rc_conn_t *c,
                                         boolean_t strict,
                                         adr_pattern_scheme_t scheme,
                                         adr_name_t ***result,
                                         int *result_count,
                                         int n,
                                         ...);

               List RAD names of a available VNIC instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Aggregation
       APIs that provide functionality to administer aggregations.

       Aggregation Methods
           rc_err_t dlmgr_Aggregation_addPort(rc_instance_t *inst,
                                              const char *portname,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              rc_instance_t **result,
                                              dlmgr_DatalinkError_t **error);

               Adds ports to an aggregation.

               Following properties are supported during creation.
               |------------+-------------+-------------------------------------|
               | Property   | DLValueType | Notes                               |
               |------------+-------------+-------------------------------------|
               | force      | BOOLEAN     | Force the operation.                |
               | (Optional) |             |                                     |
               |            |             |                                     |
               | temporary  | BOOLEAN     | Specifies whether operation is      |
               | (Optional) |             | persistent across boot or not.      |
               |            |             | Supported values are true or false. |
               |------------+-------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               portname

               properties

               result

               error

           rc_err_t dlmgr_Aggregation_removePort(rc_instance_t *inst,
                                                 const char *portname,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

               Removes ports from an aggregation.

               Following properties are supported during removal.
               |------------+-------------+-------------------------------------|
               | Property   | DLValueType | Notes                               |
               |------------+-------------+-------------------------------------|
               | temporary  | BOOLEAN     | Specifies whether operation is      |
               | (Optional) |             | persistent across boot or not.      |
               |            |             | Supported values are true or false. |
               |------------+-------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               portname

               properties (nullable)

               error

           rc_err_t dlmgr_Aggregation_getInfo(rc_instance_t *inst,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr__rad_dict_string_DLValue_t **result,
                                              dlmgr_DatalinkError_t **error);

               Get the information about the Aggregation.

               Following fields can be retrieved for the Aggregation.
               |-----------------+-------------+------------+----------------------------------------|
               | Property        | DLValueType | Displayed  | Notes                                  |
               |                 |             | by default |                                        |
               |-----------------+-------------+------------+----------------------------------------|
               | name            | STRING      | Yes        | The name of the Aggregation.           |
               |                 |             |            |                                        |
               | zone            | STRING      | Yes        | The zone of the Aggregation.           |
               |                 |             |            |                                        |
               | ports           | STRINGS     | Yes        | The name of the underlying ports.      |
               |                 |             |            |                                        |
               | mode            | STRING      | Yes        | The mode of Aggregation. The possible  |
               |                 |             |            | values are Trunk or DLMP.              |
               |                 |             |            |                                        |
               | policy          | STRING      | No         | The LACP policy of the aggregation.    |
               |                 |             |            | (Trunk mode only)                      |
               |                 |             |            |                                        |
               | lacp-mode       | STRING      | No         | The LACP mode to be used: Possible     |
               |                 |             |            | values are: off, active, or passive.   |
               |                 |             |            | (Trunk mode only)                      |
               |                 |             |            |                                        |
               | lacp-timer      | STRING      | No         | The LACP timer value. Possible values  |
               |                 |             |            | are short or long.                     |
               |                 |             |            | (Trunk mode only)                      |
               |                 |             |            |                                        |
               | unicast-address | STRING      | No         | Specifies a fixed unicast hardware     |
               |                 |             |            | address to be used for the aggregation |
               |                 |             |            | (Trunk mode only)                      |
               |                 |             |            |                                        |
               | probe-vlan-id   | ULONG       | No         | Specifies the VLAN id over which the   |
               |                 |             |            | ICMP and xprobes are send.             |
               |                 |             |            | (DLMP mode only)                       |
               |                 |             |            |                                        |
               | probe-ip        | DICTIONARYS | No         | Array of source IP addresses and       |
               |                 |             |            | target IP addresses for ICMP Probing.  |
               |                 |             |            | (DLMP mode only)                       |
               |                 |             |            |                                        |
               | probe-fdt       | ULONG       | No         | Specifies the failure detection time   |
               |                 |             |            | in seconds. Default value is 10s.      |
               |                 |             |            | (DLMP mode only)                       |
               |                 |             |            |                                        |
               | temporary       | BOOLEAN     | Yes        | Indicates whether Aggregation is       |
               |                 |             |            | persistent across boot or not.         |
               |-----------------+-------------+------------+----------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Aggregation_getPortsInfo(rc_instance_t *inst,
                                                   const char **ports,
                                                   int ports_count,
                                                   const char **fields,
                                                   int fields_count,
                                                   dlmgr_DLDict_t ***result,
                                                   int *result_cnt,
                                                   dlmgr_DatalinkError_t **error);

               Get aggregation port specific information.

               Following fields can be retrieved for the Aggregation.
               |------------+-------------+------------+-----------------------------------|
               | Property   | DLValueType | Displayed  | Notes                             |
               |            |             | by default |                                   |
               |------------+-------------+------------+-----------------------------------|
               | name       | STRING      | Yes        | The name of the Aggregation Port. |
               |            |             |            |                                   |
               | speed      | ULONG       | Yes        | The speed of the port.            |
               |            |             |            |                                   |
               | duplex     | STRING      | Yes        | The duplex of the port.           |
               |            |             |            |                                   |
               | state      | STRING      | Yes        | Physical link state of the port.  |
               |            |             |            |                                   |
               | unicast-   |             |            |                                   |
               | address    | STRING      | Yes        | MAC address of the port.          |
               |            |             |            |                                   |
               | port-state | STRING      | Yes        | Indicates whether the port is in  |
               |            |             |            | standby or attached state.        |
               |            |             |            |                                   |
               | temporary  | BOOLEAN     | Yes        | Indicates whether Aggregation is  |
               |            |             |            | persistent across boot or not.    |
               |------------+-------------+------------+-----------------------------------|


               Arguments:

               inst -- RAD instance

               ports (nullable)

               ports_count -- Number of items in ports array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Aggregation_getStatistics(rc_instance_t *inst,
                                                    const char **stats,
                                                    int stats_count,
                                                    dlmgr__rad_dict_string_DLValue_t **result,
                                                    dlmgr_DatalinkError_t **error);

               Get the aggregation statistics.

               Following stats can be retrieved for the Aggregation.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Aggregation_getPortsStatistics(rc_instance_t *inst,
                                                         const char **ports,
                                                         int ports_count,
                                                         const char **stats,
                                                         int stats_count,
                                                         dlmgr_DLDict_t ***result,
                                                         int *result_cnt,
                                                         dlmgr_DatalinkError_t **error);

               Get the aggregation ports statistics.

               Following stats can be retrieved for the Aggregation Port.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | name     | STRING      | Yes        | Always displayed                    |
               |          |             |            |                                     |
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               ports (nullable)

               ports_count -- Number of items in ports array

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Aggregation_setProperties(rc_instance_t *inst,
                                                    const dlmgr__rad_dict_string_DLValue_t *properties,
                                                    dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               link. Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for an
               Aggregation. To reset a property to its default value just
               specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Aggregation_getProperties(rc_instance_t *inst,
                                                    const char **properties,
                                                    int properties_count,
                                                    const char **fields,
                                                    int fields_count,
                                                    dlmgr_DLDict_t ***result,
                                                    int *result_cnt,
                                                    dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Aggregation_addFlow(rc_instance_t *inst,
                                              const char *name,
                                              dlmgr_DLDict_t **filters,
                                              int filters_count,
                                              dlmgr_DLDict_t **masks,
                                              int masks_count,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              rc_instance_t **result,
                                              dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the Aggregation. Please see Datalink's addFlow() method's
               documentation for more information on supported flow filters
               and properties.

               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_Aggregation_removeFlow(rc_instance_t *inst,
                                                 const char *name,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

               Remove a flow on the Aggregation. Please see Datalink's
               removeFlow() method's documentation for more information on
               supported properties.

               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_Aggregation_getFlowInfo(rc_instance_t *inst,
                                                  const char **name,
                                                  int name_count,
                                                  const char **fields,
                                                  int fields_count,
                                                  dlmgr_DLDict_t ***result,
                                                  int *result_cnt,
                                                  dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the Aggregation. Please see Datalink's getFlowInfo()
               method's documentation for more information on displayed flow
               filters and properties.

               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Aggregation Retrieve
           rc_err_t dlmgr_Aggregation__rad_get_name(adr_name_t **result,
                                                    int n,
                                                    ...);

               Obtain RAD name of a Aggregation object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Aggregation__rad_lookup(rc_conn_t *c,
                                                  boolean_t strict,
                                                  rc_instance_t **result,
                                                  int n,
                                                  ...);

               Lookup a Aggregation instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Aggregation__rad_list(rc_conn_t *c,
                                                boolean_t strict,
                                                adr_pattern_scheme_t scheme,
                                                adr_name_t ***result,
                                                int *result_count,
                                                int n,
                                                ...);

               List RAD names of a available Aggregation instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface VXLAN
       APIs that provide functionality to administer VXLANs.

       VXLAN Methods
           rc_err_t dlmgr_VXLAN_getInfo(rc_instance_t *inst,
                                        const char **fields,
                                        int fields_count,
                                        dlmgr__rad_dict_string_DLValue_t **result,
                                        dlmgr_DatalinkError_t **error);

               Get the information about the VXLANs.

               Following fields can be retrieved for the VXLANs.
               |-----------------+-------------+------------+-----------------------------------|
               | Property        | DLValueType | Displayed  | Notes                             |
               |                 |             | by default |                                   |
               |                 |             |            |                                   |
               |-----------------+-------------+------------+-----------------------------------|
               | name            | STRING      | Yes        | The name of VXLAN datalink.       |
               |                 |             |            |                                   |
               | zone            | STRING      | Yes        | The zone of VXLAN.                |
               |                 |             |            |                                   |
               | vni             | ULONG       | Yes        | The VXLAN segment number that     |
               |                 |             |            | the VXLAN belongs to.             |
               |                 |             |            |                                   |
               | local-ip        | STRING      | Yes        | Specifies the IP address, IPv4    |
               |                 |             |            | or IPv6, that hosts a VXLAN link. |
               |                 |             |            |                                   |
               | multicast-group | STRING      | Yes        | The multicast group associated    |
               |                 |             |            | with the VXLAN.                   |
               |                 |             |            |                                   |
               | temporary       | BOOLEAN     | Yes        | The VXLAN is non-persistent.      |
               |-----------------+-------------+------------+-----------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_VXLAN_getStatistics(rc_instance_t *inst,
                                              const char **stats,
                                              int stats_count,
                                              dlmgr__rad_dict_string_DLValue_t **result,
                                              dlmgr_DatalinkError_t **error);

               Get the VXLAN statistics.

               Following stats can be retrieved for the VXLAN.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_VXLAN_setProperties(rc_instance_t *inst,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               VXLAN. Please see the supported VXLAN properties table in dlmgr
               module documentation for the list of properties that can be set
               for a VXLAN. To reset a property to its default value just
               specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_VXLAN_getProperties(rc_instance_t *inst,
                                              const char **properties,
                                              int properties_count,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr_DLDict_t ***result,
                                              int *result_cnt,
                                              dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       VXLAN Retrieve
           rc_err_t dlmgr_VXLAN__rad_get_name(adr_name_t **result,
                                              int n,
                                              ...);

               Obtain RAD name of a VXLAN object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VXLAN__rad_lookup(rc_conn_t *c,
                                            boolean_t strict,
                                            rc_instance_t **result,
                                            int n,
                                            ...);

               Lookup a VXLAN instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VXLAN__rad_list(rc_conn_t *c,
                                          boolean_t strict,
                                          adr_pattern_scheme_t scheme,
                                          adr_name_t ***result,
                                          int *result_count,
                                          int n,
                                          ...);

               List RAD names of a available VXLAN instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Flow
       Flow Methods
           rc_err_t dlmgr_Flow_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

               Get flow specific information.

               Following fields can be retrieved for the flow.
               |------------+-------------+------------+----------------------------|
               | Field      | DLValueType | Displayed  | Notes                      |
               |            |             | by default |                            |
               |------------+-------------+------------+----------------------------|
               | name       | STRING      | Yes        | See Datalink.getFlowInfo() |
               | filters    | DICTIONARYS | Yes        | See Datalink.getFlowInfo() |
               | masks      | DICTIONARYS | Yes        | See Datalink.getFlowInfo() |
               | properties | DICTIONARY  | Yes        | See Datalink.getFlowInfo() |
               |------------+-------------+------------+----------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Flow_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

               Get the flow statistics.

               Following stats can be retrieved for the flow.
               |----------+-------------+------------+----------------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                                        |
               |          |             | by default |                                              |
               |----------+-------------+------------+----------------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.               |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound packets.  |
               | idrops   | ULONG       | Yes        | The number of inbound packets dropped.       |
               | opackets | ULONG       | Yes        | The number of outbound packets.              |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound packets. |
               | odrops   | ULONG       | Yes        | The number of outbound packets dropped.      |
               |----------+-------------+------------+----------------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Flow_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               flow. Please see the supported flow properties table in dlmgr
               module documentation for the list of properties that can be set
               for a flow. To reset a property to its default value just
               specify the property name without any value as the input.

               C - Create (addFlow() method)
               R - Read (getProperties() method)
               U - Update (setProperties() method)
               D - Delete (removeFlow() method)

               Flow Properties Table:
               |------------+---------+-----------+------+------------------------------------------|
               | Property   | DLValue | RAD       | CRUD | Notes                                    |
               |            | Type    | Interface |      |                                          |
               |------------+---------+-----------+------+------------------------------------------|
               | max-bw     | ULONG   | Flow      | CRU  | The full duplex bandwidth for the flow.  |
               |            |         |           |      |                                          |
               | priority   | STRING  | Flow      | CRU  | The priority of the flow.                |
               |            |         |           |      |                                          |
               | dscp       | ULONG   | Flow      | CRU  | The specified DSCP value on all outgoing |
               |            |         |           |      | IP packets for the flow.                 |
               |            |         |           |      |                                          |
               | rank       | ULONG   | Flow      | CRU  | The user-defined rank of flow.           |
               |            |         |           |      |                                          |
               | hw-flow    | STRING  | Flow      | CRU  | Shows whether the flow is offloaded to   |
               |            |         |           |      | the underlying NIC. Can be set too.      |
               |            |         |           | CRU  |                                          |
               | ofaction   | STRING  |           |      | Indicates the list of OpenFlow actions   |
               |            |         |           | CRU  | applicable for a flow.                   |
               |------------+---------+-----------+------+------------------------------------------|


               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Flow_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

               Get information on permission, current, default, and possible
               values for the list of flow properties specified. Please see
               the supported properties table in dlmgr module documentation
               for the list of properties that can be set for a given class of
               datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Flow Retrieve
           rc_err_t dlmgr_Flow__rad_get_name(adr_name_t **result,
                                             int n,
                                             ...);

               Obtain RAD name of a Flow object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Flow__rad_lookup(rc_conn_t *c,
                                           boolean_t strict,
                                           rc_instance_t **result,
                                           int n,
                                           ...);

               Lookup a Flow instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Flow__rad_list(rc_conn_t *c,
                                         boolean_t strict,
                                         adr_pattern_scheme_t scheme,
                                         adr_name_t ***result,
                                         int *result_count,
                                         int n,
                                         ...);

               List RAD names of a available Flow instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Physical
       Physical Methods
           rc_err_t dlmgr_Physical_getInfo(rc_instance_t *inst,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr__rad_dict_string_DLValue_t **result,
                                           dlmgr_DatalinkError_t **error);

               Get the information about the physical datalink.

               Following fields can be retrieved for the Physical datalink.
               |---------------+-------------+------------+---------------------------------------|
               | Property      | DLValueType | Displayed  | Notes                                 |
               |               |             | by default |                                       |
               |---------------+-------------+------------+---------------------------------------|
               | name          | STRING      | Yes        | The name of the physical link.        |
               |               |             |            |                                       |
               | media         | STRING      | Yes        | The media type provided by the        |
               |               |             |            | physical datalink.                    |
               |               |             |            |                                       |
               | state         | STRING      | Yes        | The physical link state of the        |
               |               |             |            | datalink. Possible values are up,     |
               |               |             |            | down, and unknown.                    |
               |               |             |            |                                       |
               | speed         | ULONG       | Yes        | The current speed of the link.        |
               |               |             |            |                                       |
               | duplex        | STRING      | Yes        | For Ethernet links, the full/half     |
               |               |             |            | duplex status of the link is          |
               |               |             |            | displayed if the link state is up.    |
               |               |             |            |                                       |
               | device        | STRING      | Yes        | The name of the physical device       |
               |               |             |            | under this link.                      |
               |               |             |            |                                       |
               | mac-addresses | DICTIONARYS | No         | Display factory MAC addresses, their  |
               |               |             |            | slot identifiers, and their           |
               |               |             |            | availability.                         |
               |               |             |            |                                       |
               | location      | STRING      | No         | Physical location description string. |
               |---------------+-------------+------------+---------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Physical_getStatistics(rc_instance_t *inst,
                                                 const char **stats,
                                                 int stats_count,
                                                 dlmgr__rad_dict_string_DLValue_t **result,
                                                 dlmgr_DatalinkError_t **error);

               Get the physical datalink statistics.

               Following stats can be retrieved for the Physical Datalink.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Physical_setProperties(rc_instance_t *inst,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               Physical datalink. Please see the supported Physical datalink
               properties table in dlmgr module documentation for the list of
               properties that can be set for a physical datalink. To reset a
               property to its default value just specify the property name
               without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Physical_getProperties(rc_instance_t *inst,
                                                 const char **properties,
                                                 int properties_count,
                                                 const char **fields,
                                                 int fields_count,
                                                 dlmgr_DLDict_t ***result,
                                                 int *result_cnt,
                                                 dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Physical Retrieve
           rc_err_t dlmgr_Physical__rad_get_name(adr_name_t **result,
                                                 int n,
                                                 ...);

               Obtain RAD name of a Physical object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Physical__rad_lookup(rc_conn_t *c,
                                               boolean_t strict,
                                               rc_instance_t **result,
                                               int n,
                                               ...);

               Lookup a Physical instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Physical__rad_list(rc_conn_t *c,
                                             boolean_t strict,
                                             adr_pattern_scheme_t scheme,
                                             adr_name_t ***result,
                                             int *result_count,
                                             int n,
                                             ...);

               List RAD names of a available Physical instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Etherstub
       Etherstub Methods
           rc_err_t dlmgr_Etherstub_getInfo(rc_instance_t *inst,
                                            const char **fields,
                                            int fields_count,
                                            dlmgr__rad_dict_string_DLValue_t **result,
                                            dlmgr_DatalinkError_t **error);

               Get the information about the Etherstub.

               Following fields can be retrieved for the Etherstub.
               |-----------+-------------+------------+----------------------------------|
               | Property  | DLValueType | Displayed  | Notes                            |
               |           |             | by default |                                  |
               |-----------+-------------+------------+----------------------------------|
               | name      | STRING      | Yes        | The name of Etherstub datalink.  |
               | zone      | STRING      | Yes        | The zone of Etherstub.           |
               | temporary | BOOLEAN     | Yes        | The Etherstub is non-persistent. |
               |-----------+-------------+------------+----------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Etherstub_getStatistics(rc_instance_t *inst,
                                                  const char **stats,
                                                  int stats_count,
                                                  dlmgr__rad_dict_string_DLValue_t **result,
                                                  dlmgr_DatalinkError_t **error);

               Get the etherstub statistics.

               Following stats can be retrieved for the Etherstub.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Etherstub_setProperties(rc_instance_t *inst,
                                                  const dlmgr__rad_dict_string_DLValue_t *properties,
                                                  dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               Etherstub. Please see the supported Etherstub properties table
               in dlmgr module documentation for the list of properties that
               can be set for the Etherstub. To reset a property to its
               default value just specify the property name without any value
               as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Etherstub_getProperties(rc_instance_t *inst,
                                                  const char **properties,
                                                  int properties_count,
                                                  const char **fields,
                                                  int fields_count,
                                                  dlmgr_DLDict_t ***result,
                                                  int *result_cnt,
                                                  dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Etherstub Retrieve
           rc_err_t dlmgr_Etherstub__rad_get_name(adr_name_t **result,
                                                  int n,
                                                  ...);

               Obtain RAD name of a Etherstub object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Etherstub__rad_lookup(rc_conn_t *c,
                                                boolean_t strict,
                                                rc_instance_t **result,
                                                int n,
                                                ...);

               Lookup a Etherstub instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Etherstub__rad_list(rc_conn_t *c,
                                              boolean_t strict,
                                              adr_pattern_scheme_t scheme,
                                              adr_name_t ***result,
                                              int *result_count,
                                              int n,
                                              ...);

               List RAD names of a available Etherstub instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface VETH
       VETH Methods
           rc_err_t dlmgr_VETH_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

               Get the information about the VETH.

               Following fields can be retrieved for the VETH.
               |-------------+-------------+------------+-------------------------------|
               | Property    | DLValueType | Displayed  | Notes                         |
               |             |             | by default |                               |
               |-------------+-------------+------------+-------------------------------|
               | name        | STRING      | Yes        | The name of VETH datalink.    |
               | zone        | STRING      | Yes        | The zone of VETH endpoint     |
               | temporary   | BOOLEAN     | Yes        | Indicates whether VETH is     |
               |             |             |            | persistent across boot or not |
               | mtu         | ULONG       | Yes        | The MTU of the VETH.          |
               | mac-address | STRING      | Yes        | The mac-address of the VETH   |
               | peer        | STRING      | Yes        | The name of the peer VETH     |
               |             |             |            | endpoint                      |
               |-------------+-------------+------------+-------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_VETH_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

               Get the VETH's statistics.

               Following stats can be retrieved for the VETH.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_VETH_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               VETH. Please see the supported VETH properties table in dlmgr
               module documentation for the list of properties that can be set
               for the VETH. To reset a property to its default value just
               specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_VETH_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       VETH Retrieve
           rc_err_t dlmgr_VETH__rad_get_name(adr_name_t **result,
                                             int n,
                                             ...);

               Obtain RAD name of a VETH object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VETH__rad_lookup(rc_conn_t *c,
                                           boolean_t strict,
                                           rc_instance_t **result,
                                           int n,
                                           ...);

               Lookup a VETH instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_VETH__rad_list(rc_conn_t *c,
                                         boolean_t strict,
                                         adr_pattern_scheme_t scheme,
                                         adr_name_t ***result,
                                         int *result_count,
                                         int n,
                                         ...);

               List RAD names of a available VETH instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Bridge
       Administrative API to administer Bridges.

       Bridge Methods
           rc_err_t dlmgr_Bridge_addPort(rc_instance_t *inst,
                                         const char *portname,
                                         const dlmgr__rad_dict_string_DLValue_t *properties,
                                         rc_instance_t **result,
                                         dlmgr_DatalinkError_t **error);

               Adds the specified port to the Bridge.

               Properties dictionary argument is for future use.


               Arguments:

               inst -- RAD instance

               portname

               properties

               result

               error

           rc_err_t dlmgr_Bridge_removePort(rc_instance_t *inst,
                                            const char *portname,
                                            const dlmgr__rad_dict_string_DLValue_t *properties,
                                            dlmgr_DatalinkError_t **error);

               Removes the specified port from the bridge.

               Properties dictionary argument is for future use.


               Arguments:

               inst -- RAD instance

               portname

               properties (nullable)

               error

           rc_err_t dlmgr_Bridge_getInfo(rc_instance_t *inst,
                                         const char **fields,
                                         int fields_count,
                                         dlmgr__rad_dict_string_DLValue_t **result,
                                         dlmgr_DatalinkError_t **error);

               Get the information about the Bridge.

               Following fields can be retrieved for the Bridge.
               |--------------------+-------------+------------+------------------------------------|
               | Property           | DLValueType | Displayed  | Notes                              |
               |                    |             | by default |                                    |
               |--------------------+-------------+------------+------------------------------------|
               | name               | STRING      | Yes        | The name of Bridge.                |
               |                    |             |            |                                    |
               | bridge-id          | STRING      | Yes        | The Bridge identifier.             |
               |                    |             |            |                                    |
               | ports              | STRINGS     | Yes        | Specifies list of ports that are   |
               |                    |             |            | to be part of the Bridge.          |
               |                    |             |            |                                    |
               | protect            | STRING      | Yes        | Specifies the protection method.   |
               |                    |             |            |                                    |
               | priority           | ULONG       | Yes        | Specifies STP priority value for   |
               |                    |             |            | determining the root bridge node   |
               |                    |             |            | in the network. Default value is   |
               |                    |             |            | 32768. Supported values:           |
               |                    |             |            | 0 to 61440.                        |
               |                    |             |            |                                    |
               | max-age            | ULONG       | Yes        | Specifies STP bridge maximum age   |
               |                    |             |            | parameter. Default value is 20     |
               |                    |             |            | seconds. Supported values are 6    |
               |                    |             |            | to 40 seconds.                     |
               |                    |             |            |                                    |
               | hello-time         | ULONG       | Yes        | Specifies STP hello time           |
               |                    |             |            | parameter. Default value is 2      |
               |                    |             |            | seconds. Supported values are      |
               |                    |             |            | 1 to 10 seconds.                   |
               |                    |             |            |                                    |
               | forward-delay      | ULONG       | Yes        | Specifies the STP bridge forward   |
               |                    |             |            | delay parameter.                   |
               |                    |             |            |                                    |
               | force-protocol     | ULONG       | Yes        | Specifies the MSTP forced maximum  |
               |                    |             |            | protocol. Default value is 3:      |
               |                    |             |            | Supported values are non-negative  |
               |                    |             |            | integers.                          |
               |                    |             |            |                                    |
               | designated-root    | STRING      | Yes        | Bridge Identifier of the root      |
               |                    |             |            | node.                              |
               |                    |             |            |                                    |
               | root-max-age       | ULONG       | No         | Maximum age value of the root      |
               |                    |             |            | node.                              |
               |                    |             |            |                                    |
               | root-hello-time    | ULONG       | No         | Hello-time value of the root node. |
               |                    |             |            |                                    |
               | root-forward-delay | ULONG       | No         | Forward-delay value of the root    |
               |                    |             |            | node.                              |
               |                    |             |            |                                    |
               | hold-time          | LONG        | No         | Minimum BPDU interval              |
               |                    |             |            |                                    |
               | topo-change-time   | ULONG       | No         | Time, in seconds, since last       |
               |                    |             |            | topology change.                   |
               |                    |             |            |                                    |
               | topo-change-count  | ULONG       | No         | Count of the number of             |
               |                    |             |            | topology changes.                  |
               |                    |             |            |                                    |
               | topo-change        | BOOLEAN     | No         | This indicates that a topology     |
               |                    |             |            | change was detected.               |
               |                    |             |            |                                    |
               | root-path-cost     | ULONG       | No         | Cost of the path to the root node. |
               |                    |             |            |                                    |
               | root-port          | ULONG       | No         | Port number used to reach the root |
               |                    |             |            | node.                              |
               |                    |             |            |                                    |
               | forwarding-entries | DICTIONARYS | No         | See below                          |
               |--------------------+-------------+------------+------------------------------------|

               forwarding-entries dictionary entry
               |-------------+-------------+------------------------------------------------------|
               | Key         | DLValueType | Notes                                                |
               |-------------+-------------+------------------------------------------------------|
               | destination | STRING      | Destination MAC address.                             |
               |             |             |                                                      |
               | age         | ULONG       | Age of entry inmilliseconds.                         |
               |             |             |                                                      |
               | local       | BOOLEAN     | Specifies if the MAC address belongs to  an attached |
               |             |             | link or to a VNIC on one of the attached links.      |
               |             |             |                                                      |
               | port        | STRING      | Output port name through which destination MAC       |
               |             |             | address can be reached.                              |
               |-------------+-------------+------------------------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Bridge_getPortsInfo(rc_instance_t *inst,
                                              const char **ports,
                                              int ports_count,
                                              const char **fields,
                                              int fields_count,
                                              dlmgr_DLDict_t ***result,
                                              int *result_cnt,
                                              dlmgr_DatalinkError_t **error);

               Get Bridge port specific information.

               Following fields can be retrieved for the Bridge.
               |----------------------+-------------+------------+----------------------------------|
               | Property             | DLValueType | Displayed  | Notes                            |
               |                      |             | by default |                                  |
               |----------------------+-------------+------------+----------------------------------|
               | name                 | STRING      | Yes        | The link name.                   |
               |                      |             |            |                                  |
               | state                | STRING      | Yes        | State of the link.               |
               |                      |             |            |                                  |
               | uptime               | ULONG       | Yes        | Number of seconds since the last |
               |                      |             |            | reset or initialization.         |
               |                      |             |            |                                  |
               | designated-root      | STRING      | Yes        | The Root Bridge Identifier that  |
               |                      |             |            | has been seen on this port.      |
               |                      |             |            |                                  |
               | designated-bridge    | STRING      | Yes        | Bridge Identifier for this port. |
               |                      |             |            |                                  |
               | operational-cost     | ULONG       | No         | Actual cost in use (1-65535).    |
               |                      |             |            |                                  |
               | operational-edge     | BOOLEAN     | No         | This indicates whether edge mode |
               |                      |             |            | has been detected.               |
               |                      |             |            |                                  |
               | operational-p2p      | BOOLEAN     | No         | This indicates whether           |
               |                      |             |            | point-to-point (P2P) mode been   |
               |                      |             |            | detected.                        |
               |                      |             |            |                                  |
               | designated-path-cost | ULONG       | No         | Path cost to the network root    |
               |                      |             |            | node through the designated      |
               |                      |             |            | port.                            |
               |                      |             |            |                                  |
               | designated-port      | ULONG       | No         | The ID and priority of the port  |
               |                      |             |            | used to transmit configuration   |
               |                      |             |            | messages for this port.          |
               |                      |             |            |                                  |
               | topo-change-ack      | BOOLEAN     | No         | This indicates whether Topology  |
               |                      |             |            | Change Acknowledge has been      |
               |                      |             |            | seen.                            |
               |----------------------+-------------+------------+----------------------------------|


               Arguments:

               inst -- RAD instance

               ports (nullable)

               ports_count -- Number of items in ports array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Bridge_getStatistics(rc_instance_t *inst,
                                               const char **stats,
                                               int stats_count,
                                               dlmgr__rad_dict_string_DLValue_t **result,
                                               dlmgr_DatalinkError_t **error);

               Get the bridge statistics.

               Following stats can be retrieved for the Bridge.
               |----------+-------------+------------+----------------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                                        |
               |          |             | by default |                                              |
               |----------+-------------+------------+----------------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.               |
               |          |             |            |                                              |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound packets.  |
               |          |             |            |                                              |
               | opackets | ULONG       | Yes        | The number of outbound packets.              |
               |          |             |            |                                              |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound packets. |
               |          |             |            |                                              |
               | drops    | ULONG       | No         | Number of packets dropped due to resource    |
               |          |             |            | problems.                                    |
               |          |             |            |                                              |
               | forwards | ULONG       | No         | Number of packets forwarded from one link to |
               |          |             |            | another.                                     |
               |          |             |            |                                              |
               | mbcast   | ULONG       | No         | Number of multicast and broadcast packets    |
               |          |             |            | handled by the bridge.                       |
               |          |             |            |                                              |
               | local    | ULONG       | No         | Traffic loopback in L2.                      |
               |          |             |            |                                              |
               | unknown  | ULONG       | No         | Number of packets handled that have an       |
               |          |             |            | unknown destination. Such packets are sent   |
               |          |             |            | to all links.                                |
               |----------+-------------+------------+----------------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Bridge_getPortsStatistics(rc_instance_t *inst,
                                                    const char **ports,
                                                    int ports_count,
                                                    const char **stats,
                                                    int stats_count,
                                                    dlmgr_DLDict_t ***result,
                                                    int *result_cnt,
                                                    dlmgr_DatalinkError_t **error);

               Get the bridge port statistics.

               Following stats can be retrieved for the Bridge Port.
               |-------------------+-------------+------------+---------------------------------|
               | Stat              | DLValueType | Displayed  | Notes                           |
               |                   |             | by default |                                 |
               |-------------------+-------------+------------+---------------------------------|
               | name              | STRING      | Yes        | Always displayed                |
               |                   |             |            |                                 |
               | ipackets          | ULONG       | Yes        | The number of inbound packets.  |
               |                   |             |            |                                 |
               | ibytes            | ULONG       | Yes        | The number of bytes of the      |
               |                   |             |            | inbound packets.                |
               |                   |             |            |                                 |
               | opackets          | ULONG       | Yes        | The number of outbound packets. |
               |                   |             |            |                                 |
               | obytes            | ULONG       | Yes        | The number of bytes of the      |
               |                   |             |            | outbound packets.               |
               |                   |             |            |                                 |
               | drops             | ULONG       | No         | Number of packets dropped due   |
               |                   |             |            | to resource problems.           |
               |                   |             |            |                                 |
               | iconfig-bpdu      | ULONG       | No         | Number of configuration BPDUs   |
               |                   |             |            | received.                       |
               |                   |             |            |                                 |
               | itopo-change-bpdu | ULONG       | No         | Number of topology change       |
               |                   |             |            | BPDUs received.                 |
               |                   |             |            |                                 |
               | irstp-bpdu        | ULONG       | No         | Number of Rapid Spanning        |
               |                   |             |            | Tree BPDUs received.            |
               |                   |             |            |                                 |
               | obpdu             | ULONG       | No         | Number of BPDUs transmitted.    |
               |-------------------+-------------+------------+---------------------------------|


               Arguments:

               inst -- RAD instance

               ports (nullable)

               ports_count -- Number of items in ports array

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Bridge_setProperties(rc_instance_t *inst,
                                               const dlmgr__rad_dict_string_DLValue_t *properties,
                                               dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               Bridge. Please see the supported Bridge properties table in
               dlmgr module documentation for the list of properties that can
               be set for a Bridge. To reset a property to its default value
               just specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Bridge_getProperties(rc_instance_t *inst,
                                               const char **properties,
                                               int properties_count,
                                               const char **fields,
                                               int fields_count,
                                               dlmgr_DLDict_t ***result,
                                               int *result_cnt,
                                               dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Bridge Retrieve
           rc_err_t dlmgr_Bridge__rad_get_name(adr_name_t **result,
                                               int n,
                                               ...);

               Obtain RAD name of a Bridge object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Bridge__rad_lookup(rc_conn_t *c,
                                             boolean_t strict,
                                             rc_instance_t **result,
                                             int n,
                                             ...);

               Lookup a Bridge instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Bridge__rad_list(rc_conn_t *c,
                                           boolean_t strict,
                                           adr_pattern_scheme_t scheme,
                                           adr_name_t ***result,
                                           int *result_count,
                                           int n,
                                           ...);

               List RAD names of a available Bridge instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface IPtunnel
       APIs that provide functionality to administer IPtunnels.

       IPtunnel Methods
           rc_err_t dlmgr_IPtunnel_setProperties(rc_instance_t *inst,
                                                 const dlmgr__rad_dict_string_DLValue_t *properties,
                                                 dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               IPtunnel. Please see the supported IPtunnel properties table in
               dlmgr module documentation for the list of properties that can
               be set for a IPtunnel. To reset a property to its default value
               just specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_IPtunnel_getProperties(rc_instance_t *inst,
                                                 const char **properties,
                                                 int properties_count,
                                                 const char **fields,
                                                 int fields_count,
                                                 dlmgr_DLDict_t ***result,
                                                 int *result_cnt,
                                                 dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_IPtunnel_getInfo(rc_instance_t *inst,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr__rad_dict_string_DLValue_t **result,
                                           dlmgr_DatalinkError_t **error);

               Get the information about IPtunnel datalink.

               Following fields can be retrieved for the IPtunnel.
               |-----------+-------------+------------+----------------------------------------|
               | Property  | DLValueType | Displayed  | Notes                                  |
               |           |             | by default |                                        |
               |-----------+-------------+------------+----------------------------------------|
               | name      | STRING      | Yes        | The name of IPtunnel datalink.         |
               |           |             |            |                                        |
               | type      | STRING      | Yes        | Type of IPtunnel, possible values are  |
               |           |             |            | ipv4, ipv6, 6to4.                      |
               |           |             |            |                                        |
               | local     | STRING      | Yes        | Local address of the IPTunnel link.    |
               |           |             |            |                                        |
               | remote    | STRING      | Yes        | Remote address of the IPTunnel link.   |
               |           |             |            |                                        |
               | zone      | STRING      | Yes        | The zone of IPtunnel.                  |
               |           |             |            |                                        |
               | ipsec     | BOOLEAN     | No         | IPtunnel is protected by IPSec policy. |
               |           |             |            |                                        |
               | implicit  | BOOLEAN     | No         | The IPtunnel link was implicitly       |
               |           |             |            | created with ipadm(8).                 |
               |           |             |            |                                        |
               | temporary | BOOLEAN     | Yes        | The IPtunnel is non-persistent.        |
               |-----------+-------------+------------+----------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_IPtunnel_getStatistics(rc_instance_t *inst,
                                                 const char **stats,
                                                 int stats_count,
                                                 dlmgr__rad_dict_string_DLValue_t **result,
                                                 dlmgr_DatalinkError_t **error);

               Get the IPtunnel stats.

               Following stats can be retrieved for the EoIB.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_IPtunnel_addFlow(rc_instance_t *inst,
                                           const char *name,
                                           dlmgr_DLDict_t **filters,
                                           int filters_count,
                                           dlmgr_DLDict_t **masks,
                                           int masks_count,
                                           const dlmgr__rad_dict_string_DLValue_t *properties,
                                           rc_instance_t **result,
                                           dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the IPtunnel. Please see Datalink's addFlow() method's
               documentation for more information on supported flow filters
               and properties.

               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_IPtunnel_removeFlow(rc_instance_t *inst,
                                              const char *name,
                                              const dlmgr__rad_dict_string_DLValue_t *properties,
                                              dlmgr_DatalinkError_t **error);

               Remove a flow on the IPtunnel. Please see Datalink's
               removeFlow() method's documentation for more information on
               supported properties.

               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_IPtunnel_getFlowInfo(rc_instance_t *inst,
                                               const char **name,
                                               int name_count,
                                               const char **fields,
                                               int fields_count,
                                               dlmgr_DLDict_t ***result,
                                               int *result_cnt,
                                               dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the IPtunnel. Please see Datalink's getFlowInfo()
               method's documentation for more information on displayed flow
               filters and properties.

               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       IPtunnel Retrieve
           rc_err_t dlmgr_IPtunnel__rad_get_name(adr_name_t **result,
                                                 int n,
                                                 ...);

               Obtain RAD name of a IPtunnel object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_IPtunnel__rad_lookup(rc_conn_t *c,
                                               boolean_t strict,
                                               rc_instance_t **result,
                                               int n,
                                               ...);

               Lookup a IPtunnel instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_IPtunnel__rad_list(rc_conn_t *c,
                                             boolean_t strict,
                                             adr_pattern_scheme_t scheme,
                                             adr_name_t ***result,
                                             int *result_count,
                                             int n,
                                             ...);

               List RAD names of a available IPtunnel instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface EoIB
       APIs that provide functionality to administer EoIB datalinks.

       EoIB Methods
           rc_err_t dlmgr_EoIB_getInfo(rc_instance_t *inst,
                                       const char **fields,
                                       int fields_count,
                                       dlmgr__rad_dict_string_DLValue_t **result,
                                       dlmgr_DatalinkError_t **error);

               Get the information about the EoIB.

               Following fields can be retrieved for the EoIB.
               |--------------+-------------+------------+--------------------------------------|
               | Property     | DLValueType | Displayed  | Notes                                |
               |              |             | by default |                                      |
               |--------------+-------------+------------+--------------------------------------|
               | name         | STRING      | Yes        | The name of EoIB datalink.           |
               |              |             |            |                                      |
               | mac-address  | STRING      | Yes        | MAC address assigned for the EoIB    |
               |              |             |            | link on the gateway.                 |
               |              |             |            |                                      |
               | gateway-name | STRING      | Yes        | The configured system name of        |
               |              |             |            | IB-Ethernet gateway switch.          |
               |              |             |            |                                      |
               | gateway-port | STRING      | Yes        | The name of the connector associated |
               |              |             |            | with the gateway Ethernet port.      |
               |              |             |            |                                      |
               | gateway-id   | ULONG       | Yes        | The identifier for the gateway       |
               |              |             |            | instance associated with the         |
               |              |             |            | displayed gateway Ethernet port.     |
               |              |             |            |                                      |
               | ib-link      | STRING      | Yes        | The name of the IB physical link     |
               |              |             |            | over which this EoIB datalink is     |
               |              |             |            | created.                             |
               |              |             |            |                                      |
               | temporary    | BOOLEAN     | Yes        | The EoIB is non-persistent.          |
               |--------------+-------------+------------+--------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_EoIB_getStatistics(rc_instance_t *inst,
                                             const char **stats,
                                             int stats_count,
                                             dlmgr__rad_dict_string_DLValue_t **result,
                                             dlmgr_DatalinkError_t **error);

               Get the EoIB stats.

               Following stats can be retrieved for the EoIB.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_EoIB_addFlow(rc_instance_t *inst,
                                       const char *name,
                                       dlmgr_DLDict_t **filters,
                                       int filters_count,
                                       dlmgr_DLDict_t **masks,
                                       int masks_count,
                                       const dlmgr__rad_dict_string_DLValue_t *properties,
                                       rc_instance_t **result,
                                       dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the EoIB. Please see Datalink's addFlow() method's
               documentation for more information on supported flow filters
               and properties.

               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_EoIB_removeFlow(rc_instance_t *inst,
                                          const char *name,
                                          const dlmgr__rad_dict_string_DLValue_t *properties,
                                          dlmgr_DatalinkError_t **error);

               Remove a flow on the EoIB. Please see Datalink's removeFlow()
               method's documentation for more information on supported
               properties.

               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_EoIB_getFlowInfo(rc_instance_t *inst,
                                           const char **name,
                                           int name_count,
                                           const char **fields,
                                           int fields_count,
                                           dlmgr_DLDict_t ***result,
                                           int *result_cnt,
                                           dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the EoIB. Please see Datalink's getFlowInfo()
               method's documentation for more information on displayed flow
               filters and properties.

               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_EoIB_setProperties(rc_instance_t *inst,
                                             const dlmgr__rad_dict_string_DLValue_t *properties,
                                             dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               EoIB. Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given EoIB. To reset a property to its default value just
               specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_EoIB_getProperties(rc_instance_t *inst,
                                             const char **properties,
                                             int properties_count,
                                             const char **fields,
                                             int fields_count,
                                             dlmgr_DLDict_t ***result,
                                             int *result_cnt,
                                             dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       EoIB Retrieve
           rc_err_t dlmgr_EoIB__rad_get_name(adr_name_t **result,
                                             int n,
                                             ...);

               Obtain RAD name of a EoIB object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_EoIB__rad_lookup(rc_conn_t *c,
                                           boolean_t strict,
                                           rc_instance_t **result,
                                           int n,
                                           ...);

               Lookup a EoIB instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_EoIB__rad_list(rc_conn_t *c,
                                         boolean_t strict,
                                         adr_pattern_scheme_t scheme,
                                         adr_name_t ***result,
                                         int *result_count,
                                         int n,
                                         ...);

               List RAD names of a available EoIB instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

   interface Partition
       APIs that provide functionality to administer Partition datalinks.

       Partition Methods
           rc_err_t dlmgr_Partition_getInfo(rc_instance_t *inst,
                                            const char **fields,
                                            int fields_count,
                                            dlmgr__rad_dict_string_DLValue_t **result,
                                            dlmgr_DatalinkError_t **error);

               Get the information about the IB Partition.

               Following fields can be retrieved for the IB Partition.
               |------------+-------------+------------+---------------------------------------|
               | Property   | DLValueType | Displayed  | Notes                                 |
               |            |             | by default |                                       |
               |------------+-------------+------------+---------------------------------------|
               | name       | STRING      | Yes        | The name of Partition datalink.       |
               |            |             |            |                                       |
               | pkey       | ULONG       | Yes        | pkey associated with the Partition.   |
               |            |             |            |                                       |
               | lower-link | STRING      | Yes        | The name of the physical link over    |
               |            |             |            | which this partition link is created. |
               |            |             |            |                                       |
               | temporary  | BOOLEAN     | Yes        | The Partition is non-persistent.      |
               |------------+-------------+------------+---------------------------------------|


               Arguments:

               inst -- RAD instance

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               error

           rc_err_t dlmgr_Partition_getStatistics(rc_instance_t *inst,
                                                  const char **stats,
                                                  int stats_count,
                                                  dlmgr__rad_dict_string_DLValue_t **result,
                                                  dlmgr_DatalinkError_t **error);

               Get the IPoIB stats.

               Following stats can be retrieved for the Partition.
               |----------+-------------+------------+-------------------------------------|
               | Stat     | DLValueType | Displayed  | Notes                               |
               |          |             | by default |                                     |
               |          |             |            |                                     |
               |----------+-------------+------------+-------------------------------------|
               | ipackets | ULONG       | Yes        | The number of inbound packets.      |
               |          |             |            |                                     |
               | ibytes   | ULONG       | Yes        | The number of bytes of the inbound  |
               |          |             |            | packets.                            |
               |          |             |            |                                     |
               | opackets | ULONG       | Yes        | The number of outbound packets.     |
               |          |             |            |                                     |
               | obytes   | ULONG       | Yes        | The number of bytes of the outbound |
               |          |             |            | packets.                            |
               |----------+-------------+------------+-------------------------------------|


               Arguments:

               inst -- RAD instance

               stats (nullable)

               stats_count -- Number of items in stats array

               result

               error

           rc_err_t dlmgr_Partition_addFlow(rc_instance_t *inst,
                                            const char *name,
                                            dlmgr_DLDict_t **filters,
                                            int filters_count,
                                            dlmgr_DLDict_t **masks,
                                            int masks_count,
                                            const dlmgr__rad_dict_string_DLValue_t *properties,
                                            rc_instance_t **result,
                                            dlmgr_DatalinkError_t **error);

               Add a flow with the specified name, filters, and properties on
               the Partition. Please see Datalink's addFlow() method's
               documentation for more information on supported flow filters
               and properties.

               Arguments:

               inst -- RAD instance

               name

               filters

               filters_count -- Number of items in filters array

               masks (nullable)

               masks_count -- Number of items in masks array

               properties (nullable)

               result

               error

           rc_err_t dlmgr_Partition_removeFlow(rc_instance_t *inst,
                                               const char *name,
                                               const dlmgr__rad_dict_string_DLValue_t *properties,
                                               dlmgr_DatalinkError_t **error);

               Remove a flow on the Partition. Please see Datalink's
               removeFlow() method's documentation for more information on
               supported properties.

               Arguments:

               inst -- RAD instance

               name

               properties (nullable)

               error

           rc_err_t dlmgr_Partition_getFlowInfo(rc_instance_t *inst,
                                                const char **name,
                                                int name_count,
                                                const char **fields,
                                                int fields_count,
                                                dlmgr_DLDict_t ***result,
                                                int *result_cnt,
                                                dlmgr_DatalinkError_t **error);

               Get the information for the specified flow or for all the flows
               defined on the Partition. Please see Datalink's getFlowInfo()
               method's documentation for more information on displayed flow
               filters and properties.

               Arguments:

               inst -- RAD instance

               name (nullable)

               name_count -- Number of items in name array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

           rc_err_t dlmgr_Partition_setProperties(rc_instance_t *inst,
                                                  const dlmgr__rad_dict_string_DLValue_t *properties,
                                                  dlmgr_DatalinkError_t **error);

               Sets the values of one or more properties on the specified
               Partition. Please see the supported properties table in dlmgr
               module documentation for the list of properties that can be set
               for a given Partition. To reset a property to its default value
               just specify the property name without any value as the input.

               Arguments:

               inst -- RAD instance

               properties

               error

           rc_err_t dlmgr_Partition_getProperties(rc_instance_t *inst,
                                                  const char **properties,
                                                  int properties_count,
                                                  const char **fields,
                                                  int fields_count,
                                                  dlmgr_DLDict_t ***result,
                                                  int *result_cnt,
                                                  dlmgr_DatalinkError_t **error);

               Get information on permission, current, effective, default, and
               possible values for the list of datalink properties specified.
               Please see the supported properties table in dlmgr module
               documentation for the list of properties that can be set for a
               given class of datalink

               Arguments:

               inst -- RAD instance

               properties

               properties_count -- Number of items in properties array

               fields (nullable)

               fields_count -- Number of items in fields array

               result

               result_cnt -- Number of items in result array

               error

       Partition Retrieve
           rc_err_t dlmgr_Partition__rad_get_name(adr_name_t **result,
                                                  int n,
                                                  ...);

               Obtain RAD name of a Partition object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Partition__rad_lookup(rc_conn_t *c,
                                                boolean_t strict,
                                                rc_instance_t **result,
                                                int n,
                                                ...);

               Lookup a Partition instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t dlmgr_Partition__rad_list(rc_conn_t *c,
                                              boolean_t strict,
                                              adr_pattern_scheme_t scheme,
                                              adr_name_t ***result,
                                              int *result_count,
                                              int n,
                                              ...);

               List RAD names of a available Partition instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

ENUMERATED TYPES
       enum DLSTATUS

           typedef enum dlmgr_DLSTATUS {
                DDLSTATUS_OK = 0,
                DDLSTATUS_FAILED = 1,
                DDLSTATUS_ACCESS_DENIED = 2,
                DDLSTATUS_ALL_MACADDRESS_SLOTS_INUSE = 3,
                DDLSTATUS_DB_ERROR = 4,
                DDLSTATUS_EXISTS = 5,
                DDLSTATUS_FACTORY_MACADDRESS_NOT_SUPPORTED = 6,
                DDLSTATUS_INVALID_ARGUMENT = 7,
                DDLSTATUS_INVALID_FLOW_FILTER = 8,
                DDLSTATUS_INVALID_MACADDRESS_INFO = 9,
                DDLSTATUS_INVALID_PVLAN_INFO = 10,
                DDLSTATUS_INVALID_SMF_CONFIG = 11,
                DDLSTATUS_INVALID_VALUE = 12,
                DDLSTATUS_INVALID_VLAN_INFO = 13,
                DDLSTATUS_IO_ERROR = 14,
                DDLSTATUS_IPADDRESS_INUSE = 15,
                DDLSTATUS_IPADDRESS_NOT_AVAILABLE = 16,
                DDLSTATUS_DATALINK_BUSY = 17,
                DDLSTATUS_DATALINK_HAS_FLOWS = 18,
                DDLSTATUS_DATALINK_NOTIFICATION_NOT_SUPPORTED = 19,
                DDLSTATUS_MACADDRESS_IN_USE = 20,
                DDLSTATUS_MACADDRESS_SLOT_IN_USE = 21,
                DDLSTATUS_NOT_FOUND = 22,
                DDLSTATUS_NOT_SUPPORTED = 23,
                DDLSTATUS_NO_MEMORY = 24,
                DDLSTATUS_PERSISTENT_OPERATION_ONLY = 25,
                DDLSTATUS_PROPERTY_READONLY = 26,
                DDLSTATUS_PVLAN_NOT_SUPPORTED = 27,
                DDLSTATUS_SYSTEM_FLOW = 28,
                DDLSTATUS_TEMPORARY_OPERATION_ONLY = 29,
                DDLSTATUS_TRY_AGAIN = 30,
                DDLSTATUS_VLAN_NOT_SUPPORTED = 31,
           } dlmgr_DLSTATUS_t;

           DDLSTATUS_OK (0) -- operation succeeded

           DDLSTATUS_FAILED (1) -- operation failed

           DDLSTATUS_ACCESS_DENIED (2) -- permission denied

           DDLSTATUS_ALL_MACADDRESS_SLOTS_INUSE (3) -- all MAC address slots
           are in use

           DDLSTATUS_DB_ERROR (4) -- database error

           DDLSTATUS_EXISTS (5) -- object already exists

           DDLSTATUS_FACTORY_MACADDRESS_NOT_SUPPORTED (6) -- factory MAC
           address not supported

           DDLSTATUS_INVALID_ARGUMENT (7) -- invalid argument

           DDLSTATUS_INVALID_FLOW_FILTER (8) -- invalid flow filter

           DDLSTATUS_INVALID_MACADDRESS_INFO (9) -- invalid MAC address info

           DDLSTATUS_INVALID_PVLAN_INFO (10) -- invalid private VLAN info

           DDLSTATUS_INVALID_SMF_CONFIG (11) -- invalid SMF configuration
           repository

           DDLSTATUS_INVALID_VALUE (12) -- invalid value

           DDLSTATUS_INVALID_VLAN_INFO (13) -- invalid VLAN info

           DDLSTATUS_IO_ERROR (14) -- I/O error

           DDLSTATUS_IPADDRESS_INUSE (15) -- IP address already in use

           DDLSTATUS_IPADDRESS_NOT_AVAILABLE (16) -- cannot assign requested
           IP address

           DDLSTATUS_DATALINK_BUSY (17) -- datalink busy

           DDLSTATUS_DATALINK_HAS_FLOWS (18) -- datalink has flows on it

           DDLSTATUS_DATALINK_NOTIFICATION_NOT_SUPPORTED (19) -- link
           notification is not supported

           DDLSTATUS_MACADDRESS_IN_USE (20) -- MAC address is already in use

           DDLSTATUS_MACADDRESS_SLOT_IN_USE (21) -- MAC address slot in use

           DDLSTATUS_NOT_FOUND (22) -- object not found

           DDLSTATUS_NOT_SUPPORTED (23) -- operation not supported

           DDLSTATUS_NO_MEMORY (24) -- insufficient memory

           DDLSTATUS_PERSISTENT_OPERATION_ONLY (25) -- change must be
           persistent

           DDLSTATUS_PROPERTY_READONLY (26) -- property is read-only

           DDLSTATUS_PVLAN_NOT_SUPPORTED (27) -- PVLAN not supported

           DDLSTATUS_SYSTEM_FLOW (28) -- cannot modify or remove the system
           generated flows

           DDLSTATUS_TEMPORARY_OPERATION_ONLY (29) -- change must be temporary

           DDLSTATUS_TRY_AGAIN (30) -- try again

           DDLSTATUS_VLAN_NOT_SUPPORTED (31) -- VLAN cannot be added to this
           link

       enum DLValueType

           typedef enum dlmgr_DLValueType {
                DDLVT_BOOLEAN = 0,
                DDLVT_BOOLEANS = 1,
                DDLVT_LONG = 2,
                DDLVT_LONGS = 3,
                DDLVT_ULONG = 4,
                DDLVT_ULONGS = 5,
                DDLVT_STRING = 6,
                DDLVT_STRINGS = 7,
                DDLVT_DICTIONARY = 8,
                DDLVT_DICTIONARYS = 9,
           } dlmgr_DLValueType_t;

           DDLVT_BOOLEAN (0)

           DDLVT_BOOLEANS (1)

           DDLVT_LONG (2)

           DDLVT_LONGS (3)

           DDLVT_ULONG (4)

           DDLVT_ULONGS (5)

           DDLVT_STRING (6)

           DDLVT_STRINGS (7)

           DDLVT_DICTIONARY (8)

           DDLVT_DICTIONARYS (9)

       enum Permission -- Permission of properties

           typedef enum dlmgr_Permission {
                DP_READ = 1,
                DP_WRITE = 2,
                DP_READWRITE = 3,
                DP_UNKNOWN = 4,
           } dlmgr_Permission_t;

           DP_READ (1) -- Read permission

           DP_WRITE (2) -- Write permission

           DP_READWRITE (3) -- Read and write permission

           DP_UNKNOWN (4) -- Permission unknown

       enum StatType -- Type of statistic

           typedef enum dlmgr_StatType {
                DST_LINK = 0,
           } dlmgr_StatType_t;

           DST_LINK (0) -- Datalink statistic

STRUCTURED TYPES
       struct DatalinkError -- Represents an error occurred while performing
       an operation on a datalink.

           typedef struct dlmgr_DatalinkError dlmgr_DatalinkError_t;

           struct dlmgr_DatalinkError {
                int dde_err;
                char *dde_errmsg;
           };


           void dlmgr_DatalinkError_free(dlmgr_DatalinkError_t *in);

           Fields:

           dde_err -- dladm_status_t error codes as defined in libdladm.h.

           dde_errmsg -- Human readable error message corresponding to error
           code above.

       struct DLDict

           typedef struct dlmgr_DLDict dlmgr_DLDict_t;

           struct dlmgr_DLDict {
                dlmgr__rad_dict_string_DLValue_t *ddld_map;
           };


           void dlmgr_DLDict_free(dlmgr_DLDict_t *in);

           Fields:

           ddld_map

       struct DLValue

           typedef struct dlmgr_DLValue dlmgr_DLValue_t;

           struct dlmgr_DLValue {
                dlmgr_DLValueType_t ddlv_type;
                boolean_t *ddlv_bval;
                boolean_t *ddlv_blist;
                int ddlv_blist_count;
                long long *ddlv_lval;
                long long *ddlv_llist;
                int ddlv_llist_count;
                unsigned long long *ddlv_ulval;
                unsigned long long *ddlv_ullist;
                int ddlv_ullist_count;
                char *ddlv_sval;
                char **ddlv_slist;
                int ddlv_slist_count;
                dlmgr__rad_dict_string_DLValue_t *ddlv_dval;
                dlmgr_DLDict_t **ddlv_dlist;
                int ddlv_dlist_count;
           };


           void dlmgr_DLValue_free(dlmgr_DLValue_t *in);

           Fields:

           ddlv_type

           ddlv_bval

           ddlv_blist

           ddlv_blist_count

           ddlv_lval

           ddlv_llist

           ddlv_llist_count

           ddlv_ulval

           ddlv_ullist

           ddlv_ullist_count

           ddlv_sval

           ddlv_slist

           ddlv_slist_count

           ddlv_dval

           ddlv_dlist

           ddlv_dlist_count

       struct Property -- A datalink property.

           typedef struct dlmgr_Property dlmgr_Property_t;

           struct dlmgr_Property {
                char *dp_propname;
                dlmgr_Permission_t dp_perm;
                char *dp_current;
                char *dp_effective;
                char *dp_persistent;
                char *dp_defvalue;
                char *dp_possible;
           };


           void dlmgr_Property_free(dlmgr_Property_t *in);

           Fields:

           dp_propname -- The name of the datalink property.

           dp_perm -- Permission to read/write the property.

           dp_current -- The current value of the property.

           dp_effective -- The effective value of the property.

           dp_persistent -- The persistent value of the property.

           dp_defvalue -- The default value of the property.

           dp_possible -- A comma-separated list of the value the property can
           have. If the values span a numeric range, min-max may be shown as
           shorthand.

       struct LinkStat

           typedef struct dlmgr_LinkStat dlmgr_LinkStat_t;

           struct dlmgr_LinkStat {
                unsigned long long dls_ipackets;
                unsigned long long dls_rbytes;
                unsigned long long dls_idrops;
                unsigned long long dls_idropbytes;
                unsigned long long dls_opackets;
                unsigned long long dls_obytes;
                unsigned long long dls_odrops;
                unsigned long long dls_odropbytes;
           };


           void dlmgr_LinkStat_free(dlmgr_LinkStat_t *in);

           Fields:

           dls_ipackets -- The Number of incoming packets

           dls_rbytes -- The Number of incoming bytes

           dls_idrops -- The Number of incoming packets dropped

           dls_idropbytes -- The Number of incoming bytes dropped

           dls_opackets -- The Number of outgoing packets

           dls_obytes -- The Number of outgoing bytes

           dls_odrops -- The Number of outgoing packets dropped

           dls_odropbytes -- The Number of outgoing bytes dropped

       struct StatValue

           typedef struct dlmgr_StatValue dlmgr_StatValue_t;

           struct dlmgr_StatValue {
                dlmgr_StatType_t dsv_discriminant;
                dlmgr_LinkStat_t *dsv_linkstat;
           };


           void dlmgr_StatValue_free(dlmgr_StatValue_t *in);

           Fields:

           dsv_discriminant

           dsv_linkstat

DICTIONARIES
   Dictionary { string : DLValue }
       Dictionary with a key type of string and a value type of DLValue.

       typedef struct base_rad_dict dlmgr__rad_dict_string_DLValue_t;

       rc_err_t dlmgr__rad_dict_string_DLValue_get(dlmgr__rad_dict_string_DLValue_t *dict,
                                                   const char *key,
                                                   dlmgr_DLValue_t **result);

           Get the value for given key.

           Arguments:

           dict -- Dictionary

           key -- Key value

           result -- Value returned

       rc_err_t dlmgr__rad_dict_string_DLValue_put(dlmgr__rad_dict_string_DLValue_t *dict,
                                                   const char *key,
                                                   dlmgr_DLValue_t *value,
                                                   dlmgr_DLValue_t **result);

           Put a key-value pair into the dictionary.

           Returns a previous value stored with the same key if one exists.

           Arguments:

           dict -- Dictionary

           key -- Key value

           value -- Value written

           result -- Original value for the key

       rc_err_t dlmgr__rad_dict_string_DLValue_contains(dlmgr__rad_dict_string_DLValue_t *dict,
                                                        const char *key);

           Check whether a key exists in the dictionary.

           Returns RCE_OK when key exists, RCE_CLIENT_NOTFOUND otherwise.

           Arguments:

           dict -- Dictionary

           key -- Key value

       rc_err_t dlmgr__rad_dict_string_DLValue_remove(dlmgr__rad_dict_string_DLValue_t *dict,
                                                      const char *key,
                                                      dlmgr_DLValue_t **result);

           Remove key-value pair from the dictionary.

           Returns RCE_OK when key was sucessfully removed,
           RCE_CLIENT_NOTFOUND otherwise.

           Arguments:

           dict -- Dictionary

           key -- Key value

           result -- Original value for the key

       rc_err_t dlmgr__rad_dict_string_DLValue_keys(dlmgr__rad_dict_string_DLValue_t *dict,
                                                    char ***result,
                                                    int *count);

           Get list of keys from the dictionary.

           Memory associated with the result array should be freed by the
           user.

           Arguments:

           dict -- Dictionary

           result -- Array of dictionary keys

           count -- Number of items in result array

       rc_err_t dlmgr__rad_dict_string_DLValue_values(dlmgr__rad_dict_string_DLValue_t *dict,
                                                      dlmgr_DLValue_t ***result,
                                                      int *count);

           Get list of values from the dictionary.

           Memory associated with the result array should be freed by the
           user.

           Arguments:

           dict -- Dictionary

           result -- Array of dictionary values

           count -- Number of items in result array

       unsigned int dlmgr__rad_dict_string_DLValue_size(dlmgr__rad_dict_string_DLValue_t *dict);

           Get number of key-value pairs in the dictionary.

           Arguments:

           dict -- Dictionary

       dlmgr__rad_dict_string_DLValue_t * dlmgr__rad_dict_string_DLValue_create(const rc_instance_t *inst);

           Create a new, empty dictionary.

           Returns a pointer to the dictionary, or NULL on error.

           Arguments:

           inst -- RAD instance

       void dlmgr__rad_dict_string_DLValue_free(dlmgr__rad_dict_string_DLValue_t *dict);

           Destroy the dictionary and release the allocated memory.

           Arguments:

           dict -- Dictionary

       rc_err_t dlmgr__rad_dict_string_DLValue_map(dlmgr__rad_dict_string_DLValue_t *dict,
                                                   rc_err_t(*func)(const char *, dlmgr_DLValue_t *, void *),
                                                   void *arg);

           Invoke a function with each key-value pair in the dictionary.

           Arguments:

           dict -- Dictionary

           func -- Function to invoke

               The arguments are: key, value, user-data.

           arg -- User data: custom parameter to invoke the function with

VERSION
       1.1

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       +--------------------+----------------------------------------+
       |  ATTRIBUTE TYPE    |            ATTRIBUTE VALUE             |
       +--------------------+----------------------------------------+
       |Availability        | system/management/rad/module/rad-dlmgr |
       +--------------------+----------------------------------------+
       |Interface Stability | Private                                |
       +--------------------+----------------------------------------+

SEE ALSO
       rad(8)

NOTES
        1. Accessing Python documentation for this module:

           $ pydoc rad.bindings.com.oracle.solaris.rad.dlmgr_1





Solaris 11.4                      2017-02-01                     DLMGR-1(3rad)