87 #if defined(OCS_INCLUDE_SCST)
88 ocs_log_test(ocs,
"Error: vport commands must be sent via SCST using the mgmt cmd in "
89 "/sys/kernel/scst_tgt/targets/ocs_scst\n");
96 ocs_log_test(ocs,
"Error: copy from user failed\n");
101 if (domain == NULL) {
102 ocs_log_test(ocs,
"Error: no domain found\n");
103 ocs_ioctl_free(ocs, req,
sizeof(*req));
108 port_id = UINT32_MAX;
109 #if defined(ENABLE_FABRIC_EMULATION)
110 if (domain->femul_enable) {
111 port_id = ocs_femul_portid_alloc(domain);
120 if (ocs_ioctl_postprocess(ocs, (
void*) arg, req,
sizeof(*req))) {
121 ocs_log_test(ocs,
"Error: copy to user failed\n");
129 ocs_log_info(ocs,
"Call ocs_gen_dump\n");
132 ocs_log_test(ocs,
"OCS_IOCTL_CMD_GEN_DUMP failed: %d\n", rc);
140 ocs_log_test(ocs,
"OCS_XPORT_PORT_ONLINE failed: %d\n", rc);
int32_t ocs_sport_vport_del(ocs_t *ocs, ocs_domain_t *domain, uint64_t wwpn, uint64_t wwnn)
Remove a previously-allocated virtual port.
ocs_domain_t * ocs_domain_get_instance(ocs_t *ocs, uint32_t index)
Return a pointer to the domain, given the instance index.
void ocs_info_get_xport_address(ocs_t *ocs, ocs_ioctl_driver_info_t *info)
Retrieve transport port address.
#define OCS_IOCTL_CMD_VPORT
#define OCS_IOCTL_CMD_LINK_ONLINE
int32_t ocs_device_ioctl_xport(ocs_t *ocs, unsigned int cmd, unsigned long arg)
Perform transport specific ioctl operation.
struct ocs_ioctl_driver_info_t::@2::@3 fc
int32_t ocs_xport_control(ocs_xport_t *xport, ocs_xport_ctrl_e cmd,...)
Perform transport attach function.
int32_t ocs_sport_vport_new(ocs_domain_t *domain, uint64_t wwpn, uint64_t wwnn, uint32_t fc_id, uint8_t ini, uint8_t tgt, void *tgt_data, void *ini_data, uint8_t restore_vport)
Allocate a new virtual SLI port.
#define OCS_IOCTL_CMD_GEN_DUMP
OCS_IOCTL_CMD_VPORT ioctl structure.
DRIVER_INFO ioctl structure.
void * ocs_hal_get_ptr(ocs_hal_t *hal, ocs_hal_property_e prop)
union ocs_ioctl_driver_info_t::@2 hw_addr
int ocs_gen_dump(ocs_t *ocs)