dp.ids.port_name = ids->port_name;
                                dp.ids.node_name = ids->node_name;
                                dp.ids.roles = ids->roles;
-                               rport = fc_rport_rogue_create(&dp);
+                               rport = lport->tt.rport_create(&dp);
                        }
                        if (!rport)
                                error = -ENOMEM;
 
                if ((dp.ids.port_id != fc_host_port_id(lport->host)) &&
                    (dp.ids.port_name != lport->wwpn)) {
-                       rport = fc_rport_rogue_create(&dp);
+                       rport = lport->tt.rport_create(&dp);
                        if (rport) {
                                rdata = rport->dd_data;
                                rdata->ops = &fc_disc_rport_ops;
        if (rport)
                fc_disc_del_target(disc, rport);
 
-       new_rport = fc_rport_rogue_create(dp);
+       new_rport = lport->tt.rport_create(dp);
        if (new_rport) {
                rdata = new_rport->dd_data;
                rdata->ops = &fc_disc_rport_ops;
 
                lport->ptp_rp = NULL;
        }
 
-       lport->ptp_rp = fc_rport_rogue_create(&dp);
+       lport->ptp_rp = lport->tt.rport_create(&dp);
 
        lport->tt.rport_login(lport->ptp_rp);
 
 
        fc_lport_state_enter(lport, LPORT_ST_DNS);
 
-       rport = fc_rport_rogue_create(&dp);
+       rport = lport->tt.rport_create(&dp);
        if (!rport)
                goto err;
 
 
 
 int fc_rport_init(struct fc_lport *lport)
 {
+       if (!lport->tt.rport_create)
+               lport->tt.rport_create = fc_rport_rogue_create;
+
        if (!lport->tt.rport_login)
                lport->tt.rport_login = fc_rport_login;
 
 
         * Remote Port interfaces
         */
 
+       /*
+        * Create a remote port
+        */
+       struct fc_rport *(*rport_create)(struct fc_disc_port *);
+
        /*
         * Initiates the RP state machine. It is called from the LP module.
         * This function will issue the following commands to the N_Port