.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "FC_REMOTE_PORT_ADD" "9" "09 October 2005" "" ""
.SH NAME
fc_remote_port_add \- notifies the fc transport of the existence
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
struct fc_rport * fc_remote_port_add (struct Scsi_Host * \fIshost\fB, int \fIchannel\fB, struct fc_rport_identifiers * \fIids\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIshost\fB\fR
scsi host the remote port is connected to.
.TP
\fB\fIchannel\fB\fR
Channel on shost port connected to.
.TP
\fB\fIids\fB\fR
The world wide names, fc address, and FC4 port
roles for the remote port.
.SH "DESCRIPTION"
.PP
The LLDD calls this routine to notify the transport of the existence
of a remote port. The LLDD provides the unique identifiers (wwpn,wwn)
of the port, it's FC address (port_id), and the FC4 roles that are
active for the port.
.PP
For ports that are FCP targets (aka scsi targets), the FC transport
maintains consistent target id bindings on behalf of the LLDD.
A consistent target id binding is an assignment of a target id to
a remote port identifier, which persists while the scsi host is
attached. The remote port can disappear, then later reappear, and
it's target id assignment remains the same. This allows for shifts
in FC addressing (if binding by wwpn or wwnn) with no apparent
changes to the scsi subsystem which is based on scsi host number and
target id values. Bindings are only valid during the attachment of
the scsi host. If the host detaches, then later re-attaches, target
id bindings may change.
.PP
This routine is responsible for returning a remote port structure.
The routine will search the list of remote ports it maintains
internally on behalf of consistent target id mappings. If found, the
remote port structure will be reused. Otherwise, a new remote port
structure will be allocated.
.PP
Whenever a remote port is allocated, a new fc_remote_port class
device is created.
.PP
Should not be called from interrupt context.
.SH "DESCRIPTION"
.PP
The LLDD calls this routine to notify the transport of the existence
of a remote port. The LLDD provides the unique identifiers (wwpn,wwn)
of the port, it's FC address (port_id), and the FC4 roles that are
active for the port.
.PP
For ports that are FCP targets (aka scsi targets), the FC transport
maintains consistent target id bindings on behalf of the LLDD.
A consistent target id binding is an assignment of a target id to
a remote port identifier, which persists while the scsi host is
attached. The remote port can disappear, then later reappear, and
it's target id assignment remains the same. This allows for shifts
in FC addressing (if binding by wwpn or wwnn) with no apparent
changes to the scsi subsystem which is based on scsi host number and
target id values. Bindings are only valid during the attachment of
the scsi host. If the host detaches, then later re-attaches, target
id bindings may change.
.PP
This routine is responsible for returning a remote port structure.
The routine will search the list of remote ports it maintains
internally on behalf of consistent target id mappings. If found, the
remote port structure will be reused. Otherwise, a new remote port
structure will be allocated.
.PP
Whenever a remote port is allocated, a new fc_remote_port class
device is created.
.PP
Should not be called from interrupt context.
.SH "NOTES"
.PP
This routine assumes no locks are held on entry.