summaryrefslogtreecommitdiffstats
path: root/usr.bin/iscsictl
diff options
context:
space:
mode:
Diffstat (limited to 'usr.bin/iscsictl')
-rw-r--r--usr.bin/iscsictl/iscsictl.89
-rw-r--r--usr.bin/iscsictl/iscsictl.c20
2 files changed, 25 insertions, 4 deletions
diff --git a/usr.bin/iscsictl/iscsictl.8 b/usr.bin/iscsictl/iscsictl.8
index be3762f..8c1b0ad 100644
--- a/usr.bin/iscsictl/iscsictl.8
+++ b/usr.bin/iscsictl/iscsictl.8
@@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 1, 2015
+.Dd May 6, 2016
.Dt ISCSICTL 8
.Os
.Sh NAME
@@ -39,9 +39,12 @@
.Fl p Ar portal Fl t Ar target
.Op Fl u Ar user Fl s Ar secret
.Op Fl w Ar timeout
+.Op Fl r
.Nm
.Fl A
-.Fl d Ar discovery-host Op Fl u Ar user Fl s Ar secret
+.Fl d Ar discovery-host
+.Op Fl u Ar user Fl s Ar secret
+.Op Fl r
.Nm
.Fl A
.Fl a Op Fl c Ar path
@@ -115,6 +118,8 @@ Session ID, as displayed by
The "nickname" of session defined in the configuration file.
.It Fl p
Target portal - host name or address - for statically defined targets.
+.It Fl r
+Use iSER (iSCSI over RDMA) instead of plain iSCSI over TCP/IP.
.It Fl s
CHAP secret.
.It Fl t
diff --git a/usr.bin/iscsictl/iscsictl.c b/usr.bin/iscsictl/iscsictl.c
index 8bd303d..508e22b 100644
--- a/usr.bin/iscsictl/iscsictl.c
+++ b/usr.bin/iscsictl/iscsictl.c
@@ -683,7 +683,8 @@ checked_strdup(const char *s)
int
main(int argc, char **argv)
{
- int Aflag = 0, Mflag = 0, Rflag = 0, Lflag = 0, aflag = 0, vflag = 0;
+ int Aflag = 0, Mflag = 0, Rflag = 0, Lflag = 0, aflag = 0,
+ rflag = 0, vflag = 0;
const char *conf_path = DEFAULT_CONFIG_PATH;
char *nickname = NULL, *discovery_host = NULL, *portal = NULL,
*target = NULL, *user = NULL, *secret = NULL;
@@ -698,7 +699,7 @@ main(int argc, char **argv)
argc = xo_parse_args(argc, argv);
xo_open_container("iscsictl");
- while ((ch = getopt(argc, argv, "AMRLac:d:i:n:p:t:u:s:vw:")) != -1) {
+ while ((ch = getopt(argc, argv, "AMRLac:d:i:n:p:rt:u:s:vw:")) != -1) {
switch (ch) {
case 'A':
Aflag = 1;
@@ -737,6 +738,9 @@ main(int argc, char **argv)
case 'p':
portal = optarg;
break;
+ case 'r':
+ rflag = 1;
+ break;
case 't':
target = optarg;
break;
@@ -789,6 +793,8 @@ main(int argc, char **argv)
xo_errx(1, "-a and -n and mutually exclusive");
if (discovery_host != NULL)
xo_errx(1, "-a and -d and mutually exclusive");
+ if (rflag != 0)
+ xo_errx(1, "-a and -r and mutually exclusive");
} else if (nickname != NULL) {
if (portal != NULL)
xo_errx(1, "-n and -p and mutually exclusive");
@@ -800,6 +806,8 @@ main(int argc, char **argv)
xo_errx(1, "-n and -s and mutually exclusive");
if (discovery_host != NULL)
xo_errx(1, "-n and -d and mutually exclusive");
+ if (rflag != 0)
+ xo_errx(1, "-n and -r and mutually exclusive");
} else if (discovery_host != NULL) {
if (portal != NULL)
xo_errx(1, "-d and -p and mutually exclusive");
@@ -844,6 +852,8 @@ main(int argc, char **argv)
xo_errx(1, "-n and -s and mutually exclusive");
}
+ if (rflag != 0)
+ xo_errx(1, "-r cannot be used with -M");
if (vflag != 0)
xo_errx(1, "-v cannot be used with -M");
if (timeout != -1)
@@ -875,6 +885,8 @@ main(int argc, char **argv)
if (session_id != -1)
xo_errx(1, "-i cannot be used with -R");
+ if (rflag != 0)
+ xo_errx(1, "-r cannot be used with -R");
if (vflag != 0)
xo_errx(1, "-v cannot be used with -R");
if (timeout != -1)
@@ -895,6 +907,8 @@ main(int argc, char **argv)
xo_errx(1, "-L and -n and mutually exclusive");
if (discovery_host != NULL)
xo_errx(1, "-L and -d and mutually exclusive");
+ if (rflag != 0)
+ xo_errx(1, "-L and -r and mutually exclusive");
if (session_id != -1)
xo_errx(1, "-i cannot be used with -L");
@@ -953,6 +967,8 @@ main(int argc, char **argv)
targ->t_session_type = SESSION_TYPE_NORMAL;
targ->t_address = portal;
}
+ if (rflag != 0)
+ targ->t_protocol = PROTOCOL_ISER;
targ->t_user = user;
targ->t_secret = secret;
OpenPOWER on IntegriCloud