* Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*
- * Copyright (c) 2012, 2014 Intel Corporation.
+ * Copyright (c) 2014, Intel Corporation.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
*
* lustre/utils/gss/lsupport.h
*/
#include <assert.h>
#include <unistd.h>
+#include <stdbool.h>
#include <stdint.h>
-#include <lnet/types.h>
+#include <libcfs/util/list.h>
+#include <linux/lnet/lnet-types.h>
+#include <linux/lnet/nidstr.h>
#define GSSD_CLI (0)
#define GSSD_SVC (1)
#define LUSTRE_GSS_SVC_MDS 1
#define LUSTRE_GSS_SVC_OSS 2
+#define LUSTRE_GSS_SVC_MASK 0x0000FFFF
+#define LUSTRE_GSS_MECH_MASK 0xFFFF0000
+#define LUSTRE_GSS_MECH_SHIFT 16
+
extern const char * lustre_svc_name[];
+enum lgss_mech {
+ LGSS_MECH_KRB5 = 0,
+ LGSS_MECH_NULL = 1,
+ LGSS_MECH_SK = 2,
+};
+
+enum {
+ /* sec part flags */
+ LGSS_ROOT_CRED_ROOT = 0x01,
+ LGSS_ROOT_CRED_MDT = 0x02,
+ LGSS_ROOT_CRED_OST = 0x04,
+ /* service type flags */
+ LGSS_SVC_NULL = 0x10,
+ LGSS_SVC_AUTH = 0x20,
+ LGSS_SVC_INTG = 0x40,
+ LGSS_SVC_PRIV = 0x80,
+ /* Number of sec part flags */
+ LGSS_ROOT_CRED_NR = 3,
+};
+
struct lgssd_upcall_data {
uint32_t seq;
uint32_t uid;
char obd[64];
};
-#define GSSD_INTERFACE_VERSION (1)
+#define GSSD_INTERFACE_VERSION GSSD_INTERFACE_VERSION_V2
+#define GSSD_INTERFACE_VERSION_V2 (2)
+#define GSSD_INTERFACE_VERSION_V1 (1)
struct lgssd_ioctl_param {
int version; /* in */