draft-ietf-nfsv4-federated-fs-protocol-05.txt   draft-ietf-nfsv4-federated-fs-protocol-06.txt 
NFSv4 Working Group J. Lentini NFSv4 Working Group J. Lentini
Internet-Draft C. Everhart Internet-Draft C. Everhart
Intended status: Standards Track NetApp Intended status: Standards Track NetApp
Expires: July 25, 2010 D. Ellard Expires: January 11, 2011 D. Ellard
BBN Technologies Raytheon BBN Technologies
R. Tewari R. Tewari
M. Naik M. Naik
IBM Almaden IBM Almaden
January 21, 2010 July 10, 2010
NSDB Protocol for Federated Filesystems NSDB Protocol for Federated Filesystems
draft-ietf-nfsv4-federated-fs-protocol-05 draft-ietf-nfsv4-federated-fs-protocol-06
Abstract Abstract
This document describes a filesystem federation protocol that enables This document describes a filesystem federation protocol that enables
file access and namespace traversal across collections of file access and namespace traversal across collections of
independently administered fileservers. The protocol specifies a set independently administered fileservers. The protocol specifies a set
of interfaces by which fileservers with different administrators can of interfaces by which fileservers with different administrators can
form a fileserver federation that provides a namespace composed of form a fileserver federation that provides a namespace composed of
the filesystems physically hosted on and exported by the constituent the filesystems physically hosted on and exported by the constituent
fileservers. fileservers.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at This Internet-Draft will expire on January 11, 2011.
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 25, 2010.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
skipping to change at page 2, line 23 skipping to change at page 2, line 15
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the BSD License. described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this 10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
skipping to change at page 3, line 29 skipping to change at page 3, line 29
2.8. Fileservers . . . . . . . . . . . . . . . . . . . . . . . 10 2.8. Fileservers . . . . . . . . . . . . . . . . . . . . . . . 10
2.9. File-access Clients . . . . . . . . . . . . . . . . . . . 10 2.9. File-access Clients . . . . . . . . . . . . . . . . . . . 10
3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1. Creating a Fileset and its FSL(s) . . . . . . . . . . . . 11 3.1. Creating a Fileset and its FSL(s) . . . . . . . . . . . . 11
3.1.1. Creating a Fileset and an FSN . . . . . . . . . . . . 11 3.1.1. Creating a Fileset and an FSN . . . . . . . . . . . . 11
3.1.2. Adding a Replica of a Fileset . . . . . . . . . . . . 12 3.1.2. Adding a Replica of a Fileset . . . . . . . . . . . . 12
3.2. Junction Resolution . . . . . . . . . . . . . . . . . . . 12 3.2. Junction Resolution . . . . . . . . . . . . . . . . . . . 12
3.3. Example Use Cases for Fileset Annotations . . . . . . . . 13 3.3. Example Use Cases for Fileset Annotations . . . . . . . . 13
4. NSDB Configuration and Schema . . . . . . . . . . . . . . . . 13 4. NSDB Configuration and Schema . . . . . . . . . . . . . . . . 13
4.1. LDAP Configuration . . . . . . . . . . . . . . . . . . . . 14 4.1. LDAP Configuration . . . . . . . . . . . . . . . . . . . . 14
4.2. LDAP Schema . . . . . . . . . . . . . . . . . . . . . . . 14 4.2. LDAP Schema . . . . . . . . . . . . . . . . . . . . . . . 15
4.2.1. LDAP Attributes . . . . . . . . . . . . . . . . . . . 15 4.2.1. LDAP Attributes . . . . . . . . . . . . . . . . . . . 16
4.2.2. LDAP Objects . . . . . . . . . . . . . . . . . . . . . 32 4.2.2. LDAP Objects . . . . . . . . . . . . . . . . . . . . . 34
5. NSDB Operations . . . . . . . . . . . . . . . . . . . . . . . 35 5. NSDB Operations . . . . . . . . . . . . . . . . . . . . . . . 37
5.1. NSDB Operations for Administrators . . . . . . . . . . . . 36 5.1. NSDB Operations for Administrators . . . . . . . . . . . . 38
5.1.1. Create an FSN . . . . . . . . . . . . . . . . . . . . 37 5.1.1. Create an FSN . . . . . . . . . . . . . . . . . . . . 39
5.1.2. Delete an FSN . . . . . . . . . . . . . . . . . . . . 38 5.1.2. Delete an FSN . . . . . . . . . . . . . . . . . . . . 40
5.1.3. Create an FSL . . . . . . . . . . . . . . . . . . . . 38 5.1.3. Create an FSL . . . . . . . . . . . . . . . . . . . . 40
5.1.4. Delete an FSL . . . . . . . . . . . . . . . . . . . . 41 5.1.4. Delete an FSL . . . . . . . . . . . . . . . . . . . . 43
5.1.5. Update an FSL . . . . . . . . . . . . . . . . . . . . 41 5.1.5. Update an FSL . . . . . . . . . . . . . . . . . . . . 43
5.2. NSDB Operations for Fileservers . . . . . . . . . . . . . 42 5.2. NSDB Operations for Fileservers . . . . . . . . . . . . . 44
5.2.1. Lookup FSLs for an FSN . . . . . . . . . . . . . . . . 42 5.2.1. NSDB Container Entry (NCE) Enumeration . . . . . . . . 44
6. Security Considerations . . . . . . . . . . . . . . . . . . . 43 5.2.2. Lookup FSLs for an FSN . . . . . . . . . . . . . . . . 44
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 44 6. Security Considerations . . . . . . . . . . . . . . . . . . . 46
7.1. LDAP Descriptor Registration . . . . . . . . . . . . . . . 44 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46
8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 7.1. LDAP Descriptor Registration . . . . . . . . . . . . . . . 47
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 50 8. Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.1. Normative References . . . . . . . . . . . . . . . . . . . 50 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 52
9.2. Informative References . . . . . . . . . . . . . . . . . . 51 9.1. Normative References . . . . . . . . . . . . . . . . . . . 52
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 52 9.2. Informative References . . . . . . . . . . . . . . . . . . 54
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 52 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 55
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 55
1. Introduction 1. Introduction
A federated filesystem enables file access and namespace traversal in A federated filesystem enables file access and namespace traversal in
a uniform, secure and consistent manner across multiple independent a uniform, secure and consistent manner across multiple independent
fileservers within an enterprise or across multiple enterprises. fileservers within an enterprise or across multiple enterprises.
This document specifies a set of protocols that allow fileservers, This document specifies a set of protocols that allow fileservers,
possibly from different vendors and with different administrators, to possibly from different vendors and with different administrators, to
cooperatively form a federation containing one or more federated cooperatively form a federation containing one or more federated
skipping to change at page 4, line 42 skipping to change at page 4, line 42
shared namespace out of the exported filesystems. However, relying shared namespace out of the exported filesystems. However, relying
on vendor-specific proprietary tools does not work in larger on vendor-specific proprietary tools does not work in larger
enterprises or when collaborating across enterprises because the enterprises or when collaborating across enterprises because the
fileservers are likely to be from multiple vendors or use different fileservers are likely to be from multiple vendors or use different
software versions, each with their own namespace protocols, with no software versions, each with their own namespace protocols, with no
common mechanism to manage the namespace or exchange namespace common mechanism to manage the namespace or exchange namespace
information. information.
The federated filesystem protocols in this document define how to The federated filesystem protocols in this document define how to
construct a namespace accessible by an NFSv4 [RFC3530] or NFSv4.1 construct a namespace accessible by an NFSv4 [RFC3530] or NFSv4.1
[NFSv4.1] client and have been designed to accommodate other file [RFC5661] client and have been designed to accommodate other file
access protocols in the future. access protocols in the future.
The requirements for federated filesystems are described in The requirements for federated filesystems are described in
[FEDFS-REQTS]. A protocol for administering a fileserver's namespace [RFC5716]. A protocol for administering a fileserver's namespace is
is described in [FEDFS-ADMIN]. The mechanism for discovering the described in [FEDFS-ADMIN]. The mechanism for discovering the root
root of an NFSv4 namespace is described in [FEDFS-DNS-SRV]. In the of an NFSv4 namespace is described in [FEDFS-DNS-SRV]. In the rest
rest of the document, the term fileserver denotes a fileserver that of the document, the term fileserver denotes a fileserver that is
is part of a federation. part of a federation.
2. Overview of Features and Concepts 2. Overview of Features and Concepts
2.1. Namespace 2.1. Namespace
The goal of a unified namespace is to make all managed data available The goal of a unified namespace is to make all managed data available
to all clients via the same path in a common filesystem-like to all clients via the same path in a common filesystem-like
namespace. This should be achieved with minimal or zero client namespace. This should be achieved with minimal or zero client
configuration. In particular, updates to the common namespace should configuration. In particular, updates to the common namespace should
not require configuration changes at the client. Filesets, which are not require configuration changes at the client. Filesets, which are
skipping to change at page 5, line 46 skipping to change at page 5, line 46
A fileset is uniquely represented by its fileset name (FSN). An FSN A fileset is uniquely represented by its fileset name (FSN). An FSN
is considered unique across the federation. After an FSN is created, is considered unique across the federation. After an FSN is created,
it is associated with one or more fileset locations (FSLs) on a it is associated with one or more fileset locations (FSLs) on a
fileserver. fileserver.
The attributes of an FSN are: The attributes of an FSN are:
NsdbName: the network location of the NSDB node that contains NsdbName: the network location of the NSDB node that contains
authoritative information for this FSN. authoritative information for this FSN.
NsdbContainerEntry: the location within the NSDB below which
federation objects are stored.
FsnUuid: a 128-bit UUID (universally unique identifier), FsnUuid: a 128-bit UUID (universally unique identifier),
conforming to [RFC4122], that is used to uniquely identify an conforming to [RFC4122], that is used to uniquely identify an
FSN. FSN.
2.4. Fileset Location (FSL) 2.4. Fileset Location (FSL)
An FSL describes the location where the fileset data resides. An FSL An FSL describes the location where the fileset data resides. An FSL
contains generic and type specific information which together contains generic and type specific information which together
describe how to access the fileset. An FSL's type indicates which describe how to access the fileset. An FSL's type indicates which
protocol(s) may be used to access its data. An FSL's attributes can protocol(s) may be used to access its data. An FSL's attributes can
skipping to change at page 6, line 24 skipping to change at page 6, line 24
All FSLs have the following attributes: All FSLs have the following attributes:
FslUuid: a 128-bit UUID, conforming to [RFC4122], that is used to FslUuid: a 128-bit UUID, conforming to [RFC4122], that is used to
uniquely identify an FSL. uniquely identify an FSL.
FsnUuid: the 128-bit UUID of the FSL's FSN. FsnUuid: the 128-bit UUID of the FSL's FSN.
NsdbName: the network location of the NSDB node that contains NsdbName: the network location of the NSDB node that contains
authoritative information for this FSL. authoritative information for this FSL.
NsdbContainerEntry: the location within the NSDB below which
federation objects are stored.
FslHost: the network location of the host fileserver storing the FslHost: the network location of the host fileserver storing the
physical data physical data
FslTTL: the time in seconds during which the FSL may be cached FslTTL: the time in seconds during which the FSL may be cached
Annotations: optional name/value pairs that can be interpreted by Annotations: optional name/value pairs that can be interpreted by
a fileserver. The semantics of this field are not defined by a fileserver. The semantics of this field are not defined by
this document. These tuples are intended to be used by higher- this document. These tuples are intended to be used by higher-
level protocols. level protocols.
Descriptions: optional text descriptions. The semantics of this Descriptions: optional text descriptions. The semantics of this
field are not defined by this document. field are not defined by this document.
This document defines an FSL subtype for NFS. An NFS FSL contains This document defines an FSL subtype for NFS. An NFS FSL contains
information suitable for use in an NFSv4 fs_locations [RFC3530] or information suitable for use in an NFSv4 fs_locations [RFC3530] or
NFSv4.1 fs_locations_info attribute [NFSv4.1]. NFSv4.1 fs_locations_info attribute [RFC5661].
A fileset MAY be accessible by protocols other than NFS. For each A fileset MAY be accessible by protocols other than NFS. For each
such protocol, a corresponding FSL subtype SHOULD be defined. The such protocol, a corresponding FSL subtype SHOULD be defined. The
contents and format of such FSL subtypes are not defined in this contents and format of such FSL subtypes are not defined in this
document. document.
2.4.1. Mutual Consistency across Fileset Locations 2.4.1. Mutual Consistency across Fileset Locations
All of the FSLs that have the same FSN (and thereby reference the All of the FSLs that have the same FSN (and thereby reference the
same fileset) are equivalent from the point of view of client access; same fileset) are equivalent from the point of view of client access;
skipping to change at page 10, line 33 skipping to change at page 10, line 30
fileset can be mounted under another fileset. fileset can be mounted under another fileset.
2.7. Unified Namespace and the Root Fileset 2.7. Unified Namespace and the Root Fileset
The root fileset, when defined, is the top-level fileset of the The root fileset, when defined, is the top-level fileset of the
federation-wide namespace. The root of the unified namespace is the federation-wide namespace. The root of the unified namespace is the
top level directory of this fileset. A set of designated fileservers top level directory of this fileset. A set of designated fileservers
in the federation can export the root fileset to render the in the federation can export the root fileset to render the
federation-wide unified namespace. When a client mounts the root federation-wide unified namespace. When a client mounts the root
fileset from any of these designated fileservers it can view a common fileset from any of these designated fileservers it can view a common
federation-wide namespace. The properties and schema definition of federation-wide namespace. The root fileset could be implemented
the root fileset and the protocol details that describe how to either as an exported NFS file system or as data in the NSDB itself.
configure and replicate the root fileset are not defined in this The properties and schema definition of an NSDB-based root fileset
document. and the protocol details that describe how to configure and replicate
the root fileset are not defined in this document.
2.8. Fileservers 2.8. Fileservers
Fileservers are servers that store the physical fileset data or refer Fileservers are servers that store the physical fileset data or refer
the client to other fileservers. A fileserver can be implemented in the client to other fileservers. A fileserver can be implemented in
a number of different ways, including a single system, a cluster of a number of different ways, including a single system, a cluster of
systems, or some other configuration. A fileserver provides access systems, or some other configuration. A fileserver provides access
to a federated filesystem via NFSv4, NFSv4.1, or some other protocol. to a federated filesystem via NFSv4, NFSv4.1, or some other protocol.
2.9. File-access Clients 2.9. File-access Clients
skipping to change at page 14, line 9 skipping to change at page 14, line 9
This section describes how an NSDB is constructed using an LDAP This section describes how an NSDB is constructed using an LDAP
Version 3 [RFC4510] Directory. Section 4.1 describes the basic Version 3 [RFC4510] Directory. Section 4.1 describes the basic
properties of the LDAP configuration that MUST be used in order to properties of the LDAP configuration that MUST be used in order to
ensure compatibility between different implementations. Section 4.2 ensure compatibility between different implementations. Section 4.2
defines the new LDAP attribute types, the new object types, and defines the new LDAP attribute types, the new object types, and
specifies how the distinguished name (DN) of each object instance specifies how the distinguished name (DN) of each object instance
MUST be constructed. MUST be constructed.
4.1. LDAP Configuration 4.1. LDAP Configuration
An NSDB's LDAP Directory Information Tree (DIT) MUST contain an LDAP An NSDB is constructed using an LDAP Directory. This LDAP Directory
entry that is superior to all federation entries (e.g. FSNs and MAY have multiple naming contexts. For each naming context, the LDAP
FSLs). This entry is termed the NSDB Container Entry (NCE). Directory's root DSE will have a namingContext attribute. Each
namingContext attribute contains the DN of the naming context's root
entry. For each naming context that contains federation entries
(e.g. FSNs and FSLs):
1. There MUST be an LDAP entry that is superior to all of the naming
context's federation entries in the Directory Information Tree
(DIT) This entry is termed the NSDB Container Entry (NCE). The
NCE's children are FSNs. An FSNs children are FSLs.
2. The naming context's root entry MUST include the
fedfsNsdbContainerInfo (defined below) as one of its object
classes. The fedfsNsdbContainerInfo's fedfsNcePrefix attribute
is used to locate the naming context's NCE.
If a naming context does not contain federation entries, it will not
contain an NCE and its root entry will not include a
fedfsNsdbContainerInfo as one of its object classes.
A fedfsNsdbContainerInfo's fedfsNcePrefix attribute contains a
string. Prepending this string to the namingContext value produces
the Distinguished Name (DN) of the NSDB Container Entry. An empty
fedfsNcePrefix string value indicates that the NSDB Container Entry
is the namingContext's root entry.
For example, an LDAP directory might have the following entries:
-+ [root DSE]
| namingContext: o=fedfs
| namingContext: dc=example,dc=com
| namingContext: ou=system
|
|
+---- [o=fedfs]
| fedfsNcePrefix:
|
|
+---- [dc=example,dc=com]
| fedfsNcePrefix: ou=fedfs,ou=corp-it
|
|
+---- [ou=system]
In this case, the o=fedfs namingContext has an NSBD Container Entry
at o=fedfs, the dc=example,dc=com namingContext has an NSDB Container
Entry at ou=fedfs,ou=corp-it,dc=example,dc=com, and the ou=system
namingContext has no NSDB Container Entry.
The NSDB SHOULD be configured with one or more privileged LDAP users. The NSDB SHOULD be configured with one or more privileged LDAP users.
These users are able to modify the contents of the LDAP database. An These users are able to modify the contents of the LDAP database. An
administrator that performs the operations described in Section 5.1 administrator that performs the operations described in Section 5.1
SHOULD authenticate using the DN of a privileged LDAP user. SHOULD authenticate using the DN of a privileged LDAP user.
It MUST be possible for an unprivileged (unauthenticated) user to It MUST be possible for an unprivileged (unauthenticated) user to
perform LDAP queries that access the NSDB data. A fileserver perform LDAP queries that access the NSDB data. A fileserver
performs the operations described in Section 5.2 as an unprivileged performs the operations described in Section 5.2 as an unprivileged
user. user.
skipping to change at page 15, line 21 skipping to change at page 16, line 21
The effect of the script is to remove leading white space from each The effect of the script is to remove leading white space from each
line, plus a sentinel sequence of "///". line, plus a sentinel sequence of "///".
4.2.1. LDAP Attributes 4.2.1. LDAP Attributes
This section describes the required attributes of the NSDB LDAP This section describes the required attributes of the NSDB LDAP
schema. The following definitions are used below: schema. The following definitions are used below:
o The "name" attribute described in [RFC4519]. o The "name" attribute described in [RFC4519].
o The DN syntax (1.3.6.1.4.1.1466.115.121.1.12) described in
[RFC4517].
o The "distinguishedNameMatch" rule described in [RFC4517].
o The Integer syntax (1.3.6.1.4.1.1466.115.121.1.27) described in o The Integer syntax (1.3.6.1.4.1.1466.115.121.1.27) described in
[RFC4517]. [RFC4517].
o The "integerMatch" rule are described in [RFC4517]. o The "integerMatch" rule described in [RFC4517].
o The Octet String syntax (1.3.6.1.4.1.1466.115.121.1.40) described o The Octet String syntax (1.3.6.1.4.1.1466.115.121.1.40) described
in [RFC4517]. in [RFC4517].
o The "octetStringMatch" rule described in [RFC4517]. o The "octetStringMatch" rule described in [RFC4517].
o The Boolean syntax (1.3.6.1.4.1.1466.115.121.1.7) described in o The Boolean syntax (1.3.6.1.4.1.1466.115.121.1.7) described in
[RFC4517]. [RFC4517].
o The "booleanMatch" rule described in [RFC4517]. o The "booleanMatch" rule described in [RFC4517].
skipping to change at page 16, line 33 skipping to change at page 17, line 27
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.2. fedfsNetAddr 4.2.1.2. fedfsNetAddr
A fedfsNetAddr is the locative name of a network service. It MUST be A fedfsNetAddr is the locative name of a network service. It MUST be
a UTF-8 string and represent a network location in either IPv4, IPv6, a UTF-8 string and represent a network location in either IPv4, IPv6,
or DNS name notation. or DNS name notation.
An IPv4 address MUST be represented using the format defined in An IPv4 address MUST be represented using the standard dotted decimal
Section 4.2.3.3 of [RPC-NETID]. An IPv6 address MUST be represented format defined by the IPv4address rule in Section 3.2.2 of RFC 3986
using the format defined in Section 4.2.3.4 of [RPC-NETID]. For both [RFC3986]. An IPv6 address MUST be represented using the format
IPv4 and IPv6 addresses, the trailing ".p1.p2" suffix that represents defined in Section 2.2 of RFC 4291 [RFC4291].
the transport port number MAY be omitted.
A DNS name MUST be represented using a fully qualified domain name A DNS name MUST be represented using a fully qualified domain name.
followed by an optional ":port" suffix where "port" is the UTF-8 A system (i.e. fileserver or administrative host) SHOULD resolve the
string representing the transport port number's decimal value. A
system (i.e. fileserver or administrative host) SHOULD resolve the
fully qualified domain name to a network address using the system's fully qualified domain name to a network address using the system's
standard resolution mechanisms. standard resolution mechanisms.
If the optional port suffix is omitted, subtypes of this attribute
define a default transport port number.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.2 NAME 'fedfsNetAddr' /// 1.3.6.1.4.1.31103.1.2 NAME 'fedfsNetAddr'
/// DESC 'The network name of a host or service' /// DESC 'The network name of a host or service'
/// SUP name /// SUP name
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
skipping to change at page 17, line 15 skipping to change at page 18, line 5
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.2 NAME 'fedfsNetAddr' /// 1.3.6.1.4.1.31103.1.2 NAME 'fedfsNetAddr'
/// DESC 'The network name of a host or service' /// DESC 'The network name of a host or service'
/// SUP name /// SUP name
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.3. fedfsFsnUuid 4.2.1.3. fedfsNetPort
A fedfsNetPort is the decimal representation of a transport service's
port number. A fedfsNetPort MUST be encoded as an Integer syntax
value [RFC4517].
This attribute is single-valued.
<CODE BEGINS>
///
/// attributetype (
/// 1.3.6.1.4.1.31103.1.3 NAME 'fedfsNetPort'
/// DESC 'A transport port number of a service'
/// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE
/// )
///
<CODE ENDS>
4.2.1.4. fedfsFsnUuid
A fedfsFsnUuid represents the UUID component of an FSN. An NSDB A fedfsFsnUuid represents the UUID component of an FSN. An NSDB
SHOULD ensure that no two FSNs it stores have the same fedfsFsnUuid. SHOULD ensure that no two FSNs it stores have the same fedfsFsnUuid.
The fedfsFsnUuid is a subclass of fedfsUuid, with the same encoding The fedfsFsnUuid is a subclass of fedfsUuid, with the same encoding
rules. rules.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.3 NAME 'fedfsFsnUuid' /// 1.3.6.1.4.1.31103.1.4 NAME 'fedfsFsnUuid'
/// DESC 'The FSN UUID component of an FSN' /// DESC 'The FSN UUID component of an FSN'
/// SUP fedfsUuid /// SUP fedfsUuid
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.4. fedfsNsdbName 4.2.1.5. fedfsNsdbName
A fedfsNsdbName is the NSDB component of an FSN. A fedfsNsdbName is the NSDB component of an FSN.
It MUST be a UTF-8 string containing a DNS name. The DNS name MUST It MUST be a UTF-8 string containing a DNS name. The DNS name MUST
be represented using a fully qualified domain name followed by an be represented using a fully qualified domain name. A system (i.e.
optional ":port" suffix where "port" is the UTF-8 string representing fileserver or administrative host) SHOULD resolve the fully qualified
the transport port number's decimal value. A system (i.e. fileserver domain name to a network address using the system's standard
or administrative host) SHOULD resolve the fully qualified domain resolution mechanisms.
name to a network address using the system's standard resolution
mechanisms.
If a transport port number is omitted, the standard LDAP port number,
389, SHOULD be assumed.
FSNs are immutable and invariant. The attributes of an FSN, FSNs are immutable and invariant. The attributes of an FSN,
including the fedfsNsdbName, are expected to remain constant. including the fedfsNsdbName, are expected to remain constant.
Therefore, a fedfsNsdbName SHOULD NOT contain a network address, such Therefore, a fedfsNsdbName SHOULD NOT contain a network address, such
as an IPv4 or IPv6 address, as this would indefinitely assign the as an IPv4 or IPv6 address, as this would indefinitely assign the
network address. network address.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.4 NAME 'fedfsNsdbName' /// 1.3.6.1.4.1.31103.1.5 NAME 'fedfsNsdbName'
/// DESC 'The NSDB node component of an FSN' /// DESC 'The NSDB node component of an FSN'
/// SUP name /// SUP name
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.5. fedfsNsdbContainerEntry 4.2.1.6. fedfsNsdbPort
A fedfsNsdbContainerEntry stores the DN of the NCE. The DN MUST be A fedfsNsdbPort is the decimal representation of an NSDB's port
encoded using the <distinguishedName> rule defined in [RFC4514]. A number. The fedfsNsdbPort attribute is a subclass of fedfsNetPort,
DN of up to 128 octets MUST be supported. A DN greater than 128 with the same encoding rules.
octets MAY be supported.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.5 NAME 'fedfsNsdbContainerEntry' /// 1.3.6.1.4.1.31103.1.6 NAME 'fedfsNsdbPort'
/// DESC 'The NSDB search base' /// DESC 'The transport port number of an NSDB'
/// EQUALITY distinguishedNameMatch /// SUP fedfsNetPort
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 /// SINGLE-VALUE
/// )
///
<CODE ENDS>
4.2.1.7. fedfsNcePrefix
A fedfsNcePrefix stores a UTF-8 encoded string.
This attribute is single-valued.
<CODE BEGINS>
///
/// attributetype (
/// 1.3.6.1.4.1.31103.1.7 NAME 'fedfsNcePrefix'
/// DESC 'NCE prefix'
/// SUP name
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.12 is the DN syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.12 is the DN syntax [RFC4517].
4.2.1.6. fedfsFslUuid 4.2.1.8. fedfsFslUuid
A fedfsFslUuid represents the UUID of an FSL. An NSDB SHOULD ensure A fedfsFslUuid represents the UUID of an FSL. An NSDB SHOULD ensure
that no two FSLs it stores have the same fedfsFslUuid. that no two FSLs it stores have the same fedfsFslUuid.
The fedfsFslUuid attribute is a subclass of fedfsUuid, with the same The fedfsFslUuid attribute is a subclass of fedfsUuid, with the same
encoding rules. encoding rules.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.6 NAME 'fedfsFslUuid' /// 1.3.6.1.4.1.31103.1.8 NAME 'fedfsFslUuid'
/// DESC 'UUID of an FSL' /// DESC 'UUID of an FSL'
/// SUP fedfsUuid /// SUP fedfsUuid
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.7. fedfsFslHost 4.2.1.9. fedfsFslHost
A fedfsFslHost is the host component of an FSL.
The fedfsFslHost attribute is a subclass of fedfsNetAddr, with the A fedfsFslHost is the host component of an FSL. The fedfsFslHost
same encoding rules. If a transport port number is omitted, a attribute is a subclass of fedfsNetAddr, with the same encoding
standard port number based on the type of FSL should be assumed. For rules.
an NFS FSL, the standard NFS port number, 2049, SHOULD be assumed.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.7 NAME 'fedfsFslHost' /// 1.3.6.1.4.1.31103.1.9 NAME 'fedfsFslHost'
/// DESC 'Service location for a fileserver' /// DESC 'Service location for a fileserver'
/// SUP fedfsNetAddr /// SUP fedfsNetAddr
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.8. fedfsFslTTL 4.2.1.10. fedfsFslPort
A fedfsFslPort is the decimal representation of a file service's port
number. The fedfsFslPort attribute is a subclass of fedfsNetPort,
with the same encoding rules.
This attribute is single-valued.
<CODE BEGINS>
///
/// attributetype (
/// 1.3.6.1.4.1.31103.1.10 NAME 'fedfsFslPort'
/// DESC 'The file service transport port number'
/// SUP fedfsNetPort
/// SINGLE-VALUE
/// )
///
<CODE ENDS>
4.2.1.11. fedfsFslTTL
A fedfsFslTTL is the amount of time in seconds an FSL SHOULD be A fedfsFslTTL is the amount of time in seconds an FSL SHOULD be
cached by a fileserver. A fedfsFslTTL MUST be encoded as an Integer cached by a fileserver. A fedfsFslTTL MUST be encoded as an Integer
syntax value [RFC4517]. syntax value [RFC4517].
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.8 NAME 'fedfsFslTTL' /// 1.3.6.1.4.1.31103.1.11 NAME 'fedfsFslTTL'
/// DESC 'Time to live of an FSL' /// DESC 'Time to live of an FSL'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.9. fedfsAnnotation 4.2.1.12. fedfsAnnotation
A fedfsAnnotation contains an object annotation. A fedfsAnnotation contains an object annotation.
This attribute is multi-valued; an object type that permits This attribute is multi-valued; an object type that permits
annotations may have any number of annotations per instance. annotations may have any number of annotations per instance.
A fedfsAnnotation attribute MUST be an UTF-8 string formatted as A fedfsAnnotation attribute MUST be an UTF-8 string formatted as
follows: follows:
"KEY" = "VAL" "KEY" = "VAL"
skipping to change at page 21, line 30 skipping to change at page 23, line 23
+-------------+-----------------------------------+ +-------------+-----------------------------------+
| key1 | foo | | key1 | foo |
| another key | x=3 | | another key | x=3 |
| key-2 | A string with " and \ characters. | | key-2 | A string with " and \ characters. |
+-------------+-----------------------------------+ +-------------+-----------------------------------+
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.9 NAME 'fedfsAnnotation' /// 1.3.6.1.4.1.31103.1.12 NAME 'fedfsAnnotation'
/// DESC 'Annotation of an object' /// DESC 'Annotation of an object'
/// SUP name /// SUP name
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.10. fedfsDescr 4.2.1.13. fedfsDescr
A fedfsDescr stores an object description. The description MUST be A fedfsDescr stores an object description. The description MUST be
encoded as a UTF-8 string. encoded as a UTF-8 string.
This attribute is multi-valued which permits any number of This attribute is multi-valued which permits any number of
descriptions per entry. descriptions per entry.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.10 NAME 'fedfsDescr' /// 1.3.6.1.4.1.31103.1.13 NAME 'fedfsDescr'
/// DESC 'Description of an object' /// DESC 'Description of an object'
/// SUP name /// SUP name
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
4.2.1.11. fedfsNfsPath 4.2.1.14. fedfsNfsPath
A fedfsNfsPath is the path component of an FSL. The path MUST be the A fedfsNfsPath is the path component of an FSL. The path MUST be the
XDR encoded NFS pathname as defined by the fs_location's rootpath XDR encoded NFS pathname as defined by the fs_location's rootpath
[RFC3530] and the fs_locations_item's fli_rootpath [NFSv4.1]. A [RFC3530] and the fs_locations_item's fli_rootpath [RFC5661]. A
pathname is an XDR encoded variable length array of variable length pathname is an XDR encoded variable length array of variable length
opaque data. opaque data.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.100 NAME 'fedfsNfsPath' /// 1.3.6.1.4.1.31103.1.100 NAME 'fedfsNfsPath'
skipping to change at page 22, line 41 skipping to change at page 24, line 32
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.40 is the Octet String syntax OID 1.3.6.1.4.1.1466.115.121.1.40 is the Octet String syntax
[RFC4517]. [RFC4517].
4.2.1.12. fedfsNfsMajorVer 4.2.1.15. fedfsNfsMajorVer
A fedfsNfsMajorVer contains the NFS major version of the associated A fedfsNfsMajorVer contains the NFS major version of the associated
NFS FSL. A fedfsNfsMajorVer MUST be encoded as an Integer syntax NFS FSL. A fedfsNfsMajorVer MUST be encoded as an Integer syntax
value [RFC4517]. value [RFC4517].
For example if the FSL was exported via NFS 4.1, the contents of this For example if the FSL was exported via NFS 4.1, the contents of this
attribute would be the value 4. attribute would be the value 4.
This attribute is single-valued. This attribute is single-valued.
skipping to change at page 23, line 21 skipping to change at page 25, line 10
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.13. fedfsNfsMinorVer 4.2.1.16. fedfsNfsMinorVer
A fedfsNfsMinorVer contain the NFS minor version of the associated A fedfsNfsMinorVer contain the NFS minor version of the associated
NFS FSL. A fedfsNfsMinorVer MUST be encoded as an Integer syntax NFS FSL. A fedfsNfsMinorVer MUST be encoded as an Integer syntax
value [RFC4517]. value [RFC4517].
For example if the FSL was exported via NFS 4.1, the contents of this For example if the FSL was exported via NFS 4.1, the contents of this
attribute would be the value 1. attribute would be the value 1.
This attribute is single-valued. This attribute is single-valued.
skipping to change at page 23, line 48 skipping to change at page 25, line 37
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.14. fedfsNfsCurrency 4.2.1.17. fedfsNfsCurrency
A fedfsNfsCurrency stores the NFSv4.1 fs_locations_server's A fedfsNfsCurrency stores the NFSv4.1 fs_locations_server's
fls_currency value [NFSv4.1]. A fedfsNfsCurrency MUST be encoded as fls_currency value [RFC5661]. A fedfsNfsCurrency MUST be encoded as
an Integer syntax value [RFC4517] in the range [-2147483648, an Integer syntax value [RFC4517] in the range [-2147483648,
2147483647]. 2147483647].
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.103 NAME 'fedfsNfsCurrency' /// 1.3.6.1.4.1.31103.1.103 NAME 'fedfsNfsCurrency'
/// DESC 'up-to-date measure of the data' /// DESC 'up-to-date measure of the data'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
skipping to change at page 24, line 24 skipping to change at page 26, line 18
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.15. fedfsNfsGenFlagWritable 4.2.1.18. fedfsNfsGenFlagWritable
A fedfsNfsGenFlagWritable stores the value of an FSL's NFSv4.1 A fedfsNfsGenFlagWritable stores the value of an FSL's NFSv4.1
FSLI4GF_WRITABLE bit [NFSv4.1]. A value of "TRUE" indicates the bit FSLI4GF_WRITABLE bit [RFC5661]. A value of "TRUE" indicates the bit
is true. A value of "FALSE" indicates the bit is false. is true. A value of "FALSE" indicates the bit is false.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.104 NAME 'fedfsNfsGenFlagWritable' /// 1.3.6.1.4.1.31103.1.104 NAME 'fedfsNfsGenFlagWritable'
/// DESC 'Indicates if the filesystem is writable' /// DESC 'Indicates if the filesystem is writable'
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517].
4.2.1.16. fedfsNfsGenFlagGoing 4.2.1.19. fedfsNfsGenFlagGoing
A fedfsNfsGenFlagGoing stores the value of an FSL's NFSv4.1 A fedfsNfsGenFlagGoing stores the value of an FSL's NFSv4.1
FSLI4GF_GOING bit [NFSv4.1]. A value of "TRUE" indicates the bit is FSLI4GF_GOING bit [RFC5661]. A value of "TRUE" indicates the bit is
true. A value of "FALSE" indicates the bit is false. true. A value of "FALSE" indicates the bit is false.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.105 NAME 'fedfsNfsGenFlagGoing' /// 1.3.6.1.4.1.31103.1.105 NAME 'fedfsNfsGenFlagGoing'
/// DESC 'Indicates if the filesystem is going' /// DESC 'Indicates if the filesystem is going'
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
skipping to change at page 25, line 21 skipping to change at page 27, line 18
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517].
4.2.1.17. fedfsNfsGenFlagSplit 4.2.1.20. fedfsNfsGenFlagSplit
A fedfsNfsGenFlagSplit stores the value of an FSL's NFSv4.1 A fedfsNfsGenFlagSplit stores the value of an FSL's NFSv4.1
FSLI4GF_SPLIT bit [NFSv4.1]. A value of "TRUE" indicates the bit is FSLI4GF_SPLIT bit [RFC5661]. A value of "TRUE" indicates the bit is
true. A value of "FALSE" indicates the bit is false. true. A value of "FALSE" indicates the bit is false.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.106 NAME 'fedfsNfsGenFlagSplit' /// 1.3.6.1.4.1.31103.1.106 NAME 'fedfsNfsGenFlagSplit'
/// DESC 'Indicates if there are multiple filesystems' /// DESC 'Indicates if there are multiple filesystems'
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517].
4.2.1.18. fedfsNfsTransFlagRdma 4.2.1.21. fedfsNfsTransFlagRdma
A fedfsNfsTransFlagRdma stores the value of an FSL's NFSv4.1 A fedfsNfsTransFlagRdma stores the value of an FSL's NFSv4.1
FSLI4TF_RDMA bit [NFSv4.1]. A value of "TRUE" indicates the bit is FSLI4TF_RDMA bit [RFC5661]. A value of "TRUE" indicates the bit is
true. A value of "FALSE" indicates the bit is false. true. A value of "FALSE" indicates the bit is false.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.107 NAME 'fedfsNfsTransFlagRdma' /// 1.3.6.1.4.1.31103.1.107 NAME 'fedfsNfsTransFlagRdma'
/// DESC 'Indicates if the transport supports RDMA' /// DESC 'Indicates if the transport supports RDMA'
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517].
4.2.1.19. fedfsNfsClassSimul 4.2.1.22. fedfsNfsClassSimul
A fedfsNfsClassSimul contains the FSL's NFSv4.1 FSLI4BX_CLSIMUL A fedfsNfsClassSimul contains the FSL's NFSv4.1 FSLI4BX_CLSIMUL
[NFSv4.1] value. A fedfsNfsClassSimul MUST be encoded as an Integer [RFC5661] value. A fedfsNfsClassSimul MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.108 NAME 'fedfsNfsClassSimul' /// 1.3.6.1.4.1.31103.1.108 NAME 'fedfsNfsClassSimul'
/// DESC 'The simultaneous-use class of the filesystem' /// DESC 'The simultaneous-use class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.20. fedfsNfsClassHandle 4.2.1.23. fedfsNfsClassHandle
A fedfsNfsClassHandle contains the FSL's NFSv4.1 FSLI4BX_CLHANDLE A fedfsNfsClassHandle contains the FSL's NFSv4.1 FSLI4BX_CLHANDLE
[NFSv4.1] value. A fedfsNfsClassHandle MUST be encoded as an Integer [RFC5661] value. A fedfsNfsClassHandle MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.109 NAME 'fedfsNfsClassHandle' /// 1.3.6.1.4.1.31103.1.109 NAME 'fedfsNfsClassHandle'
/// DESC 'The handle class of the filesystem' /// DESC 'The handle class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.21. fedfsNfsClassFileid 4.2.1.24. fedfsNfsClassFileid
A fedfsNfsClassFileid contains the FSL's NFSv4.1 FSLI4BX_CLFILEID A fedfsNfsClassFileid contains the FSL's NFSv4.1 FSLI4BX_CLFILEID
[NFSv4.1] value. A fedfsNfsClassFileid MUST be encoded as an Integer [RFC5661] value. A fedfsNfsClassFileid MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.110 NAME 'fedfsNfsClassFileid' /// 1.3.6.1.4.1.31103.1.110 NAME 'fedfsNfsClassFileid'
/// DESC 'The fileid class of the filesystem' /// DESC 'The fileid class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.22. fedfsNfsClassWritever 4.2.1.25. fedfsNfsClassWritever
A fedfsNfsClassWritever contains the FSL's NFSv4.1 FSLI4BX_CLWRITEVER A fedfsNfsClassWritever contains the FSL's NFSv4.1 FSLI4BX_CLWRITEVER
[NFSv4.1] value. A fedfsNfsClassWritever MUST be encoded as an [RFC5661] value. A fedfsNfsClassWritever MUST be encoded as an
Integer syntax value [RFC4517] in the range [0, 255]. Integer syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.111 NAME 'fedfsNfsClassWritever' /// 1.3.6.1.4.1.31103.1.111 NAME 'fedfsNfsClassWritever'
/// DESC 'The write-verifier class of the filesystem' /// DESC 'The write-verifier class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.23. fedfsNfsClassChange 4.2.1.26. fedfsNfsClassChange
A fedfsNfsClassChange contains the FSL's NFSv4.1 FSLI4BX_CLCHANGE A fedfsNfsClassChange contains the FSL's NFSv4.1 FSLI4BX_CLCHANGE
[NFSv4.1] value. A fedfsNfsClassChange MUST be encoded as an Integer [RFC5661] value. A fedfsNfsClassChange MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.112 NAME 'fedfsNfsClassChange' /// 1.3.6.1.4.1.31103.1.112 NAME 'fedfsNfsClassChange'
/// DESC 'The change class of the filesystem' /// DESC 'The change class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.24. fedfsNfsClassReaddir 4.2.1.27. fedfsNfsClassReaddir
A fedfsNfsClassReaddir contains the FSL's NFSv4.1 FSLI4BX_CLREADDIR A fedfsNfsClassReaddir contains the FSL's NFSv4.1 FSLI4BX_CLREADDIR
[NFSv4.1] value. A fedfsNfsClassReaddir MUST be encoded as an [RFC5661] value. A fedfsNfsClassReaddir MUST be encoded as an
Integer syntax value [RFC4517] in the range [0, 255]. Integer syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.113 NAME 'fedfsNfsClassReaddir' /// 1.3.6.1.4.1.31103.1.113 NAME 'fedfsNfsClassReaddir'
/// DESC 'The readdir class of the filesystem' /// DESC 'The readdir class of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.25. fedfsNfsReadRank 4.2.1.28. fedfsNfsReadRank
A fedfsNfsReadRank contains the FSL's NFSv4.1 FSLI4BX_READRANK A fedfsNfsReadRank contains the FSL's NFSv4.1 FSLI4BX_READRANK
[NFSv4.1] value. A fedfsNfsReadRank MUST be encoded as an Integer [RFC5661] value. A fedfsNfsReadRank MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.114 NAME 'fedfsNfsReadRank' /// 1.3.6.1.4.1.31103.1.114 NAME 'fedfsNfsReadRank'
/// DESC 'The read rank of the filesystem' /// DESC 'The read rank of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.26. fedfsNfsReadOrder 4.2.1.29. fedfsNfsReadOrder
A fedfsNfsReadOrder contains the FSL's NFSv4.1 FSLI4BX_READORDER A fedfsNfsReadOrder contains the FSL's NFSv4.1 FSLI4BX_READORDER
[NFSv4.1] value. A fedfsNfsReadOrder MUST be encoded as an Integer [RFC5661] value. A fedfsNfsReadOrder MUST be encoded as an Integer
syntax value [RFC4517] in the range [0, 255]. syntax value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.115 NAME 'fedfsNfsReadOrder' /// 1.3.6.1.4.1.31103.1.115 NAME 'fedfsNfsReadOrder'
/// DESC 'The read order of the filesystem' /// DESC 'The read order of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.27. fedfsNfsWriteRank 4.2.1.30. fedfsNfsWriteRank
A fedfsNfsWriteRank contains the FSL's FSLI4BX_WRITERANK [NFSv4.1] A fedfsNfsWriteRank contains the FSL's FSLI4BX_WRITERANK [RFC5661]
value. A fedfsNfsWriteRank MUST be encoded as an Integer syntax value. A fedfsNfsWriteRank MUST be encoded as an Integer syntax
value [RFC4517] in the range [0, 255]. value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.116 NAME 'fedfsNfsWriteRank' /// 1.3.6.1.4.1.31103.1.116 NAME 'fedfsNfsWriteRank'
/// DESC 'The write rank of the filesystem' /// DESC 'The write rank of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.28. fedfsNfsWriteOrder 4.2.1.31. fedfsNfsWriteOrder
A fedfsNfsWriteOrder contains the FSL's FSLI4BX_WRITEORDER [NFSv4.1] A fedfsNfsWriteOrder contains the FSL's FSLI4BX_WRITEORDER [RFC5661]
value. A fedfsNfsWriteOrder MUST be encoded as an Integer syntax value. A fedfsNfsWriteOrder MUST be encoded as an Integer syntax
value [RFC4517] in the range [0, 255]. value [RFC4517] in the range [0, 255].
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.117 NAME 'fedfsNfsWriteOrder' /// 1.3.6.1.4.1.31103.1.117 NAME 'fedfsNfsWriteOrder'
/// DESC 'The write order of the filesystem' /// DESC 'The write order of the filesystem'
/// EQUALITY integerMatch /// EQUALITY integerMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
4.2.1.29. fedfsNfsVarSub 4.2.1.32. fedfsNfsVarSub
A fedfsNfsVarSub stores the value of an FSL's NFSv4.1 FSLI4F_VAR_SUB A fedfsNfsVarSub stores the value of an FSL's NFSv4.1 FSLI4F_VAR_SUB
bit [NFSv4.1]. A value of "TRUE" indicates the bit is true. A value bit [RFC5661]. A value of "TRUE" indicates the bit is true. A value
of "FALSE" indicates the bit is false. of "FALSE" indicates the bit is false.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// attributetype ( /// attributetype (
/// 1.3.6.1.4.1.31103.1.118 NAME 'fedfsNfsVarSub' /// 1.3.6.1.4.1.31103.1.118 NAME 'fedfsNfsVarSub'
/// DESC 'Indicates if variable substitution is present' /// DESC 'Indicates if variable substitution is present'
/// EQUALITY booleanMatch /// EQUALITY booleanMatch
/// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 /// SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
<CODE ENDS> <CODE ENDS>
OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.7 is the Boolean syntax [RFC4517].
4.2.1.30. fedfsNfsValidFor 4.2.1.33. fedfsNfsValidFor
A fedfsNfsValidFor stores an FSL's NFSv4.1 fs_locations_info A fedfsNfsValidFor stores an FSL's NFSv4.1 fs_locations_info
fli_valid_for value [NFSv4.1]. A fedfsNfsValidFor MUST be encoded as fli_valid_for value [RFC5661]. A fedfsNfsValidFor MUST be encoded as
an Integer syntax value [RFC4517] in the range [-2147483648, an Integer syntax value [RFC4517] in the range [-2147483648,
2147483647]. 2147483647].
An FSL's fedfsFslTTL value and fedfsNfsValidFor value MAY be An FSL's fedfsFslTTL value and fedfsNfsValidFor value MAY be
different. different.
This attribute is single-valued. This attribute is single-valued.
<CODE BEGINS> <CODE BEGINS>
skipping to change at page 32, line 23 skipping to change at page 34, line 23
/// SINGLE-VALUE /// SINGLE-VALUE
/// ) /// )
/// ///
OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517]. OID 1.3.6.1.4.1.1466.115.121.1.27 is the Integer syntax [RFC4517].
<CODE ENDS> <CODE ENDS>
4.2.2. LDAP Objects 4.2.2. LDAP Objects
4.2.2.1. fedfsFsn 4.2.2.1. fedfsNsdbContainerInfo
A fedfsFsn represents an FSN. A fedfsNsdbContainerInfo describes the location of the NCE.
A fedfsFsn's fedfsNsdbName, fedfsNsdbContainerEntry, and fedfsFsnUuid A fedfsFsn's fedfsNcePrefix attribute is REQUIRED.
attributes are REQUIRED.
A fedfsFsn's fedfsAnnotation and fedfsDescr attributes are OPTIONAL. A fedfsFsn's fedfsAnnotation and fedfsDescr attributes are OPTIONAL.
<CODE BEGINS>
///
/// objectclass (
/// 1.3.6.1.4.1.31103.1.1001 NAME 'fedfsNsdbContainerInfo'
/// DESC 'Describes NCE location'
/// SUP top AUXILIARY
/// MUST (
/// fedfsNcePrefix
/// )
/// MAY (
/// fedfsAnnotation
/// $ fedfsDescr
/// ))
///
<CODE ENDS>
4.2.2.2. fedfsFsn
A fedfsFsn represents an FSN.
A fedfsFsn's fedfsNsdbName and fedfsFsnUuid attributes are REQUIRED.
A fedfsFsn's fedfsNsdbPort, fedfsAnnotation, and fedfsDescr
attributes are OPTIONAL.
If the fedfsNsdbPort is omitted, the standard LDAP port number, 389,
SHOULD be assumed.
The DN of an FSN is REQUIRED to take the following form: The DN of an FSN is REQUIRED to take the following form:
"fedfsFsnUuid=$FSNUUID,$NCE", where $FSNUUID is the UUID of the FSN "fedfsFsnUuid=$FSNUUID,$NCE", where $FSNUUID is the UUID of the FSN
and $NCE is the DN of the NCE ("o=fedfs" by default). Since LDAP and $NCE is the DN of the NCE ("o=fedfs" by default). Since LDAP
requires a DN to be unique, this ensures that each FSN entry has a requires a DN to be unique, this ensures that each FSN entry has a
unique UUID value within the LDAP directory. unique UUID value within the LDAP directory.
A fedfsFsn MAY also have additional attributes, but these attributes A fedfsFsn MAY also have additional attributes, but these attributes
MUST NOT be referenced by any part of this document. MUST NOT be referenced by any part of this document.
<CODE BEGINS> <CODE BEGINS>
skipping to change at page 33, line 4 skipping to change at page 35, line 23
The DN of an FSN is REQUIRED to take the following form: The DN of an FSN is REQUIRED to take the following form:
"fedfsFsnUuid=$FSNUUID,$NCE", where $FSNUUID is the UUID of the FSN "fedfsFsnUuid=$FSNUUID,$NCE", where $FSNUUID is the UUID of the FSN
and $NCE is the DN of the NCE ("o=fedfs" by default). Since LDAP and $NCE is the DN of the NCE ("o=fedfs" by default). Since LDAP
requires a DN to be unique, this ensures that each FSN entry has a requires a DN to be unique, this ensures that each FSN entry has a
unique UUID value within the LDAP directory. unique UUID value within the LDAP directory.
A fedfsFsn MAY also have additional attributes, but these attributes A fedfsFsn MAY also have additional attributes, but these attributes
MUST NOT be referenced by any part of this document. MUST NOT be referenced by any part of this document.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// objectclass ( /// objectclass (
/// 1.3.6.1.4.1.31103.1.1001 NAME 'fedfsFsn' /// 1.3.6.1.4.1.31103.1.1002 NAME 'fedfsFsn'
/// DESC 'Represents a fileset' /// DESC 'Represents a fileset'
/// SUP top STRUCTURAL /// SUP top STRUCTURAL
/// MUST ( /// MUST (
/// fedfsFsnUuid /// fedfsFsnUuid
/// $ fedfsNsdbName /// $ fedfsNsdbName
/// $ fedfsNsdbContainerEntry
/// ) /// )
/// MAY ( /// MAY (
/// fedfsAnnotation /// fedfsNsdbPort
/// $ fedfsAnnotation
/// $ fedfsDescr /// $ fedfsDescr
/// )) /// ))
/// ///
<CODE ENDS> <CODE ENDS>
4.2.2.2. fedfsFsl 4.2.2.3. fedfsFsl
The fedfsFsl object class represents an FSL. The fedfsFsl object class represents an FSL.
A fedfsFsl's fedfsFslUuid, fedfsFsnUuid, fedfsNsdbName,
fedfsNsdbContainerEntry, fedfsFslHost, and fedfsFslTTL attributes are
REQUIRED.
A fedfsFsl's fedfsAnnotation and fedfsDescr attributes are OPTIONAL.
The fedfsFsl is an abstract object class. Protocol specific subtypes The fedfsFsl is an abstract object class. Protocol specific subtypes
of this object class are used to store FSL information. The of this object class are used to store FSL information. The
fedfsNfsFsl object class defined below is used to record an NFS FSL's fedfsNfsFsl object class defined below is used to record an NFS FSL's
location. Other subtypes MAY be defined for other protocols (e.g. location. Other subtypes MAY be defined for other protocols (e.g.
CIFS). CIFS).
A fedfsFsl's fedfsFslUuid, fedfsFsnUuid, fedfsNsdbName, fedfsFslHost,
and fedfsFslTTL attributes are REQUIRED.
A fedfsFsl's fedfsNsdbPort, fedfsFslPort, fedfsAnnotation, and
fedfsDescr attributes are OPTIONAL.
If the fedfsNsdbPort is omitted, the standard LDAP port number, 389,
SHOULD be assumed.
If the fedfsFslPort is omitted, a standard port number based on the
type of FSL should be assumed. For an NFS FSL, the standard NFS port
number, 2049, SHOULD be assumed.
The DN of an FSL is REQUIRED to take the following form: The DN of an FSL is REQUIRED to take the following form:
"fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is "fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is
the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the
NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique, NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique,
this ensures that each FSL entry has a unique UUID value within the this ensures that each FSL entry has a unique UUID value within the
LDAP directory. LDAP directory.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// objectclass ( /// objectclass (
/// 1.3.6.1.4.1.31103.1.1002 NAME 'fedfsFsl' /// 1.3.6.1.4.1.31103.1.1003 NAME 'fedfsFsl'
/// DESC 'A physical location of a fileset' /// DESC 'A physical location of a fileset'
/// SUP top ABSTRACT /// SUP top ABSTRACT
/// MUST ( /// MUST (
/// fedfsFslUuid /// fedfsFslUuid
/// $ fedfsFsnUuid /// $ fedfsFsnUuid
/// $ fedfsNsdbName /// $ fedfsNsdbName
/// $ fedfsNsdbContainerEntry
/// $ fedfsFslHost /// $ fedfsFslHost
/// $ fedfsFslTTL /// $ fedfsFslTTL
/// ) /// )
/// MAY ( /// MAY (
/// fedfsAnnotation /// fedfsNsdbPort
/// $ fedfsFslPort
/// $ fedfsAnnotation
/// $ fedfsDescr /// $ fedfsDescr
/// )) /// ))
/// ///
<CODE ENDS> <CODE ENDS>
4.2.2.3. fedfsNfsFsl 4.2.2.4. fedfsNfsFsl
A fedfsNfsFsl is used to represent an NFS FSL. The fedfsNfsFsl A fedfsNfsFsl is used to represent an NFS FSL. The fedfsNfsFsl
inherits all of the attributes of the fedfsFsl and extends the inherits all of the attributes of the fedfsFsl and extends the
fedfsFsl with information specific to the NFS protocol. fedfsFsl with information specific to the NFS protocol.
The DN of an NFS FSL is REQUIRED to take the following form: The DN of an NFS FSL is REQUIRED to take the following form:
"fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is "fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is
the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the
NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique, NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique,
this ensures that each NFS FSL entry has a unique UUID value within this ensures that each NFS FSL entry has a unique UUID value within
skipping to change at page 35, line 4 skipping to change at page 37, line 13
fedfsFsl with information specific to the NFS protocol. fedfsFsl with information specific to the NFS protocol.
The DN of an NFS FSL is REQUIRED to take the following form: The DN of an NFS FSL is REQUIRED to take the following form:
"fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is "fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE" where $FSLUUID is
the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the the FSL's UUID, $FSNUUID is the FSN's UUID, and $NCE is the DN of the
NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique, NCE ("o=fedfs" by default). Since LDAP requires a DN to be unique,
this ensures that each NFS FSL entry has a unique UUID value within this ensures that each NFS FSL entry has a unique UUID value within
the LDAP directory. the LDAP directory.
<CODE BEGINS> <CODE BEGINS>
/// ///
/// objectclass ( /// objectclass (
/// 1.3.6.1.4.1.31103.1.1003 NAME 'fedfsNfsFsl' /// 1.3.6.1.4.1.31103.1.1004 NAME 'fedfsNfsFsl'
/// DESC 'An NFS location of a fileset' /// DESC 'An NFS location of a fileset'
/// SUP fedfsFsl STRUCTURAL /// SUP fedfsFsl STRUCTURAL
/// MUST ( /// MUST (
/// fedfsNfsPath /// fedfsNfsPath
/// $ fedfsNfsMajorVer /// $ fedfsNfsMajorVer
/// $ fedfsNfsMinorVer /// $ fedfsNfsMinorVer
/// $ fedfsNfsCurrency /// $ fedfsNfsCurrency
/// $ fedfsNfsGenFlagWritable /// $ fedfsNfsGenFlagWritable
/// $ fedfsNfsGenFlagGoing /// $ fedfsNfsGenFlagGoing
/// $ fedfsNfsGenFlagSplit /// $ fedfsNfsGenFlagSplit
skipping to change at page 37, line 10 skipping to change at page 39, line 17
each NSDB node is LDAP. each NSDB node is LDAP.
The names we assign to these operations are entirely for the purpose The names we assign to these operations are entirely for the purpose
of exposition in this document, and are not part of the LDAP dialogs. of exposition in this document, and are not part of the LDAP dialogs.
5.1.1. Create an FSN 5.1.1. Create an FSN
This operation creates a new FSN in the NSDB by adding a new fedfsFsn This operation creates a new FSN in the NSDB by adding a new fedfsFsn
entry in the NSDB's LDAP directory. entry in the NSDB's LDAP directory.
A fedfsFsn entry contains a fedfsFsnUuid, fedfsNsdbName, and A fedfsFsn entry contains a fedfsFsnUuid and fedfsNsdbName. The
fedfsNsdbContainerEntry. The administrator chooses the fedfsFsnUuid administrator chooses the fedfsFsnUuid and fedfsNsdbName. The
and fedfsNsdbName. The process for choosing the fedfsFsnUuid is process for choosing the fedfsFsnUuid is described in
described in Section 4.2.1.1). The fedfsNsdbName is the name of the Section 4.2.1.1). The fedfsNsdbName is the name of the NSDB node
NSDB node that will serve as the source of definitive information that will serve as the source of definitive information about the FSN
about the FSN for the life of the FSN. The administrator sets the for the life of the FSN.
fedfsNsdbContainerEntry value to the DN of the NSDB's NCE.
The NSDB node that receives the request SHOULD check that The NSDB node that receives the request SHOULD check that
fedfsNsdbName value matches its own value and return an error if it fedfsNsdbName value matches its own value and return an error if it
does not. This is to ensure that an FSN is always created by the does not. This is to ensure that an FSN is always created by the
NSDB node encoded within the FSN as its owner. NSDB node encoded within the FSN as its owner.
The NSDB node that receives the request SHOULD check all of the The NSDB node that receives the request SHOULD check all of the
attributes for validity and consistency, but this is not generally attributes for validity and consistency, but this is not generally
possible for LDAP servers because the consistency requirements cannot possible for LDAP servers because the consistency requirements cannot
be expressed in the LDAP schema (although many LDAP servers can be be expressed in the LDAP schema (although many LDAP servers can be
skipping to change at page 37, line 40 skipping to change at page 39, line 46
5.1.1.1. LDAP Request 5.1.1.1. LDAP Request
This operation is implemented using the LDAP ADD request described by This operation is implemented using the LDAP ADD request described by
the LDIF below. the LDIF below.
dn: fedfsFsnUuid=$FSNUUID,$NCE dn: fedfsFsnUuid=$FSNUUID,$NCE
changeType: add changeType: add
objectClass: fedfsFsn objectClass: fedfsFsn
fedfsFsnUuid: $FSNUUID fedfsFsnUuid: $FSNUUID
fedfsNsdbName: $NSDBNAME fedfsNsdbName: $NSDBNAME
fedfsNsdbContainerEntry: $NCE
For example, if the $FSNUUID is "f81d4fae-7dec-11d0-a765- For example, if the $FSNUUID is "f81d4fae-7dec-11d0-a765-
00a0c91e6bf6", the $NSDBNAME is "nsdb.example.com", and the $NCE is 00a0c91e6bf6", the $NSDBNAME is "nsdb.example.com", and the $NCE is
"o=fedfs" the operation would be: "o=fedfs" the operation would be:
dn: fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs dn: fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs
changeType: add changeType: add
objectClass: fedfsFsn objectClass: fedfsFsn
fedfsFsnUuid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 fedfsFsnUuid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
fedfsNsdbName: nsdb.example.com fedfsNsdbName: nsdb.example.com
fedfsNsdbContainerEntry: o=fedfs
5.1.2. Delete an FSN 5.1.2. Delete an FSN
This operation deletes an FSN by removing a fedfsFsn entry in the This operation deletes an FSN by removing a fedfsFsn entry in the
NSDB's LDAP directory. NSDB's LDAP directory.
If the FSN entry being deleted has child FSL entries, this function If the FSN entry being deleted has child FSL entries, this function
MUST return an error. This ensures that the NSDB will not contain MUST return an error. This ensures that the NSDB will not contain
any orphaned FSL entries. A compliant LDAP implementation will meet any orphaned FSL entries. A compliant LDAP implementation will meet
this requirement since Section 4.8 of [RFC4511] defines the LDAP this requirement since Section 4.8 of [RFC4511] defines the LDAP
skipping to change at page 38, line 44 skipping to change at page 40, line 50
dn: fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs dn: fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs
changeType: delete changeType: delete
5.1.3. Create an FSL 5.1.3. Create an FSL
This operation creates a new FSL for the given FSN by adding a new This operation creates a new FSL for the given FSN by adding a new
fedfsFsl entry in the NSDB's LDAP directory. fedfsFsl entry in the NSDB's LDAP directory.
A fedfsFsl entry contains a fedfsFslUuid, fedfsFsnUuid, A fedfsFsl entry contains a fedfsFslUuid, fedfsFsnUuid,
fedfsNsdbName, fedfsNsdbContainerEntry, fedfsFslHost, and fedfsNsdbName, fedfsFslHost, and fedfsFslTTL. The administrator
fedfsFslTTL. The admininistrator chooses the fedfsFslUuid. The chooses the fedfsFslUuid. The process for choosing the fedfsFslUuid
process for choosing the fedfsFslUuid is described in is described in Section 4.2.1.1. The fedfsFsnUuid is the UUID of the
Section 4.2.1.1. The fedfsFsnUuid is the UUID of the FSL's FSN. The FSL's FSN. The fedfsNsdbName is the name of the NSDB node that
fedfsNsdbName is the name of the NSDB node that stores definitive stores definitive information about the FSL's FSN. The fedfsFslHost
information about the FSL's FSN. The administrator sets the value is the network location of the fileserver that stores the FSL.
fedfsNsdbContainerEntry value to the DN of the NSDB's NCE. The The fedfsFslTTL is chosen by the administrator as described in
fedfsFslHost value is the network location of the fileserver that Section 2.4.2.
stores the FSL. The fedfsFslTTL is chosen by the administrator as
described in Section 2.4.2.
The administrator will also set additional attributes depending on The administrator will also set additional attributes depending on
the FSL type. the FSL type.
5.1.3.1. LDAP Request 5.1.3.1. LDAP Request
This operation is implemented using the LDAP ADD request described by This operation is implemented using the LDAP ADD request described by
the LDIF below (NOTE: the LDIF shows the creation of an NFS FSL) the LDIF below (NOTE: the LDIF shows the creation of an NFS FSL)
dn:fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE dn:fedfsFslUuid=$FSLUUID,fedfsFsnUuid=$FSNUUID,$NCE
changeType: add changeType: add
objectClass: fedfsNfsFsl objectClass: fedfsNfsFsl
fedfsFslUuid: $FSLUUID fedfsFslUuid: $FSLUUID
fedfsFsnUuid: $FSNUUID fedfsFsnUuid: $FSNUUID
fedfsNsdbName: $NSDBNAME fedfsNsdbName: $NSDBNAME
fedfsNsdbContainerEntry: $NCE
fedfsFslHost: $HOST fedfsFslHost: $HOST
fedfsFslPort: $PORT
fedfsFslTTL: $TTL fedfsFslTTL: $TTL
fedfsNfsPath: $PATH fedfsNfsPath: $PATH
fedfsNfsMajorVer: $MAJOR fedfsNfsMajorVer: $MAJOR
fedfsNfsMinorVer: $MINOR fedfsNfsMinorVer: $MINOR
fedfsNfsCurrency: $CURRENCY fedfsNfsCurrency: $CURRENCY
fedfsNfsGenFlagWritable: $WRITABLE fedfsNfsGenFlagWritable: $WRITABLE
fedfsNfsGenFlagGoing: $GOING fedfsNfsGenFlagGoing: $GOING
fedfsNfsGenFlagSplit: $SPLIT fedfsNfsGenFlagSplit: $SPLIT
fedfsNfsTransFlagRdma: $RDMA fedfsNfsTransFlagRdma: $RDMA
fedfsNfsClassSimul: $CLASS_SIMUL fedfsNfsClassSimul: $CLASS_SIMUL
skipping to change at page 39, line 49 skipping to change at page 42, line 8
fedfsNfsWriteRank: $WRITE_RANK fedfsNfsWriteRank: $WRITE_RANK
fedfsNfsWriteOrder: $WRITE_ORDER fedfsNfsWriteOrder: $WRITE_ORDER
fedfsNfsVarSub: $VAR_SUB fedfsNfsVarSub: $VAR_SUB
fedfsNfsValidFor: $TIME fedfsNfsValidFor: $TIME
fedfsAnnotation: $ANNOTATION fedfsAnnotation: $ANNOTATION
fedfsDescr: $DESCR fedfsDescr: $DESCR
For example, if the $FSNUUID is "f81d4fae-7dec-11d0-a765- For example, if the $FSNUUID is "f81d4fae-7dec-11d0-a765-
00a0c91e6bf6", the $FSLUUID is "84f775a7-8e31-14ae-b39d- 00a0c91e6bf6", the $FSLUUID is "84f775a7-8e31-14ae-b39d-
10eeee060d2c", the $NSDBNAME is "nsdb.example.com", the $HOST is 10eeee060d2c", the $NSDBNAME is "nsdb.example.com", the $HOST is
"server.example.com", the $TTL is "300" seconds, the $PATH is stored "server.example.com", $PORT is "2049", the $TTL is "300" seconds, the
in the file "/tmp/fsl_path", fileset is exported via NFSv4.1 ($MAJOR $PATH is stored in the file "/tmp/fsl_path", fileset is exported via
is "4" and $MINOR is "1"), $CURRENCY is "0" (an up to date copy), the NFSv4.1 ($MAJOR is "4" and $MINOR is "1"), $CURRENCY is "0" (an up to
FSL is writable, but not going, split, or accessible via RDMA, the date copy), the FSL is writable, but not going, split, or accessible
simultaneous-use class is "1", the handle class is "0", the fileid via RDMA, the simultaneous-use class is "1", the handle class is "0",
class is "1", the write-verifier class is "1", the change class is the fileid class is "1", the write-verifier class is "1", the change
"1", the readdir class is "9", the read rank is "7", the read order class is "1", the readdir class is "9", the read rank is "7", the
is "8", the write rank is "5", the write order is "6", variable read order is "8", the write rank is "5", the write order is "6",
substitution is false, $TIME is "300" seconds, $ANNOTATION is ""foo" variable substitution is false, $TIME is "300" seconds, $ANNOTATION
= "bar"", $DESC is "This is a description.", and the $NCE is is ""foo" = "bar"", $DESC is "This is a description.", and the $NCE
"o=fedfs", the operation would be (for readability the DN is split is "o=fedfs", the operation would be (for readability the DN is split
into two lines): into two lines):
dn:fedfsFslUuid=84f775a7-8e31-14ae-b39d-10eeee060d2c, dn:fedfsFslUuid=84f775a7-8e31-14ae-b39d-10eeee060d2c,
fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs
changeType: add changeType: add
objectClass: fedfsNfsFsl objectClass: fedfsNfsFsl
fedfsFslUuid: 84f775a7-8e31-14ae-b39d-10eeee060d2c fedfsFslUuid: 84f775a7-8e31-14ae-b39d-10eeee060d2c
fedfsFsnUuid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 fedfsFsnUuid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
fedfsNsdbName: nsdb.example.com fedfsNsdbName: nsdb.example.com
fedfsNsdbContainerEntry: o=fedfs
fedfsFslHost: server.example.com fedfsFslHost: server.example.com
fedfsFslPort: 2049
fedfsFslTTL: 300 fedfsFslTTL: 300
fedfsNfsPath:< file:///tmp/fsl_path fedfsNfsPath:< file:///tmp/fsl_path
fedfsNfsMajorVer: 4 fedfsNfsMajorVer: 4
fedfsNfsMinorVer: 1 fedfsNfsMinorVer: 1
fedfsNfsCurrency: 0 fedfsNfsCurrency: 0
fedfsNfsGenFlagWritable: TRUE fedfsNfsGenFlagWritable: TRUE
fedfsNfsGenFlagGoing: FALSE fedfsNfsGenFlagGoing: FALSE
fedfsNfsGenFlagSplit: FALSE fedfsNfsGenFlagSplit: FALSE
fedfsNfsTransFlagRdma: FALSE fedfsNfsTransFlagRdma: FALSE
fedfsNfsClassSimul: 1 fedfsNfsClassSimul: 1
skipping to change at page 42, line 17 skipping to change at page 44, line 19
the DN is split into two lines): the DN is split into two lines):
dn: fedfsFslUuid=84f775a7-8e31-14ae-b39d-10eeee060d2c, dn: fedfsFslUuid=84f775a7-8e31-14ae-b39d-10eeee060d2c,
fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs fedfsFsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs
changeType: modify changeType: modify
replace: fedfsFslTTL replace: fedfsFslTTL
fedfsFslTTL: 600 fedfsFslTTL: 600
5.2. NSDB Operations for Fileservers 5.2. NSDB Operations for Fileservers
5.2.1. Lookup FSLs for an FSN 5.2.1. NSDB Container Entry (NCE) Enumeration
To find the NCEs for the NSDB foo.example.com, a fileserver would do
the following:
nce_list = empty
connect to the LDAP directory at foo.example.com
for each namingContext value $BAR in the root DSE
/* $BAR is a DN */
query for a fedfsNcePrefix value at $BAR
/*
* The LDAP URL for this search would be
*
* ldap://foo.example.com:389/$BAR?fedfsNcePrefix??
* (objectClass=fedfsNsdbContainerInfo)
*
*/
if a fedfsNcePrefix value is found
prepend value to $BAR and add to nce_list
5.2.2. Lookup FSLs for an FSN
Using an LDAP search, the fileserver can obtain all of the FSLs for a Using an LDAP search, the fileserver can obtain all of the FSLs for a
given FSN. The FSN's fedfsFsnUuid is used as the search key. The given FSN. The FSN's fedfsFsnUuid is used as the search key. The
following examples use the LDAP URI format defined in [RFC4516]. following examples use the LDAP URI format defined in [RFC4516].
To obtain a list of all FSLs for $FSNUUID on the NSDB named To obtain a list of all FSLs for $FSNUUID on the NSDB named
$NSDBNAME, the following search can be used (for readability the URI $NSDBNAME, the following search can be used (for readability the URI
is split into two lines): is split into two lines):
ldap://$NSDBNAME/fsnUuid=$FSNUUID,$NCE??one? for each $NCE in nce_list
ldap://$NSDBNAME/fsnUuid=$FSNUUID,$NCE??one?
(objectClass=fedfsFsl) (objectClass=fedfsFsl)
This search is for the children of the object with DN This search is for the children of the object with DN
"fedfsFsnUuid=$FSNUUID,$NCE" with a filter for "fedfsFsnUuid=$FSNUUID,$NCE" with a filter for
"objectClass=fedfsFsl". The scope value of "one" restricts the "objectClass=fedfsFsl". The scope value of "one" restricts the
search to the entry's children (rather than the entire subtree below search to the entry's children (rather than the entire subtree below
the entry) and the filter ensures that only FSL entries are returned. the entry) and the filter ensures that only FSL entries are returned.
For example if $NSDBNAME is "nsdb.example.com", $FSNUUID is For example if $NSDBNAME is "nsdb.example.com", $FSNUUID is
"f81d4fae-7dec-11d0-a765-00a0c91e6bf6", and $NCE is "o=fedfs", the "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", and $NCE is "o=fedfs", the
search would be (for readability the URI is split into three lines): search would be (for readability the URI is split into three lines):
ldap://nsdb.example.com/ ldap://nsdb.example.com/
fsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs fsnUuid=f81d4fae-7dec-11d0-a765-00a0c91e6bf6,o=fedfs
??one?(objectClass=fedfsFsl) ??one?(objectClass=fedfsFsl)
The following search can be used to obtain only the NFS FSLs for The following search can be used to obtain only the NFS FSLs for
$FSNUUID on the NSDB named $NSDBNAME (for readability the URI is $FSNUUID on the NSDB named $NSDBNAME (for readability the URI is
split into two lines): split into two lines):
ldap://$NSDBNAME/fsnUuid=$FSNUUID,$NCE??one? for each $NCE in nce_list
ldap://$NSDBNAME/fsnUuid=$FSNUUID,$NCE??one?
(objectClass=fedfsNfsFsl) (objectClass=fedfsNfsFsl)
This also searches for the children of the object with DN This also searches for the children of the object with DN
"fedfsFsnUuid=$FSNUUID,$NCE", but the filter for "objectClass = "fedfsFsnUuid=$FSNUUID,$NCE", but the filter for "objectClass =
fedfsNfsFsl" restricts the results to only NFS FSLs. fedfsNfsFsl" restricts the results to only NFS FSLs.
For example if $NSDBNAME is nsdb.example.com, $FSNUUID is f81d4fae- For example if $NSDBNAME is nsdb.example.com, $FSNUUID is f81d4fae-
7dec-11d0-a765-00a0c91e6bf6, and $NCE is "o=fedfs",the search would 7dec-11d0-a765-00a0c91e6bf6, and $NCE is "o=fedfs",the search would
be (for readability the URI is split into three lines): be (for readability the URI is split into three lines):
skipping to change at page 43, line 33 skipping to change at page 46, line 13
Section 2.4.3. Section 2.4.3.
6. Security Considerations 6. Security Considerations
Both NFSv4/NFSv4.1 and LDAP provide security mechanisms. When used Both NFSv4/NFSv4.1 and LDAP provide security mechanisms. When used
in conjunction with the federated filesystem protocols described in in conjunction with the federated filesystem protocols described in
this document, the use of these mechanisms is RECOMMENDED. this document, the use of these mechanisms is RECOMMENDED.
Specifically, the use of RPCSEC_GSS [RFC2203], which is built on the Specifically, the use of RPCSEC_GSS [RFC2203], which is built on the
GSS-API [RFC2743], is RECOMMENDED on all NFS connections between a GSS-API [RFC2743], is RECOMMENDED on all NFS connections between a
client and fileserver. The "Security Considerations" sections of the client and fileserver. The "Security Considerations" sections of the
the NFSv4 [RFC3530] and NFSv4.1 [NFSv4.1] specifications contain the NFSv4 [RFC3530] and NFSv4.1 [RFC5661] specifications contain
special considerations for the handling of GETATTR operations for the special considerations for the handling of GETATTR operations for the
fs_locations and fs_locations_info attributes. For all LDAP fs_locations and fs_locations_info attributes. For all LDAP
connections established by the federated filesystem protocols, the connections established by the federated filesystem protocols, the
use of TLS [RFC5246], as described in [RFC4513], is RECOMMENDED. use of TLS [RFC5246], as described in [RFC4513], is RECOMMENDED.
Within a federation, there are two types of components an attacker Within a federation, there are two types of components an attacker
may compromise: a fileserver and an NSDB. may compromise: a fileserver and an NSDB.
If an attacker compromises a fileserver, the attacker can interfere If an attacker compromises a fileserver, the attacker can interfere
with the client's filesystem I/O operations (e.g. by returning with the client's filesystem I/O operations (e.g. by returning
skipping to change at page 45, line 4 skipping to change at page 47, line 21
Subject: Request for LDAP Descriptor Registration Subject: Request for LDAP Descriptor Registration
Person & email address to contact for further information: See Person & email address to contact for further information: See
"Author/Change Controller" "Author/Change Controller"
Specification: draft-ietf-nfsv4-federated-fs-protocol Specification: draft-ietf-nfsv4-federated-fs-protocol
Author/Change Controller: [document authors] Author/Change Controller: [document authors]
Object Identifier: 1.3.6.1.4.1.31103.1.1 Object Identifier: 1.3.6.1.4.1.31103.1.1
Descriptor (short name): fedfsUuid Descriptor (short name): fedfsUuid
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.2 Object Identifier: 1.3.6.1.4.1.31103.1.2
Descriptor (short name): fedfsNetAddr Descriptor (short name): fedfsNetAddr
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.3 Object Identifier: 1.3.6.1.4.1.31103.1.3
Descriptor (short name): fedfsFsnUuid Descriptor (short name): fedfsNetPort
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.4 Object Identifier: 1.3.6.1.4.1.31103.1.4
Descriptor (short name): fedfsNsdbName Descriptor (short name): fedfsFsnUuid
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.5 Object Identifier: 1.3.6.1.4.1.31103.1.5
Descriptor (short name): fedfsNsdbContainerEntry Descriptor (short name): fedfsNsdbName
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.6 Object Identifier: 1.3.6.1.4.1.31103.1.6
Descriptor (short name): fedfsFslUuid Descriptor (short name): fedfsNsdbPort
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.7 Object Identifier: 1.3.6.1.4.1.31103.1.7
Descriptor (short name): fedfsFslHost Descriptor (short name): fedfsNcePrefix
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.8 Object Identifier: 1.3.6.1.4.1.31103.1.8
Descriptor (short name): fedfsFslTTL Descriptor (short name): fedfsFslUuid
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.9 Object Identifier: 1.3.6.1.4.1.31103.1.9
Descriptor (short name): fedfsAnnotation Descriptor (short name): fedfsFslHost
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.10 Object Identifier: 1.3.6.1.4.1.31103.1.10
Descriptor (short name): fedfsFslPort
Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.11
Descriptor (short name): fedfsFslTTL
Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.12
Descriptor (short name): fedfsAnnotation
Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.13
Descriptor (short name): fedfsDescr Descriptor (short name): fedfsDescr
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.100 Object Identifier: 1.3.6.1.4.1.31103.1.100
Descriptor (short name): fedfsNfsPath Descriptor (short name): fedfsNfsPath
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.101 Object Identifier: 1.3.6.1.4.1.31103.1.101
Descriptor (short name): fedfsNfsMajorVer Descriptor (short name): fedfsNfsMajorVer
Usage: attribute type Usage: attribute type
skipping to change at page 47, line 33 skipping to change at page 50, line 19
Object Identifier: 1.3.6.1.4.1.31103.1.118 Object Identifier: 1.3.6.1.4.1.31103.1.118
Descriptor (short name): fedfsNfsVarSub Descriptor (short name): fedfsNfsVarSub
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.119 Object Identifier: 1.3.6.1.4.1.31103.1.119
Descriptor (short name): fedfsNfsValidFor Descriptor (short name): fedfsNfsValidFor
Usage: attribute type Usage: attribute type
Object Identifier: 1.3.6.1.4.1.31103.1.1001 Object Identifier: 1.3.6.1.4.1.31103.1.1001
Descriptor (short name): fedfsFsn Descriptor (short name): fedfsNsdbContainerInfo
Usage: object class Usage: object class
Object Identifier: 1.3.6.1.4.1.31103.1.1002 Object Identifier: 1.3.6.1.4.1.31103.1.1002
Descriptor (short name): fedfsFsl Descriptor (short name): fedfsFsn
Usage: object class Usage: object class
Object Identifier: 1.3.6.1.4.1.31103.1.1003 Object Identifier: 1.3.6.1.4.1.31103.1.1003
Descriptor (short name): fedfsFsl
Usage: object class
Object Identifier: 1.3.6.1.4.1.31103.1.1004
Descriptor (short name): fedfsNfsFsl Descriptor (short name): fedfsNfsFsl
Usage: object class Usage: object class
8. Glossary 8. Glossary
Administrator: user with the necessary authority to initiate Administrator: user with the necessary authority to initiate
administrative tasks on one or more servers. administrative tasks on one or more servers.
Admin Entity: A server or agent that administers a collection of Admin Entity: A server or agent that administers a collection of
fileservers and persistently stores the namespace information. fileservers and persistently stores the namespace information.
skipping to change at page 50, line 4 skipping to change at page 52, line 38
server collection may be administered with vendor-specific server collection may be administered with vendor-specific
software. software.
The namespace provided by a server collection could be part of the The namespace provided by a server collection could be part of the
federated namespace. federated namespace.
Singleton Server: A server collection containing only one server; a Singleton Server: A server collection containing only one server; a
stand-alone fileserver. stand-alone fileserver.
9. References 9. References
9.1. Normative References
[NFSv4.1] Shepler, S., Eisler, M., and D. Noveck, "Network File 9.1. Normative References
System (NFS) Version 4 Minor Version 1 Protocol",
RFC 5661, January 2010.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2203] Eisler, M., Chiu, A., and L. Ling, "RPCSEC_GSS Protocol [RFC2203] Eisler, M., Chiu, A., and L. Ling, "RPCSEC_GSS Protocol
Specification", RFC 2203, September 1997. Specification", RFC 2203, September 1997.
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Structure of Management Information Schoenwaelder, Ed., "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
skipping to change at page 50, line 30 skipping to change at page 53, line 13
[RFC2743] Linn, J., "Generic Security Service Application Program [RFC2743] Linn, J., "Generic Security Service Application Program
Interface Version 2, Update 1", RFC 2743, January 2000. Interface Version 2, Update 1", RFC 2743, January 2000.
[RFC2849] Good, G., "The LDAP Data Interchange Format (LDIF) - [RFC2849] Good, G., "The LDAP Data Interchange Format (LDIF) -
Technical Specification", RFC 2849, June 2000. Technical Specification", RFC 2849, June 2000.
[RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R., [RFC3530] Shepler, S., Callaghan, B., Robinson, D., Thurlow, R.,
Beame, C., Eisler, M., and D. Noveck, "Network File System Beame, C., Eisler, M., and D. Noveck, "Network File System
(NFS) version 4 Protocol", RFC 3530, April 2003. (NFS) version 4 Protocol", RFC 3530, April 2003.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally
Unique IDentifier (UUID) URN Namespace", RFC 4122, Unique IDentifier (UUID) URN Namespace", RFC 4122,
July 2005. July 2005.
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
Architecture", RFC 4291, February 2006.
[RFC4510] Zeilenga, K., "Lightweight Directory Access Protocol [RFC4510] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): Technical Specification Road Map", RFC 4510, (LDAP): Technical Specification Road Map", RFC 4510,
June 2006. June 2006.
[RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol [RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol
(LDAP): The Protocol", RFC 4511, June 2006. (LDAP): The Protocol", RFC 4511, June 2006.
[RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol [RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): Directory Information Models", RFC 4512, (LDAP): Directory Information Models", RFC 4512,
June 2006. June 2006.
[RFC4513] Harrison, R., "Lightweight Directory Access Protocol [RFC4513] Harrison, R., "Lightweight Directory Access Protocol
(LDAP): Authentication Methods and Security Mechanisms", (LDAP): Authentication Methods and Security Mechanisms",
RFC 4513, June 2006. RFC 4513, June 2006.
[RFC4514] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): String Representation of Distinguished Names",
RFC 4514, June 2006.
[RFC4516] Smith, M. and T. Howes, "Lightweight Directory Access [RFC4516] Smith, M. and T. Howes, "Lightweight Directory Access
Protocol (LDAP): Uniform Resource Locator", RFC 4516, Protocol (LDAP): Uniform Resource Locator", RFC 4516,
June 2006. June 2006.
[RFC4517] Legg, S., "Lightweight Directory Access Protocol (LDAP): [RFC4517] Legg, S., "Lightweight Directory Access Protocol (LDAP):
Syntaxes and Matching Rules", RFC 4517, June 2006. Syntaxes and Matching Rules", RFC 4517, June 2006.
[RFC4519] Sciberras, A., "Lightweight Directory Access Protocol [RFC4519] Sciberras, A., "Lightweight Directory Access Protocol
(LDAP): Schema for User Applications", RFC 4519, (LDAP): Schema for User Applications", RFC 4519,
June 2006. June 2006.
[RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA) [RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority (IANA)
Considerations for the Lightweight Directory Access Considerations for the Lightweight Directory Access
Protocol (LDAP)", BCP 64, RFC 4520, June 2006. Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008. (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RPC-NETID] [RFC5661] Shepler, S., Eisler, M., and D. Noveck, "Network File
Eisler, M., "IANA Considerations for RPC Net Identifiers System (NFS) Version 4 Minor Version 1 Protocol",
and Universal Address Formats", RFC 5661, January 2010.
draft-ietf-nfsv4-rpc-netid-06 (work in progress),
January 2009.
9.2. Informative References 9.2. Informative References
[AFS] Howard, J., "An Overview of the Andrew File System", [AFS] Howard, J., "An Overview of the Andrew File System",
Proceeding of the USENIX Winter Technical Conference , Proceeding of the USENIX Winter Technical Conference ,
1988. 1988.
[FEDFS-ADMIN] [FEDFS-ADMIN]
Lentini, J., Everhart, C., Ellard, D., Tewari, R., and M. Lentini, J., Everhart, C., Ellard, D., Tewari, R., and M.
Naik, "Administration Protocol for Federated Filesystems", Naik, "Administration Protocol for Federated Filesystems",
draft-ietf-nfsv4-federated-fs-admin (Work In Progress), draft-ietf-nfsv4-federated-fs-admin (Work In Progress),
2009. 2010.
[FEDFS-DNS-SRV] [FEDFS-DNS-SRV]
Everhart, C., Adamson, W., and J. Zhang, "Using DNS SRV to Everhart, C., Adamson, W., and J. Zhang, "Using DNS SRV to
Specify a Global File Name Space with NFS version 4", Specify a Global File Name Space with NFS version 4",
draft-ietf-nfsv4-federated-fs-dns-srv-namespace (Work In draft-ietf-nfsv4-federated-fs-dns-srv-namespace (Work In
Progress), 2009. Progress), 2010.
[FEDFS-REQTS]
Lentini, J., Everhart, C., Ellard, D., Tewari, R., and M.
Naik, "Requirements for Federated File Systems", RFC 5716,
January 2010.
[MS-CIFS] Microsoft Corporation, "Common Internet File System (CIFS) [MS-CIFS] Microsoft Corporation, "Common Internet File System (CIFS)
Protocol Specification", MS-CIFS 2.0, November 2009. Protocol Specification", MS-CIFS 2.0, November 2009.
[MS-SMB] Microsoft Corporation, "Server Message Block (SMB) [MS-SMB] Microsoft Corporation, "Server Message Block (SMB)
Protocol Specification", MS-SMB 17.0, November 2009. Protocol Specification", MS-SMB 17.0, November 2009.
[MS-SMB2] Microsoft Corporation, "Server Message Block (SMB) Version [MS-SMB2] Microsoft Corporation, "Server Message Block (SMB) Version
2 Protocol Specification", MS-SMB2 19.0, November 2009. 2 Protocol Specification", MS-SMB2 19.0, November 2009.
[NFSv4.1-XDR]
Shepler, S., Eisler, M., and D. Noveck, "Network File
System (NFS) Version 4 Minor Version 1 External Data
Representation Standard (XDR) Description", RFC 5662,
January 2010.
[RFC1094] Nowicki, B., "NFS: Network File System Protocol [RFC1094] Nowicki, B., "NFS: Network File System Protocol
specification", RFC 1094, March 1989. specification", RFC 1094, March 1989.
[RFC1813] Callaghan, B., Pawlowski, B., and P. Staubach, "NFS [RFC1813] Callaghan, B., Pawlowski, B., and P. Staubach, "NFS
Version 3 Protocol Specification", RFC 1813, June 1995. Version 3 Protocol Specification", RFC 1813, June 1995.
[RFC3254] Alvestrand, H., "Definitions for talking about [RFC3254] Alvestrand, H., "Definitions for talking about
directories", RFC 3254, April 2002. directories", RFC 3254, April 2002.
[RFC5662] Shepler, S., Eisler, M., and D. Noveck, "Network File
System (NFS) Version 4 Minor Version 1 External Data
Representation Standard (XDR) Description", RFC 5662,
January 2010.
[RFC5716] Lentini, J., Everhart, C., Ellard, D., Tewari, R., and M.
Naik, "Requirements for Federated File Systems", RFC 5716,
January 2010.
Appendix A. Acknowledgments Appendix A. Acknowledgments
We would like to thank Andy Adamson of NetApp, Paul Lemahieu of EMC, We would like to thank Andy Adamson of NetApp, Paul Lemahieu of EMC,
Robert Thurlow of Sun Microsystems, and Mario Wurzl of EMC for Robert Thurlow of Sun Microsystems, and Mario Wurzl of EMC for
helping to author this document. helping to author this document.
We would also like to thank George Amvrosiadis, Trond Myklebust, and We would also like to thank George Amvrosiadis, Trond Myklebust, and
Nicolas Williams for their comments. Nicolas Williams for their comments.
The extract.sh shell script and formatting conventions were first The extract.sh shell script and formatting conventions were first
described by the authors of the NFSv4.1 XDR specification described by the authors of the NFSv4.1 XDR specification [RFC5662].
[NFSv4.1-XDR].
Authors' Addresses Authors' Addresses
James Lentini James Lentini
NetApp NetApp
1601 Trapelo Rd, Suite 16 1601 Trapelo Rd, Suite 16
Waltham, MA 02451 Waltham, MA 02451
US US
Phone: +1 781-768-5359 Phone: +1 781-768-5359
skipping to change at page 53, line 24 skipping to change at page 56, line 4
Email: jlentini@netapp.com Email: jlentini@netapp.com
Craig Everhart Craig Everhart
NetApp NetApp
7301 Kit Creek Rd 7301 Kit Creek Rd
Research Triangle Park, NC 27709 Research Triangle Park, NC 27709
US US
Phone: +1 919-476-5320 Phone: +1 919-476-5320
Email: everhart@netapp.com Email: everhart@netapp.com
Daniel Ellard Daniel Ellard
BBN Technologies Raytheon BBN Technologies
10 Moulton Street 10 Moulton Street
Cambridge, MA 02138 Cambridge, MA 02138
US US
Phone: +1 617-873-8000 Phone: +1 617-873-8000
Email: dellard@bbn.com Email: dellard@bbn.com
Renu Tewari Renu Tewari
IBM Almaden IBM Almaden
650 Harry Rd 650 Harry Rd
 End of changes. 138 change blocks. 
248 lines changed or deleted 392 lines changed or added

This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/