portal_group
portal_group = conf->define_default_portal_group();
portal_group = conf->add_portal_group(name);
return (portal_group != NULL);
portal_group = NULL;
return (portal_group->add_portal(listen, iser ? portal_protocol::ISER :
return (portal_group->add_option(name, value));
return (portal_group->set_discovery_auth_group(name));
return (portal_group->set_dscp(dscp));
return (portal_group->set_filter(str));
portal_group->set_foreign();
return (portal_group->set_offload(offload));
return (portal_group->set_pcp(pcp));
return (portal_group->set_redirection(addr));
portal_group->set_tag(tag);
portal_group = conf->define_default_transport_group();
portal_group = conf->add_transport_group(name);
return (portal_group != NULL);
return portal_group->add_portal(listen,
return portal_group->add_portal(listen, portal_protocol::NVME_TCP);
static struct portal_group *portal_group = NULL;
portal_group = NULL;
struct portal_group *pg, auth_group_sp ag) :
struct portal_group *pg, uint32_t ctl_port) :
conf::add_port(struct target *target, struct portal_group *pg, auth_group_sp ag)
conf::add_port(struct target *target, struct portal_group *pg,
portal_group::find_port(std::string_view target) const
struct portal_group *pg = default_portal_group();
struct portal_group *pg = portal_group();
struct portal_group &pg = *kv.second;
struct portal_group &pg = *kv.second;
struct portal_group &newpg = *kv.second;
struct portal_group &newpg = *kv.second;
struct portal_group *pg;
pg = portal->portal_group();
struct portal_group *pg;
portal_group::portal_group(struct conf *conf, std::string_view name) :
struct portal_group *
struct portal_group *
struct portal_group *
struct portal_group *
struct portal_group *
struct portal_group *
portal_group::is_dummy() const
portal_group::add_port(struct portal_group_port *port)
portal_group::remove_port(struct portal_group_port *port)
portal_group::options() const
portal_group::add_option(const char *name, const char *value)
portal_group::set_discovery_auth_group(const char *ag_name)
portal_group::set_dscp(u_int dscp)
portal_group::set_foreign()
portal_group::set_offload(const char *offload)
portal_group::set_pcp(u_int pcp)
portal_group::set_redirection(const char *addr)
portal_group::set_tag(uint16_t tag)
portal_group::verify(struct conf *conf)
portal_group::reuse_socket(struct portal &newp)
portal_group::open_sockets(struct conf &oldconf)
portal_group::close_sockets()
const struct portal_group *pg;
pg = port->portal_group();
portal(struct portal_group *pg, std::string_view listen,
struct portal_group *portal_group() const { return p_portal_group; }
struct portal_group *p_portal_group;
portal_group(struct conf *conf, std::string_view name);
virtual ~portal_group() = default;
using portal_group_up = std::unique_ptr<portal_group>;
virtual struct portal_group *portal_group() const { return nullptr; }
portal_group_port(struct target *target, struct portal_group *pg,
portal_group_port(struct target *target, struct portal_group *pg,
struct portal_group *portal_group() const override
struct portal_group *p_portal_group;
virtual struct portal_group *default_portal_group() = 0;
struct portal_group *add_portal_group(const char *name);
struct portal_group *define_default_portal_group();
struct portal_group *find_portal_group(std::string_view name);
struct portal_group *add_transport_group(const char *name);
struct portal_group *define_default_transport_group();
struct portal_group *find_transport_group(std::string_view name);
bool add_port(struct target *target, struct portal_group *pg,
bool add_port(struct target *target, struct portal_group *pg,
const struct portal_group *pg = port->portal_group();
const struct portal_group *pg;
pg = conn_portal->portal_group();
const struct portal_group *pg;
pg = conn_portal->portal_group();
struct portal_group *default_portal_group() override;
struct portal_group *pg = p_portal_group;
struct portal_group *pg;
struct portal_group *
struct portal_group *pg = conn_portal->portal_group();
struct conf *conf = portal_group()->conf();
iscsi_portal(struct portal_group *pg, const char *listen,
struct iscsi_portal_group final : public portal_group {
portal_group(conf, name) {}
iscsi_port(struct target *target, struct portal_group *pg,
iscsi_port(struct target *target, struct portal_group *pg,
struct portal_group *pg = conf->find_portal_group(pg_name);
struct portal_group *pg = conf->find_transport_group(tg_name);
const struct portal_group *pg;
pg = conn_portal->portal_group();
assert(!conn_portal->portal_group()->is_redirecting());
struct portal_group *pg = conn_portal->portal_group();
struct portal_group *pg;
pg = conn_portal->portal_group();
freebsd::nvlist_up nvl = portal_group()->options();
struct portal_group *pg = p_portal_group;
nvmf_io_portal(struct portal_group *pg, const char *listen,
struct portal_group *pg;
struct portal_group *
struct nvmf_transport_group final : public portal_group {
portal_group(conf, name) {}
nvmf_port(struct target *target, struct portal_group *pg,
nvmf_port(struct target *target, struct portal_group *pg,
struct portal_group *default_portal_group() override;
nvmf_portal(struct portal_group *pg, const char *listen,
nvmf_discovery_portal(struct portal_group *pg, const char *listen,
entry->portid = htole16(portal->portal_group()->tag());
build_discovery_log_page(const struct portal_group *pg, int fd,
discovery_log(const struct portal_group *pg);
discovery_log discovery_log = build_discovery_log_page(portal_group(),
discovery_log::discovery_log(const struct portal_group *pg) :
discovery_controller_filtered(const struct portal_group *pg,
portal_group
portal_group: PORTAL_GROUP portal_group_name
auto portal_group = obj["name"];
if (!portal_group || portal_group.type() != UCL_STRING) {
portal_group.string_value().c_str(),
return (target_add_portal_group(portal_group.string_value().c_str(),
auto portal_group = obj["name"];
if (!portal_group || portal_group.type() != UCL_STRING) {
portal_group.string_value().c_str(),
return target_add_portal_group(portal_group.string_value().c_str(),