iscsi

note;


scsi_request  :

 

->   error = do_command(fd, ccb, req);
 do_command->if (ioctl(fd, CAMIOCOMMAND, ccb) < 0) {

CAMIOCOMMAND
---passioctl->
------passsendccb->
  --------cam_periph_mapmem
  --------cam_periph_runccb->xpt_action

 

i_fullfeature->

 case 1: // start
  sp->flags |= ISC_FFPHASE;
  error = ic_init(sp);

 

(*(sim->sim_action))(sim, start_ccb); using ic_action


 

318:

如何关联:
ISCSI_SCSI_CMD ----------------------------------------func_code
cmd->opcode (bhp->opcode)
#define ISCSI_NOP_OUT  0x00----_nop_out---ism_out(survives link breakdowns)---ism_start--i_create_session
#define ISCSI_SCSI_CMD  0x01----scsi_encap-----XPT_SCSI_IO<--ic_action--xpt_run_dev_sendq?????????????camisr--interrupt..
#define ISCSI_TASK_CMD  0x02----scsi_tm_encap--XPT_RESET_DEV---ic_action
#define ISCSI_LOGIN_CMD  0x03----loginPhase---loginPhase--doLogin--fsm
#define ISCSI_TEXT_CMD  0x04----doDiscovery---doLogin
#define ISCSI_WRITE_DATA 0x05----ISCSI_SCSI_CMD---iscsi_r2t--data_out_t--r2t--ism_recv
#define ISCSI_LOGOUT_CMD 0x06----startLogout
#define ISCSI_SNACK  0x10


 mpt -- LSI Fusion-MPT SCSI/Fibre Channel driver

 

什么时候用XPT_ENG_EXEC?ccb_h.func_code

 XPT_ENG_EXEC  = 0x21 | XPT_FC_DEV_QUEUED,
    /* HBA execute engine request */

 

for invoking flow :
http://www.leidinger.net/FreeBSD/dox/dev_iscsi/html/db/d78/isc__cam_8c.html#a18f70e00c803f0521939d0abfff9ffac

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值