dlmgr-1 - API for datalink and flow control
#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;
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)