Lines Matching refs:vport
50 The FC transport is now recognizing a new object - a vport. A vport is
53 be specified for the vport, with FCP_Initiator being the primary role
57 to create vports. The transport will create the vport object within the
60 on the vport, resulting in a unique <H,C,T,L> namespace for the vport.
70 up to an administrative entity controlling the vport. For example,
72 utility would be responsible for creating wwpn/wwnn's for the vport,
82 transport creates the vport object and places it under the scsi_host
84 a new scsi_host for the vport and link its object under the vport.
87 allow the parent of the vport to be something other than the scsi_host.
89 device tree. If the vport's parent is not the physical port's scsi_host,
90 a symbolic link to the vport object will be placed in the physical
98 and then the vport is created on the Physical Port:
99 /sys/devices/.../host17/vport-17:0-0
100 and the vport's Scsi_Host is then created:
101 /sys/devices/.../host17/vport-17:0-0/host18
103 /sys/devices/.../host17/vport-17:0-0/host18/rport-18:0-0/target18:0:0/18:0:0:0:
108 /sys/class/scsi_host/host18 vport's scsi_host
111 /sys/class/fc_host/host18 vport's fc_host
113 /sys/class/fc_vports/vport-17:0-0 the vport's fc_vport
116 /sys/class/fc_remote_ports/rport-18:0-0 rport on the vport
125 The WWNN of the vport
128 The WWPN of the vport
131 Indicates the FC4 roles enabled on the vport.
135 is registered with the switch to identify the vport. For example,
141 When written with a "1", will tear down the vport.
144 When written with a "1", will transition the vport to a disabled.
145 state. The vport will still be instantiated with the Linux kernel,
147 When written with a "0", will enable the vport.
150 Indicates the previous state of the vport. See the section below on
154 Indicates the state of the vport. See the section below on
173 A "simple" create interface to instantiate a vport on an fc_host.
175 then instantiates the vport object and calls the LLDD to create the
176 vport with the role of FCP_Initiator. Each WWN is specified as 16
180 A "simple" delete interface to teardown a vport. A "<WWPN>:<WWNN>"
182 vport on the fc_host with the same WWNs and tear it down. Each WWN
195 - Instantiation of the vport on the FC link via ELS traffic, etc.
200 Once a vport has been instantiated with the kernel/LLDD, a vport state
204 An temporary state, typically set only while the vport is being
208 The vport has been successfully been created on the FC link.
212 The vport instantiated, but "disabled". The vport is not instantiated
217 The vport is not operational as the physical link is not operational.
220 The vport is in the process of instantiating on the FC link.
222 to create the vport. This state will persist until the vport is
228 The vport is not operational. One of the following conditions were
235 The vport is not operational. The Fabric failed FDISC with a status
240 The vport is not operational. The Fabric has LOGO'd the N_Port_ID
241 associated with the vport.
244 The vport is not operational. The Fabric failed FDISC with a status
248 The vport is not operational. This is a catchall for all other
305 int vport_create(struct fc_vport *vport, bool disable)
308 vport: Is the newly allocated vport object
309 disable: If "true", the vport is to be created in a disabled stated.
310 If "false", the vport is to be enabled upon creation.
312 When a request is made to create a new vport (via sgio/netlink, or the
314 can support another vport (e.g. max_npiv_vports > npiv_vports_inuse).
316 will increment the vport count, create the vport object, and then call the
317 LLDD's vport_create() function with the newly allocated vport object.
319 As mentioned above, vport creation is divided into two parts:
324 - Instantiation of the vport on the FC link via ELS traffic, etc.
330 vport creation (data structure build up) before returning. We do not
333 means the vport is in an inoperable state until the link comes up.
334 This is consistent with the link bouncing post vport creation.
335 - The vport may be created in a disabled state.
336 - This is consistent with a model where: the vport equates to a
345 - If the driver or adapter cannot support another vport, whether
355 - Call scsi_host_alloc() to allocate a scsi_host for the vport.
356 - Call scsi_add_host(new_shost, &vport->dev) to start the scsi_host
357 and bind it as a child of the vport device.
359 - Kick of further vport state transitions based on the disable flag and
378 int vport_disable(struct fc_vport *vport, bool disable)
381 vport: Is vport to be enabled or disabled
382 disable: If "true", the vport is to be disabled.
383 If "false", the vport is to be enabled.
385 When a request is made to change the disabled state on a vport, the
386 transport will validate the request against the existing vport state.
387 If the request is to disable and the vport is already disabled, the
389 vport is not in a disabled state, the request will fail. If the request
390 is valid for the vport state, the transport will call the LLDD to
391 change the vport's state.
393 Within the LLDD, if a vport is disabled, it remains instantiated with
396 The vport will remain in this state until it is deleted or re-enabled.
397 When enabling a vport, the LLDD reinstantiates the vport on the FC
406 int vport_delete(struct fc_vport *vport)
409 vport: Is vport to delete
411 When a request is made to delete a vport (via sgio/netlink, or via the
413 the LLDD to terminate the vport on the FC link, and teardown all other
415 the transport will teardown the vport objects and complete the vport
416 removal. If the LLDD delete request fails, the vport object will remain,
420 be followed. E.g. If the vport has a FCP Initiator role, the LLDD
428 must be set on all vport-based fc_hosts. Normally, on a physical port,
431 a vport, it makes more sense to report the FC mechanism used to create
432 the vport.
446 fc_vport_create - create a vport
447 fc_vport_terminate - detach and remove a vport
452 * fc_vport_create - Admin App or LLDD requests creation of a vport
464 * fc_vport_terminate - Admin App or LLDD requests termination of a vport
465 * @vport: fc_vport to be terminated
468 * the vport from the shost and object tree.
474 fc_vport_terminate(struct fc_vport *vport)