Many open source projects have moved to using SPDX identifiers to specify license information, reducing the amount of boilerplate code in every source file. This patch replaces the bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clause identifier. Almost all of these files share the exact same license text, and this patch only modifies the files that contain the most common license text. There can be slight variations because the third clause contains company names - most say "Intel Corporation", but there are instances for Nvidia, Samsung, Eideticom and even "the copyright holder". Used a bash script to automate replacement of the license text with SPDX identifier which is checked into scripts/spdx.sh. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: <qun.wan@intel.com>
79 lines
2.8 KiB
C
79 lines
2.8 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright (C) 2008-2012 Daisuke Aoyama <aoyama@peach.ne.jp>.
|
|
* Copyright (c) Intel Corporation.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef SPDK_PORTAL_GRP_H
|
|
#define SPDK_PORTAL_GRP_H
|
|
|
|
#include "spdk/conf.h"
|
|
#include "spdk/cpuset.h"
|
|
#include "iscsi/iscsi.h"
|
|
|
|
struct spdk_json_write_ctx;
|
|
|
|
struct spdk_iscsi_portal {
|
|
struct spdk_iscsi_portal_grp *group;
|
|
char host[MAX_PORTAL_ADDR + 1];
|
|
char port[MAX_PORTAL_PORT + 1];
|
|
struct spdk_sock *sock;
|
|
struct spdk_poller *acceptor_poller;
|
|
TAILQ_ENTRY(spdk_iscsi_portal) per_pg_tailq;
|
|
TAILQ_ENTRY(spdk_iscsi_portal) g_tailq;
|
|
};
|
|
|
|
struct spdk_iscsi_portal_grp {
|
|
int ref;
|
|
int tag;
|
|
|
|
/* For login redirection, there are two types of portal groups, public and
|
|
* private portal groups. Public portal groups have their portals returned
|
|
* by a discovery session. Private portal groups do not have their portals
|
|
* returned by a discovery session. A public portal group may optionally
|
|
* specify a redirect portal for non-discovery logins. This redirect portal
|
|
* must be from a private portal group.
|
|
*/
|
|
bool is_private;
|
|
|
|
bool disable_chap;
|
|
bool require_chap;
|
|
bool mutual_chap;
|
|
int32_t chap_group;
|
|
TAILQ_ENTRY(spdk_iscsi_portal_grp) tailq;
|
|
TAILQ_HEAD(, spdk_iscsi_portal) head;
|
|
};
|
|
|
|
/* SPDK iSCSI Portal Group management API */
|
|
|
|
struct spdk_iscsi_portal *iscsi_portal_create(const char *host, const char *port);
|
|
void iscsi_portal_destroy(struct spdk_iscsi_portal *p);
|
|
|
|
struct spdk_iscsi_portal_grp *iscsi_portal_grp_create(int tag, bool is_private);
|
|
void iscsi_portal_grp_add_portal(struct spdk_iscsi_portal_grp *pg,
|
|
struct spdk_iscsi_portal *p);
|
|
struct spdk_iscsi_portal *iscsi_portal_grp_find_portal_by_addr(
|
|
struct spdk_iscsi_portal_grp *pg, const char *host, const char *port);
|
|
|
|
void iscsi_portal_grp_destroy(struct spdk_iscsi_portal_grp *pg);
|
|
void iscsi_portal_grp_release(struct spdk_iscsi_portal_grp *pg);
|
|
int iscsi_parse_portal_grps(void);
|
|
void iscsi_portal_grps_destroy(void);
|
|
int iscsi_portal_grp_register(struct spdk_iscsi_portal_grp *pg);
|
|
struct spdk_iscsi_portal_grp *iscsi_portal_grp_unregister(int tag);
|
|
struct spdk_iscsi_portal_grp *iscsi_portal_grp_find_by_tag(int tag);
|
|
int iscsi_portal_grp_open(struct spdk_iscsi_portal_grp *pg, bool pause);
|
|
void iscsi_portal_grp_resume(struct spdk_iscsi_portal_grp *pg);
|
|
int iscsi_portal_grp_set_chap_params(struct spdk_iscsi_portal_grp *pg,
|
|
bool disable_chap, bool require_chap,
|
|
bool mutual_chap, int32_t chap_group);
|
|
|
|
void iscsi_portal_grp_close_all(void);
|
|
void iscsi_portal_grps_info_json(struct spdk_json_write_ctx *w);
|
|
void iscsi_portal_grps_config_json(struct spdk_json_write_ctx *w);
|
|
|
|
int iscsi_parse_redirect_addr(struct sockaddr_storage *sa,
|
|
const char *host, const char *port);
|
|
|
|
#endif /* SPDK_PORTAL_GRP_H */
|