Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ././../../../../../../usr/man/man3rad/evscntl-1.3rad
Real path: /usr/share/man/man3rad/evscntl-1.3rad
Zurück
'\" t .\" Title: evscntl-1 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/> .\" Date: 2017-02-01 .\" Manual: RAD Module Definitions .\" Source: Solaris 11.4 .\" Language: English .\" .TH "EVSCNTL\-1" "3rad" "2017\-02\-01" "Solaris 11.4" "RAD Module Definitions" .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" evscntl \- API for Elastic Virtual Switch .SH "SYNOPSIS" .nf #include <rad/client/1/evscntl\&.h> cc [ flag\&.\&.\&. ] file\&.\&.\&. \fB\-levscntl1_client\fR [ library\&.\&.\&. ] .fi .SS "interface EVSController" .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_createEVS\fR('u .R rc_err_t \fBevscntl_EVSController_createEVS\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *tenantname, . const\ char\ *evsname, . evscntl_EVSInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_deleteEVS\fR('u .R rc_err_t \fBevscntl_EVSController_deleteEVS\fR(rc_instance_t\ *inst, . const\ char\ *evsname, . const\ char\ *tenantname, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getEVSInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getEVSInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_EVSInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getVPortInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getVPortInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_VPortInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getIPnetInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getIPnetInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_IPnetInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getVPortStat\fR('u .R rc_err_t \fBevscntl_EVSController_getVPortStat\fR(rc_instance_t\ *inst, . int\ interval, . int\ count, . const\ char\ *filterstr, . evscntl_VPortStat_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_setProperty\fR('u .R rc_err_t \fBevscntl_EVSController_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *host, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getProperty\fR('u .R rc_err_t \fBevscntl_EVSController_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . const\ char\ *filterstr, . evscntl_ControllerProperty_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getL2TypeIdRange\fR('u .R rc_err_t \fBevscntl_EVSController_getL2TypeIdRange\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_L2TypeIdRange_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .SS "interface EVS" .nf .HP \w'rc_err_t\ \fBevscntl_EVS_setProperty\fR('u .R rc_err_t \fBevscntl_EVS_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_getProperty\fR('u .R rc_err_t \fBevscntl_EVS_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_addIPnet\fR('u .R rc_err_t \fBevscntl_EVS_addIPnet\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *ipnetname, . evscntl_IPnetInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_removeIPnet\fR('u .R rc_err_t \fBevscntl_EVS_removeIPnet\fR(rc_instance_t\ *inst, . const\ char\ *ipnetname, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_addVPort\fR('u .R rc_err_t \fBevscntl_EVS_addVPort\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *vportname, . evscntl_VPortInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_removeVPort\fR('u .R rc_err_t \fBevscntl_EVS_removeVPort\fR(rc_instance_t\ *inst, . const\ char\ *vportname, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_resetVPort\fR('u .R rc_err_t \fBevscntl_EVS_resetVPort\fR(rc_instance_t\ *inst, . const\ char\ *vportname, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_assignVPort\fR('u .R rc_err_t \fBevscntl_EVS_assignVPort\fR(rc_instance_t\ *inst, . const\ char\ *vnicname, . const\ char\ *hostname, . const\ char\ *vportname, . const\ char\ *vmpropstr, . evscntl_EVSImplInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_EVS_unAssignVPort\fR('u .R rc_err_t \fBevscntl_EVS_unAssignVPort\fR(rc_instance_t\ *inst, . const\ char\ *vnicname, . const\ char\ *hostname, . const\ char\ *vmpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .SS "interface VPort" .nf .HP \w'rc_err_t\ \fBevscntl_VPort_setProperty\fR('u .R rc_err_t \fBevscntl_VPort_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_VPort_getProperty\fR('u .R rc_err_t \fBevscntl_VPort_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .SS "interface IPnet" .nf .HP \w'rc_err_t\ \fBevscntl_IPnet_setProperty\fR('u .R rc_err_t \fBevscntl_IPnet_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .nf .HP \w'rc_err_t\ \fBevscntl_IPnet_getProperty\fR('u .R rc_err_t \fBevscntl_IPnet_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .SS "Enumerated Types" .PP \fBenum EVSStatus\fR .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_EVSStatus { EEVSS_IDLE = 0, EEVSS_BUSY = 1, } evscntl_EVSStatus_t; .fi .RE .\" } blockquote .PP \fBenum VPortStatus\fR .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_VPortStatus { EVPS_FREE = 0, EVPS_USED = 1, } evscntl_VPortStatus_t; .fi .RE .\" } blockquote .PP \fBenum Permission\fR .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_Permission { EP_READ = 1, EP_WRITE = 2, EP_READWRITE = 3, } evscntl_Permission_t; .fi .RE .\" } blockquote .PP \fBenum IPVersion\fR .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_IPVersion { EIPV_IPV4 = 0, EIPV_IPV6 = 1, } evscntl_IPVersion_t; .fi .RE .\" } blockquote .SS "Structured Types" .PP \fBstruct EVSError\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSError evscntl_EVSError_t; .PP .nf struct evscntl_EVSError { int eevse_err; char *eevse_errmsg; }; .fi .nf .HP \w'void\ \fBevscntl_EVSError_free\fR('u .R void \fBevscntl_EVSError_free\fR(evscntl_EVSError_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct PropertyNV\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_PropertyNV evscntl_PropertyNV_t; .PP .nf struct evscntl_PropertyNV { char *epnv_name; char *epnv_value; }; .fi .nf .HP \w'void\ \fBevscntl_PropertyNV_free\fR('u .R void \fBevscntl_PropertyNV_free\fR(evscntl_PropertyNV_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct Property\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_Property evscntl_Property_t; .PP .nf struct evscntl_Property { char *ep_name; evscntl_Permission_t ep_permission; char *ep_current_value; char *ep_effective_value; char *ep_default_value; char *ep_possible_values; }; .fi .nf .HP \w'void\ \fBevscntl_Property_free\fR('u .R void \fBevscntl_Property_free\fR(evscntl_Property_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct IPnetInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_IPnetInfo evscntl_IPnetInfo_t; .PP .nf struct evscntl_IPnetInfo { char *eipi_name; char *eipi_uuid; char *eipi_evsname; char *eipi_evsuuid; char *eipi_tenantname; evscntl_PropertyNV_t **eipi_props; int eipi_props_count; char *eipi_start; char *eipi_end; char *eipi_range; evscntl_IPVersion_t eipi_ipvers; }; .fi .nf .HP \w'void\ \fBevscntl_IPnetInfo_free\fR('u .R void \fBevscntl_IPnetInfo_free\fR(evscntl_IPnetInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct VPortInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_VPortInfo evscntl_VPortInfo_t; .PP .nf struct evscntl_VPortInfo { char *evpi_name; char *evpi_uuid; char *evpi_evsname; char *evpi_evsuuid; char *evpi_tenantname; evscntl_VPortStatus_t evpi_status; char *evpi_vnicname; evscntl_PropertyNV_t **evpi_props; int evpi_props_count; char *evpi_hostname; }; .fi .nf .HP \w'void\ \fBevscntl_VPortInfo_free\fR('u .R void \fBevscntl_VPortInfo_free\fR(evscntl_VPortInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct EVSInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSInfo evscntl_EVSInfo_t; .PP .nf struct evscntl_EVSInfo { char *eevsi_name; char *eevsi_uuid; char *eevsi_tenantname; evscntl_PropertyNV_t **eevsi_props; int eevsi_props_count; evscntl_EVSStatus_t eevsi_status; evscntl_VPortInfo_t **eevsi_vports; int eevsi_vports_count; evscntl_IPnetInfo_t **eevsi_ipnets; int eevsi_ipnets_count; }; .fi .nf .HP \w'void\ \fBevscntl_EVSInfo_free\fR('u .R void \fBevscntl_EVSInfo_free\fR(evscntl_EVSInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct EVSImplInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSImplInfo evscntl_EVSImplInfo_t; .PP .nf struct evscntl_EVSImplInfo { evscntl_EVSInfo_t *eevsii_evsinfo; char *eevsii_uplink_port; char *eevsii_vxlan_localaddr; char *eevsii_vxlan_mgroup; char *eevsii_vxlan_ipvers; }; .fi .nf .HP \w'void\ \fBevscntl_EVSImplInfo_free\fR('u .R void \fBevscntl_EVSImplInfo_free\fR(evscntl_EVSImplInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct VPortStat\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_VPortStat evscntl_VPortStat_t; .PP .nf struct evscntl_VPortStat { char *evps_vportname; char *evps_evsname; char *evps_tenantname; char *evps_vnicname; char *evps_hostname; unsigned long long evps_rbytes; unsigned long long evps_ipackets; unsigned long long evps_idrops; unsigned long long evps_idropbytes; unsigned long long evps_obytes; unsigned long long evps_opackets; unsigned long long evps_odrops; unsigned long long evps_odropbytes; int evps_errcode; }; .fi .nf .HP \w'void\ \fBevscntl_VPortStat_free\fR('u .R void \fBevscntl_VPortStat_free\fR(evscntl_VPortStat_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct ControllerProperty\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_ControllerProperty evscntl_ControllerProperty_t; .PP .nf struct evscntl_ControllerProperty { char *ecp_name; evscntl_Permission_t ecp_permission; char *ecp_current_value; char *ecp_default_value; char *ecp_host; }; .fi .nf .HP \w'void\ \fBevscntl_ControllerProperty_free\fR('u .R void \fBevscntl_ControllerProperty_free\fR(evscntl_ControllerProperty_t\ *in); .RS .RE .fi .RE .\" } blockquote .PP \fBstruct L2TypeIdRange\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_L2TypeIdRange evscntl_L2TypeIdRange_t; .PP .nf struct evscntl_L2TypeIdRange { char *eltir_name; char *eltir_value; char *eltir_host; evscntl_PropertyNV_t **eltir_range; int eltir_range_count; }; .fi .nf .HP \w'void\ \fBevscntl_L2TypeIdRange_free\fR('u .R void \fBevscntl_L2TypeIdRange_free\fR(evscntl_L2TypeIdRange_t\ *in); .RS .RE .fi .RE .\" } blockquote .SH "DESCRIPTION" .PP \fBAPI com\&.oracle\&.solaris\&.rad\&.evscntl \fR\fB\&\s-2\u[1]\d\s+2\fR .PP This API exposes Elastic Virtual Switch (EVS) configuration and administration to \fBrad(8)\fR clients\&. .PP The following are sample python clients which illustrate some simple interactions with the module\&. .SH "INTERFACES" .SS "interface EVSController" .PP The EVSController interface is an administrative API that can be used at EVS client to administer EVS entities including EVS, VPort, IPnet, client config, controller config\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBEVSController Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_createEVS\fR('u .R rc_err_t \fBevscntl_EVSController_createEVS\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *tenantname, . const\ char\ *evsname, . evscntl_EVSInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP create an EVS .PP Create an EVS with the supplied name and properties\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs of properties .PP \fItenantname\fR (\fInullable\fR) \(em the name of Tenant .PP \fIevsname\fR (\fInullable\fR) \(em the name of EVS .PP \fIresult\fR .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_deleteEVS\fR('u .R rc_err_t \fBevscntl_EVSController_deleteEVS\fR(rc_instance_t\ *inst, . const\ char\ *evsname, . const\ char\ *tenantname, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP delete an EVS .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIevsname\fR \(em the name of EVS .PP \fItenantname\fR (\fInullable\fR) \(em the name of Tenant .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getEVSInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getEVSInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_EVSInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Get a list of EVS either for all the EVS managed by the EVS controller or for the specified EVS\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIfilterstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs used to filter the result .PP \fIresult\fR \(em a list of EVS .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getVPortInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getVPortInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_VPortInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP list all VPorts or specified VPort .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIfilterstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs used to filter the result .PP \fIresult\fR \(em a list of VPort .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getIPnetInfo\fR('u .R rc_err_t \fBevscntl_EVSController_getIPnetInfo\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_IPnetInfo_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP get a list of IPnet either for all the IPnets managed by the EVS controller or for the specified IPnet\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIfilterstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs used to filter the result .PP \fIresult\fR \(em a list of IPnet .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getVPortStat\fR('u .R rc_err_t \fBevscntl_EVSController_getVPortStat\fR(rc_instance_t\ *inst, . int\ interval, . int\ count, . const\ char\ *filterstr, . evscntl_VPortStat_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP get a list of stats of VPort either for all the VPort managed by the EVS controller or for the specified VPort\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIinterval\fR \(em the interval in seconds at which statistics are refreshed .PP \fIcount\fR \(em specifies the number of times that the statistics are repeated\&. .PP \fIfilterstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs used to filter the result .PP \fIresult\fR \(em a list of VPortStat .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_setProperty\fR('u .R rc_err_t \fBevscntl_EVSController_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *host, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP modifies the EVS controller\'s property to the value specified .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR \(em a name\-value pair of property .PP \fIhost\fR (\fInullable\fR) \(em the property being set is applicable only to the specified host .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getProperty\fR('u .R rc_err_t \fBevscntl_EVSController_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . const\ char\ *filterstr, . evscntl_ControllerProperty_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP get the current values of one or more properties for the controller .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIpropstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs of properties to get .PP \fIfilterstr\fR (\fInullable\fR) .PP \fIresult\fR .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController_getL2TypeIdRange\fR('u .R rc_err_t \fBevscntl_EVSController_getL2TypeIdRange\fR(rc_instance_t\ *inst, . const\ char\ *filterstr, . evscntl_L2TypeIdRange_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP get the range of L2 type IDs (VLAN and VXLAN) as applicable per\-host and for rest of the hosts that do not have per\-host setting .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIfilterstr\fR (\fInullable\fR) \(em a comma\-separated list of filters to apply\&. .PP \fIresult\fR .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBEVSController Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_EVSController__rad_get_name\fR('u .R rc_err_t \fBevscntl_EVSController__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a EVSController object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController__rad_lookup\fR('u .R rc_err_t \fBevscntl_EVSController__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a EVSController instance\&. .PP 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\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVSController__rad_list\fR('u .R rc_err_t \fBevscntl_EVSController__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available EVSController instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SS "interface EVS" .PP .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBEVS Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_EVS_setProperty\fR('u .R rc_err_t \fBevscntl_EVS_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Sets the values of a property on the specified EVS .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR \(em the name\-value pair of property to set .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_getProperty\fR('u .R rc_err_t \fBevscntl_EVS_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Get the value for the given property or for all the properties for the specified EVS\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIpropstr\fR (\fInullable\fR) \(em a comma\-separated list of EVS properties to get .PP \fIresult\fR \(em a list of properties .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_addIPnet\fR('u .R rc_err_t \fBevscntl_EVS_addIPnet\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *ipnetname, . evscntl_IPnetInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Add an IPnet\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR \(em the name\-value pair of property to set .PP \fIipnetname\fR (\fInullable\fR) \(em the name of IPnet .PP \fIresult\fR .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_removeIPnet\fR('u .R rc_err_t \fBevscntl_EVS_removeIPnet\fR(rc_instance_t\ *inst, . const\ char\ *ipnetname, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP remove an IPnet .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIipnetname\fR \(em the name of IPnet .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_addVPort\fR('u .R rc_err_t \fBevscntl_EVS_addVPort\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . const\ char\ *vportname, . evscntl_VPortInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP add a VPort .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pair of properties .PP \fIvportname\fR (\fInullable\fR) \(em the name of VPort .PP \fIresult\fR \(em the information of EVS where we add the VPort to .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_removeVPort\fR('u .R rc_err_t \fBevscntl_EVS_removeVPort\fR(rc_instance_t\ *inst, . const\ char\ *vportname, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP remove a VPort from an EVS .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIvportname\fR \(em the name of VPort .PP \fInvpropstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs of properties .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_resetVPort\fR('u .R rc_err_t \fBevscntl_EVS_resetVPort\fR(rc_instance_t\ *inst, . const\ char\ *vportname, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Reset a VPort to idle status\&. Will delete the VPort if the VPort is generated by system\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIvportname\fR \(em the name of VPort .PP \fInvpropstr\fR (\fInullable\fR) \(em a comma\-separated name\-value pairs of properties .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_assignVPort\fR('u .R rc_err_t \fBevscntl_EVS_assignVPort\fR(rc_instance_t\ *inst, . const\ char\ *vnicname, . const\ char\ *hostname, . const\ char\ *vportname, . const\ char\ *vmpropstr, . evscntl_EVSImplInfo_t\ **result, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP assign a VNIC to a VPort with the supplied EVS name, VPort name and Tenant name .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIvnicname\fR \(em the name of VNIC to connect with the VPort .PP \fIhostname\fR \(em the name of the host where the vnic is created .PP \fIvportname\fR (\fInullable\fR) \(em the name of VPort to assign .PP \fIvmpropstr\fR (\fInullable\fR) \(em a name\-value pair of property .PP \fIresult\fR \(em the EVS of the assigned VPort .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS_unAssignVPort\fR('u .R rc_err_t \fBevscntl_EVS_unAssignVPort\fR(rc_instance_t\ *inst, . const\ char\ *vnicname, . const\ char\ *hostname, . const\ char\ *vmpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP unassign a VNIC from a VPort .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIvnicname\fR \(em the name of vnic connected to a VPort .PP \fIhostname\fR \(em the name of host where the vnic is created .PP \fIvmpropstr\fR (\fInullable\fR) \(em a name\-value pair of property .PP \fIerror\fR .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBEVS Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_EVS__rad_get_name\fR('u .R rc_err_t \fBevscntl_EVS__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a EVS object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS__rad_lookup\fR('u .R rc_err_t \fBevscntl_EVS__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a EVS instance\&. .PP 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\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_EVS__rad_list\fR('u .R rc_err_t \fBevscntl_EVS__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available EVS instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SS "interface VPort" .PP .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBVPort Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_VPort_setProperty\fR('u .R rc_err_t \fBevscntl_VPort_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Sets the value of a property on the specified VPort .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR \(em a name\-value pair of property .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_VPort_getProperty\fR('u .R rc_err_t \fBevscntl_VPort_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Get the value for the given property or for all the properties for the specified VPort\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIpropstr\fR (\fInullable\fR) \(em a comma\-separated list of VPort properties to get .PP \fIresult\fR \(em list of VPort property information .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBVPort Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_VPort__rad_get_name\fR('u .R rc_err_t \fBevscntl_VPort__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a VPort object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_VPort__rad_lookup\fR('u .R rc_err_t \fBevscntl_VPort__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a VPort instance\&. .PP 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\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_VPort__rad_list\fR('u .R rc_err_t \fBevscntl_VPort__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available VPort instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SS "interface IPnet" .PP .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBIPnet Methods\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_IPnet_setProperty\fR('u .R rc_err_t \fBevscntl_IPnet_setProperty\fR(rc_instance_t\ *inst, . const\ char\ *nvpropstr, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Sets the value of a property on the specified IPnet .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fInvpropstr\fR \(em a name\-value pair of property .PP \fIerror\fR .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_IPnet_getProperty\fR('u .R rc_err_t \fBevscntl_IPnet_getProperty\fR(rc_instance_t\ *inst, . const\ char\ *propstr, . evscntl_Property_t\ ***result, . int\ *result_cnt, . evscntl_EVSError_t\ **error); .RS .RE .fi .\" blockquote { .RS 4 .PP Get the value for the given property or for all the properties for the specified IPnet\&. .PP \fBArguments:\fR .PP \fIinst\fR \(em RAD instance .PP \fIpropstr\fR (\fInullable\fR) \(em a comma\-separated list of IPnet properties to get .PP \fIresult\fR \(em list of IPnet property information .PP \fIresult_cnt\fR \(em Number of items in result array .PP \fIerror\fR .RE .\" } blockquote .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBIPnet Retrieve\fR .RS 4 .nf .HP \w'rc_err_t\ \fBevscntl_IPnet__rad_get_name\fR('u .R rc_err_t \fBevscntl_IPnet__rad_get_name\fR(adr_name_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Obtain RAD name of a IPnet object\&. .PP \fBArguments:\fR .PP \fIresult\fR \(em RAD name .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_IPnet__rad_lookup\fR('u .R rc_err_t \fBevscntl_IPnet__rad_lookup\fR(rc_conn_t\ *c, . boolean_t\ strict, . rc_instance_t\ **result, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP Lookup a IPnet instance\&. .PP 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\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIresult\fR \(em RAD instance .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .nf .HP \w'rc_err_t\ \fBevscntl_IPnet__rad_list\fR('u .R rc_err_t \fBevscntl_IPnet__rad_list\fR(rc_conn_t\ *c, . boolean_t\ strict, . adr_pattern_scheme_t\ scheme, . adr_name_t\ ***result, . int\ *result_count, . int\ n, . \&.\&.\&.); .RS .RE .fi .\" blockquote { .RS 4 .PP List RAD names of a available IPnet instances\&. .PP Returns an array and array size of matching object names\&. .PP \fBArguments:\fR .PP \fIc\fR \(em RAD connection handle .PP \fIstrict\fR \(em Strict (B_TRUE) or relaxed (B_FALSE) versioning .PP \fIscheme\fR \(em Apply glob (NS_GLOB) or regex (NS_REGEX) matching .PP \fIresult\fR \(em Array of RAD names .PP \fIresult_count\fR \(em Number of names in result array .PP \fIn\fR \(em Number of key\-value pairs provided as variadic arguments .PP \&.\&.\&. \(em Optional key\-value pairs that compose the primary key .RE .\" } blockquote .RE .SH "ENUMERATED TYPES" .PP \fBenum EVSStatus\fR \(em the status of EVS .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_EVSStatus { EEVSS_IDLE = 0, EEVSS_BUSY = 1, } evscntl_EVSStatus_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP EEVSS_IDLE (0) \(em EVS has no VPort in use .PP EEVSS_BUSY (1) \(em EVS has at least one VPort in use .RE .\" } blockquote .PP \fBenum VPortStatus\fR \(em the status of VPort .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_VPortStatus { EVPS_FREE = 0, EVPS_USED = 1, } evscntl_VPortStatus_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP EVPS_FREE (0) \(em VPort is not assigned .PP EVPS_USED (1) \(em VPort is assigned to a vnic .RE .\" } blockquote .PP \fBenum Permission\fR \(em permission of properties .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_Permission { EP_READ = 1, EP_WRITE = 2, EP_READWRITE = 3, } evscntl_Permission_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP EP_READ (1) \(em read permission .PP EP_WRITE (2) \(em write permission .PP EP_READWRITE (3) \(em read and write permission .RE .\" } blockquote .PP \fBenum IPVersion\fR \(em the IP version .\" blockquote { .RS 4 .PP .nf typedef enum evscntl_IPVersion { EIPV_IPV4 = 0, EIPV_IPV6 = 1, } evscntl_IPVersion_t; .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP EIPV_IPV4 (0) \(em IPv4 .PP EIPV_IPV6 (1) \(em IPv6 .RE .\" } blockquote .SH "STRUCTURED TYPES" .PP \fBstruct EVSError\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSError evscntl_EVSError_t; .PP .nf struct evscntl_EVSError { int eevse_err; char *eevse_errmsg; }; .fi .nf .HP \w'void\ \fBevscntl_EVSError_free\fR('u .R void \fBevscntl_EVSError_free\fR(evscntl_EVSError_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIeevse_err\fR .PP \fIeevse_errmsg\fR .RE .\" } blockquote .PP \fBstruct PropertyNV\fR \(em Property name and its value .\" blockquote { .RS 4 .PP typedef struct evscntl_PropertyNV evscntl_PropertyNV_t; .PP .nf struct evscntl_PropertyNV { char *epnv_name; char *epnv_value; }; .fi .nf .HP \w'void\ \fBevscntl_PropertyNV_free\fR('u .R void \fBevscntl_PropertyNV_free\fR(evscntl_PropertyNV_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIepnv_name\fR \(em the name of property .PP \fIepnv_value\fR \(em the current value of property .RE .\" } blockquote .PP \fBstruct Property\fR \(em Detailed information about a property\&. .\" blockquote { .RS 4 .PP typedef struct evscntl_Property evscntl_Property_t; .PP .nf struct evscntl_Property { char *ep_name; evscntl_Permission_t ep_permission; char *ep_current_value; char *ep_effective_value; char *ep_default_value; char *ep_possible_values; }; .fi .nf .HP \w'void\ \fBevscntl_Property_free\fR('u .R void \fBevscntl_Property_free\fR(evscntl_Property_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIep_name\fR \(em the name of property .PP \fIep_permission\fR \(em permission to read/wirte the property .PP \fIep_current_value\fR \(em the current value of property .PP \fIep_effective_value\fR \(em the effective value of property .PP \fIep_default_value\fR \(em the default value of property .PP \fIep_possible_values\fR \(em the comma\-separated list of values the property can have\&. .RE .\" } blockquote .PP \fBstruct IPnetInfo\fR \(em IPnet\&. The networking configuration of an EVS which includes the permissible IPv4 or IPv6 addresses along with the default router\&. .\" blockquote { .RS 4 .PP typedef struct evscntl_IPnetInfo evscntl_IPnetInfo_t; .PP .nf struct evscntl_IPnetInfo { char *eipi_name; char *eipi_uuid; char *eipi_evsname; char *eipi_evsuuid; char *eipi_tenantname; evscntl_PropertyNV_t **eipi_props; int eipi_props_count; char *eipi_start; char *eipi_end; char *eipi_range; evscntl_IPVersion_t eipi_ipvers; }; .fi .nf .HP \w'void\ \fBevscntl_IPnetInfo_free\fR('u .R void \fBevscntl_IPnetInfo_free\fR(evscntl_IPnetInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIeipi_name\fR \(em the name of IPnet .PP \fIeipi_uuid\fR \(em the UUID of IPnet .PP \fIeipi_evsname\fR \(em the name of EVS .PP \fIeipi_evsuuid\fR \(em the UUID of EVS .PP \fIeipi_tenantname\fR \(em the name of the Tenant .PP \fIeipi_props\fR \(em the properties of IPnet .PP \fIeipi_props_count\fR .PP \fIeipi_start\fR \(em start address of ip address range .PP \fIeipi_end\fR \(em end address of ip address range .PP \fIeipi_range\fR \(em a comma\-separated list of available IP addresses that can be assigned to VPort .PP \fIeipi_ipvers\fR \(em the IP version of IPnet .RE .\" } blockquote .PP \fBstruct VPortInfo\fR \(em Virtual Port\&. The configuration parameters of a EVS part which are to be inherited by VNICs connected to the EVS\&. .\" blockquote { .RS 4 .PP typedef struct evscntl_VPortInfo evscntl_VPortInfo_t; .PP .nf struct evscntl_VPortInfo { char *evpi_name; char *evpi_uuid; char *evpi_evsname; char *evpi_evsuuid; char *evpi_tenantname; evscntl_VPortStatus_t evpi_status; char *evpi_vnicname; evscntl_PropertyNV_t **evpi_props; int evpi_props_count; char *evpi_hostname; }; .fi .nf .HP \w'void\ \fBevscntl_VPortInfo_free\fR('u .R void \fBevscntl_VPortInfo_free\fR(evscntl_VPortInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIevpi_name\fR \(em the name of VPort .PP \fIevpi_uuid\fR \(em the UUID of VPort .PP \fIevpi_evsname\fR \(em the name of EVS .PP \fIevpi_evsuuid\fR \(em the UUID of EVS associated with this VPort .PP \fIevpi_tenantname\fR \(em the name of EVS\' Tenant .PP \fIevpi_status\fR \(em the status of VPort .PP \fIevpi_vnicname\fR \(em name of the VNIC associated with the VPort .PP \fIevpi_props\fR \(em the properties of VPort .PP \fIevpi_props_count\fR .PP \fIevpi_hostname\fR \(em the host that has the VNIC associated with the VPort .RE .\" } blockquote .PP \fBstruct EVSInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSInfo evscntl_EVSInfo_t; .PP .nf struct evscntl_EVSInfo { char *eevsi_name; char *eevsi_uuid; char *eevsi_tenantname; evscntl_PropertyNV_t **eevsi_props; int eevsi_props_count; evscntl_EVSStatus_t eevsi_status; evscntl_VPortInfo_t **eevsi_vports; int eevsi_vports_count; evscntl_IPnetInfo_t **eevsi_ipnets; int eevsi_ipnets_count; }; .fi .nf .HP \w'void\ \fBevscntl_EVSInfo_free\fR('u .R void \fBevscntl_EVSInfo_free\fR(evscntl_EVSInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP Elastic Virtual Switch\&. A software implentation of a Layer\-2 switch which facilitates inter\-communication between Virtual Machines connected to it\&. .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIeevsi_name\fR \(em the name of EVS .PP \fIeevsi_uuid\fR \(em the UUID of EVS .PP \fIeevsi_tenantname\fR \(em name of the Tenant that owns the EVS .PP \fIeevsi_props\fR \(em the properties of EVS .PP \fIeevsi_props_count\fR .PP \fIeevsi_status\fR \(em the status of EVS, could be idle or busy .PP \fIeevsi_vports\fR \(em the VPort(s) associated with EVS .PP \fIeevsi_vports_count\fR .PP \fIeevsi_ipnets\fR \(em the IPnet associated with EVS .PP \fIeevsi_ipnets_count\fR .RE .\" } blockquote .PP \fBstruct EVSImplInfo\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_EVSImplInfo evscntl_EVSImplInfo_t; .PP .nf struct evscntl_EVSImplInfo { evscntl_EVSInfo_t *eevsii_evsinfo; char *eevsii_uplink_port; char *eevsii_vxlan_localaddr; char *eevsii_vxlan_mgroup; char *eevsii_vxlan_ipvers; }; .fi .nf .HP \w'void\ \fBevscntl_EVSImplInfo_free\fR('u .R void \fBevscntl_EVSImplInfo_free\fR(evscntl_EVSImplInfo_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP Elastic Virtual Switch\&. A software implentation of a Layer\-2 switch which facilitates inter\-communication between Virtual Machines connected to it\&. Includes the detailed information of Layer\-2 network configuration\&. .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIeevsii_evsinfo\fR \(em general information of EVS .PP \fIeevsii_uplink_port\fR \(em datalink to be used for VLANs or for VXLANs .PP \fIeevsii_vxlan_localaddr\fR \(em IP address on top of which VXLAN datalink should be created .PP \fIeevsii_vxlan_mgroup\fR \(em multicast address that needs to be used while creating VXLAN links .PP \fIeevsii_vxlan_ipvers\fR \(em IP version of the address that must be used for the IP interface that will host VXLAN datalinks .RE .\" } blockquote .PP \fBstruct VPortStat\fR \(em VPort stats .\" blockquote { .RS 4 .PP typedef struct evscntl_VPortStat evscntl_VPortStat_t; .PP .nf struct evscntl_VPortStat { char *evps_vportname; char *evps_evsname; char *evps_tenantname; char *evps_vnicname; char *evps_hostname; unsigned long long evps_rbytes; unsigned long long evps_ipackets; unsigned long long evps_idrops; unsigned long long evps_idropbytes; unsigned long long evps_obytes; unsigned long long evps_opackets; unsigned long long evps_odrops; unsigned long long evps_odropbytes; int evps_errcode; }; .fi .nf .HP \w'void\ \fBevscntl_VPortStat_free\fR('u .R void \fBevscntl_VPortStat_free\fR(evscntl_VPortStat_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIevps_vportname\fR \(em the name of VPort .PP \fIevps_evsname\fR \(em the name of EVS .PP \fIevps_tenantname\fR \(em the name of Tenant that owns the EVS .PP \fIevps_vnicname\fR \(em name of the VNIC associated with the VPort .PP \fIevps_hostname\fR \(em the host that has the VNIC associated with the VPort .PP \fIevps_rbytes\fR \(em number of incoming byte .PP \fIevps_ipackets\fR \(em number of incoming packet .PP \fIevps_idrops\fR \(em number of incoming packet dropped .PP \fIevps_idropbytes\fR \(em number of incoming bytes dropped .PP \fIevps_obytes\fR \(em number of outgoing byte .PP \fIevps_opackets\fR \(em number of outgoing packet .PP \fIevps_odrops\fR \(em number of outgoing packet dropped .PP \fIevps_odropbytes\fR \(em number of outgoing byte dropped .PP \fIevps_errcode\fR \(em EVS err code .RE .\" } blockquote .PP \fBstruct ControllerProperty\fR \(em Specifies a Controller Property .\" blockquote { .RS 4 .PP typedef struct evscntl_ControllerProperty evscntl_ControllerProperty_t; .PP .nf struct evscntl_ControllerProperty { char *ecp_name; evscntl_Permission_t ecp_permission; char *ecp_current_value; char *ecp_default_value; char *ecp_host; }; .fi .nf .HP \w'void\ \fBevscntl_ControllerProperty_free\fR('u .R void \fBevscntl_ControllerProperty_free\fR(evscntl_ControllerProperty_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIecp_name\fR \(em the name of property .PP \fIecp_permission\fR \(em permission to read/wirte the property .PP \fIecp_current_value\fR \(em the value of property .PP \fIecp_default_value\fR \(em the default value of property .PP \fIecp_host\fR \(em the hostname for host\-specific property .RE .\" } blockquote .PP \fBstruct L2TypeIdRange\fR .\" blockquote { .RS 4 .PP typedef struct evscntl_L2TypeIdRange evscntl_L2TypeIdRange_t; .PP .nf struct evscntl_L2TypeIdRange { char *eltir_name; char *eltir_value; char *eltir_host; evscntl_PropertyNV_t **eltir_range; int eltir_range_count; }; .fi .nf .HP \w'void\ \fBevscntl_L2TypeIdRange_free\fR('u .R void \fBevscntl_L2TypeIdRange_free\fR(evscntl_L2TypeIdRange_t\ *in); .RS .RE .fi .RE .\" } blockquote .\" blockquote { .RS 4 .PP Captures the L2 Type (VLAN and VXLAN) ID range \-\- for a host and (uplink\-port or vxlan\-addr) \-\- for rest of the hosts that do not have per\-host setting .RE .\" } blockquote .\" blockquote { .RS 4 .PP \fBFields:\fR .PP \fIeltir_name\fR \(em the name of property: uplink\-port or vxlan\-addr .PP \fIeltir_value\fR \(em the value of property .PP \fIeltir_host\fR \(em the name of the host .PP \fIeltir_range\fR \(em List of range values\&. Currently covers vlan\-range and vxlan\-range\&. .PP \fIeltir_range_count\fR .RE .\" } blockquote .SH "VERSION" .PP 1\&.2 .SH "ATTRIBUTES" .PP See attributes(7) for descriptions of the following attributes: .TS allbox tab(:); cB cB. T{ ATTRIBUTE TYPE T}:T{ ATTRIBUTE VALUE T} .T& l l l l. T{ Availability T}:T{ system/management/rad/module/rad\-evs\-controller T} T{ Interface Stability T}:T{ Private T} .TE .sp 1 .SH "SEE ALSO" .PP \fBrad\fR(8) .SH "NOTES" .IP " 1." 4 Accessing Python documentation for this module: .sp .RS 4 .nf $ pydoc rad.bindings.com.oracle.solaris.rad.evscntl_1 .fi .RE