Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| surajponugoti [2016/05/23 00:33] – SurajPonugoti | surajponugoti [2022/06/10 00:42] (current) – Use link text for code repository KubilayKocak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== Adding SCSI Passthrough to CTL ==== | + | **Adding SCSI Passthrough to CTL** |
| * Student: SurajPonugoti | * Student: SurajPonugoti | ||
| - | * Mentor: | + | * Mentor : EdwardTomaszNapierala |
| - | ==== Project Description | + | **Project Description** |
| - | * This project is about exporting physical SCSI devices | + | * This project is about exporting physical SCSI devices |
| - | ==== Approach to solving the problem | + | **Approach to solving the problem** |
| * In ctl different emulations are represented by T_DIRECT, T_CDROM, | * In ctl different emulations are represented by T_DIRECT, T_CDROM, | ||
| * iSCSI frontend submits the IO using the ctl_queue, and we need to create some kind of backend driver that will take those and submit them to CAM as a peripheral driver. We have to create a CTL based peripheral driver in CAM which accepts CCB(Command control block) from CTL. We have to make some changes to CTL, so that backend gets actualcommands and not just the IO, as other backends do. | * iSCSI frontend submits the IO using the ctl_queue, and we need to create some kind of backend driver that will take those and submit them to CAM as a peripheral driver. We have to create a CTL based peripheral driver in CAM which accepts CCB(Command control block) from CTL. We have to make some changes to CTL, so that backend gets actualcommands and not just the IO, as other backends do. | ||
| Line 12: | Line 12: | ||
| On the client machine side: | On the client machine side: | ||
| - | cd(4)or sa(4)< | + | cd(4)or sa(4) <--> CAM transport layer <--> iSCSI initiator |
| On server machine side: | On server machine side: | ||
| - | CTL_iSCSI_frontend< | + | CTL_iSCSI_frontend <--> ctl.c <--> CTL_passthrough_backend <--> CTL_based_CAM_peripheral driver <--> CAM transport layer <--> Physical drive |
| - | < | + | |
| - | ==== Timeline: | + | **Timeline:** |
| * 23rd May-15th June: Getting familiar with the CTL code, CAM transport layer code, peripheral drivers code, SCSI commands, and going through the document. | * 23rd May-15th June: Getting familiar with the CTL code, CAM transport layer code, peripheral drivers code, SCSI commands, and going through the document. | ||
| * 15th June-26th June: Making changes to ctld and ctldadm. Creating a new CTL backend API that forwards CCB to CTL_based_peripheral driver in CAM. | * 15th June-26th June: Making changes to ctld and ctldadm. Creating a new CTL backend API that forwards CCB to CTL_based_peripheral driver in CAM. | ||
| Line 26: | Line 25: | ||
| * 16th August-21st August: Scrub code and documentation. | * 16th August-21st August: Scrub code and documentation. | ||
| - | **Code Repository** | + | **Code Repository:** |
| + | |||
| + | * [[https:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||