summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ctld/ctld.h
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2014-11-29 15:32:15 +0000
committertrasz <trasz@FreeBSD.org>2014-11-29 15:32:15 +0000
commitaa126c68f3102918dd0447c491a82c1d42d4d06e (patch)
tree51acd97f81d9f3ced06a2f4663bed23fbe6767b9 /usr.sbin/ctld/ctld.h
parent0475e04762f5dd444faf64924251cd3466d84c98 (diff)
downloadFreeBSD-src-aa126c68f3102918dd0447c491a82c1d42d4d06e.zip
FreeBSD-src-aa126c68f3102918dd0447c491a82c1d42d4d06e.tar.gz
MFC r273813:
Add discovery-filter. This makes it possible to restrict which targets are returned during discovery based on initiator portal, name, and CHAP credentials.
Diffstat (limited to 'usr.sbin/ctld/ctld.h')
-rw-r--r--usr.sbin/ctld/ctld.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h
index 1c7d4cb..9430168 100644
--- a/usr.sbin/ctld/ctld.h
+++ b/usr.sbin/ctld/ctld.h
@@ -103,11 +103,18 @@ struct portal {
int p_socket;
};
+#define PG_FILTER_UNKNOWN 0
+#define PG_FILTER_NONE 1
+#define PG_FILTER_PORTAL 2
+#define PG_FILTER_PORTAL_NAME 3
+#define PG_FILTER_PORTAL_NAME_AUTH 4
+
struct portal_group {
TAILQ_ENTRY(portal_group) pg_next;
struct conf *pg_conf;
char *pg_name;
struct auth_group *pg_discovery_auth_group;
+ int pg_discovery_filter;
bool pg_unassigned;
TAILQ_HEAD(, portal) pg_portals;
@@ -200,6 +207,8 @@ struct connection {
int conn_immediate_data;
int conn_header_digest;
int conn_data_digest;
+ const char *conn_user;
+ struct chap *conn_chap;
};
struct pdu {
@@ -290,6 +299,8 @@ struct portal_group *portal_group_find(const struct conf *conf,
const char *name);
int portal_group_add_listen(struct portal_group *pg,
const char *listen, bool iser);
+int portal_group_set_filter_str(struct portal_group *pg,
+ const char *filter);
int isns_new(struct conf *conf, const char *addr);
void isns_delete(struct isns *is);
OpenPOWER on IntegriCloud