draft-ietf-netmod-geo-location-07.txt   draft-ietf-netmod-geo-location-08.txt 
Network Working Group C. Hopps Network Working Group C. Hopps
Internet-Draft LabN Consulting, L.L.C. Internet-Draft LabN Consulting, L.L.C.
Intended status: Standards Track 3 December 2020 Intended status: Standards Track 16 April 2021
Expires: 6 June 2021 Expires: 18 October 2021
A YANG Grouping for Geographic Locations A YANG Grouping for Geographic Locations
draft-ietf-netmod-geo-location-07 draft-ietf-netmod-geo-location-08
Abstract Abstract
This document defines a generic geographical location object YANG This document defines a generic geographical location object YANG
grouping. The geographical location grouping is intended to be used grouping. The geographical location grouping is intended to be used
in YANG models for specifying a location on or in reference to Earth in YANG models for specifying a location on or in reference to Earth
or any other astronomical object. or any other astronomical object.
Status of This Memo Status of This Memo
skipping to change at page 1, line 33 skipping to change at page 1, line 33
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://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."
This Internet-Draft will expire on 6 June 2021. This Internet-Draft will expire on 18 October 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2021 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 (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Simplified BSD License.
skipping to change at page 2, line 44 skipping to change at page 2, line 44
1. Introduction 1. Introduction
In many applications we would like to specify the location of In many applications we would like to specify the location of
something geographically. Some examples of locations in networking something geographically. Some examples of locations in networking
might be the location of data center, a rack in an internet exchange might be the location of data center, a rack in an internet exchange
point, a router, a firewall, a port on some device, or it could be point, a router, a firewall, a port on some device, or it could be
the endpoints of a fiber, or perhaps the failure point along a fiber. the endpoints of a fiber, or perhaps the failure point along a fiber.
Additionally, while this location is typically relative to Earth, it Additionally, while this location is typically relative to Earth, it
does not need to be. Indeed it is easy to imagine a network or does not need to be. Indeed, it is easy to imagine a network or
device located on The Moon, on Mars, on Enceladus (the moon of device located on The Moon, on Mars, on Enceladus (the moon of
Saturn) or even a comet (e.g., 67p/churyumov-gerasimenko). Saturn) or even a comet (e.g., 67p/churyumov-gerasimenko).
Finally, one can imagine defining locations using different frames of Finally, one can imagine defining locations using different frames of
reference or even alternate systems (e.g., simulations or virtual reference or even alternate systems (e.g., simulations or virtual
realities). realities).
This document defines a "geo-location" YANG grouping that allows for This document defines a "geo-location" YANG grouping that allows for
all of the above data to be captured. all the above data to be captured.
This specification conforms to [ISO.6709.2008]. This specification conforms to [ISO.6709.2008].
The YANG data model described in this document conforms to the The YANG data model described in this document conforms to the
Network Management Datastore Architecture defined in [RFC8342]. Network Management Datastore Architecture defined in [RFC8342].
1.1. Terminology 1.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
skipping to change at page 3, line 34 skipping to change at page 3, line 34
The frame of reference ("reference-frame") defines what the location The frame of reference ("reference-frame") defines what the location
values refer to and their meaning. The referred to object can be any values refer to and their meaning. The referred to object can be any
astronomical body. It could be a planet such as Earth or Mars, a astronomical body. It could be a planet such as Earth or Mars, a
moon such as Enceladus, an asteroid such as Ceres, or even a comet moon such as Enceladus, an asteroid such as Ceres, or even a comet
such as 1P/Halley. This value is specified in "astronomical-body" such as 1P/Halley. This value is specified in "astronomical-body"
and is defined by the International Astronomical Union and is defined by the International Astronomical Union
(http://www.iau.org). The default "astronomical-body" value is (http://www.iau.org). The default "astronomical-body" value is
"earth". "earth".
In addition to identifying the astronomical body we also need to In addition to identifying the astronomical body, we also need to
define the meaning of the coordinates (e.g., latitude and longitude) define the meaning of the coordinates (e.g., latitude and longitude)
and the definition of 0-height. This is done with a "geodetic-datum" and the definition of 0-height. This is done with a "geodetic-datum"
value. The default value for "geodetic-datum" is "wgs-84" (i.e., the value. The default value for "geodetic-datum" is "wgs-84" (i.e., the
World Geodetic System, [WGS84]), which is used by the Global World Geodetic System, [WGS84]), which is used by the Global
Positioning System (GPS) among many others. We define an IANA Positioning System (GPS) among many others. We define an IANA
registry for specifying standard values for the "geodetic-datum". registry for specifying standard values for the "geodetic-datum".
In addition to the "geodetic-datum" value we allow refining the In addition to the "geodetic-datum" value, we allow refining the
coordinate and height accuracy using "coord-accuracy" and "height- coordinate and height accuracy using "coord-accuracy" and "height-
accuracy" respectively. When specified these values override the accuracy" respectively. When specified, these values override the
defaults implied by the "geodetic-datum" value. defaults implied by the "geodetic-datum" value.
Finally, we define an optional feature which allows for changing the Finally, we define an optional feature which allows for changing the
system for which the above values are defined. This optional feature system for which the above values are defined. This optional feature
adds an "alternate-system" value to the reference frame. This value adds an "alternate-system" value to the reference frame. This value
is normally not present which implies the natural universe is the is normally not present which implies the natural universe is the
system. The use of this value is intended to allow for creating system. The use of this value is intended to allow for creating
virtual realities or perhaps alternate coordinate systems. The virtual realities or perhaps alternate coordinate systems. The
definition of alternate systems is outside the scope of this definition of alternate systems is outside the scope of this
document. document.
2.2. Location 2.2. Location
This is the location on or relative to the astronomical object. It This is the location on, or relative to, the astronomical object. It
is specified using 2 or 3 coordinates values. These values are given is specified using 2 or 3 coordinates values. These values are given
either as "latitude", "longitude", and an optional "height", or as either as "latitude", "longitude", and an optional "height", or as
Cartesian coordinates of "x", "y" and "z". For the standard location Cartesian coordinates of "x", "y" and "z". For the standard location
choice "latitude" and "longitude" are specified as fractions of choice "latitude" and "longitude" are specified as fractions of
decimal degrees, and the "height" value is in fractions of meters. decimal degrees, and the "height" value is in fractions of meters.
For the Cartesian choice "x", "y" and "z" are in fractions of meters. For the Cartesian choice "x", "y" and "z" are in fractions of meters.
In both choices the exact meanings of all of the values are defined In both choices the exact meanings of all the values are defined by
by the "geodetic-datum" value in the Section 2.1. the "geodetic-datum" value in the Section 2.1.
2.3. Motion 2.3. Motion
Support is added for objects in relatively stable motion. For Support is added for objects in relatively stable motion. For
objects in relatively stable motion the grouping provides a objects in relatively stable motion the grouping provides a
3-dimensional vector value. The components of the vector are 3-dimensional vector value. The components of the vector are
"v-north", "v-east" and "v-up" which are all given in fractional "v-north", "v-east" and "v-up" which are all given in fractional
meters per second. The values "v-north" and "v-east" are relative to meters per second. The values "v-north" and "v-east" are relative to
true-north as defined by the reference frame for the astronomical true north as defined by the reference frame for the astronomical
body, "v-up" is perpendicular to the plane defined by "v-north" and body, "v-up" is perpendicular to the plane defined by "v-north" and
"v-east", and is pointed away from the center of mass. "v-east", and is pointed away from the center of mass.
To derive the 2-dimensional heading and speed one would use the To derive the 2-dimensional heading and speed one would use the
following formulas: following formulas:
,------------------------------ ,------------------------------
speed = V v_{north}^{2} + v_{east}^{2} speed = V v_{north}^{2} + v_{east}^{2}
heading = arctan(v_{east} / v_{north}) heading = arctan(v_{east} / v_{north})
For some applications that demand high accuracy, and where the data For some applications that demand high accuracy, and where the data
is infrequently updated this velocity vector can track very slow is infrequently updated this velocity vector can track very slow
movement such as continental drift. movement such as continental drift.
Tracking more complex forms of motion is outside the scope of this Tracking more complex forms of motion is outside the scope of this
work. The intent of the grouping being defined here is to identify work. The intent of the grouping being defined here is to identify
where something is located, and generally this is expected to be where something is located, and generally this is expected to be
somewhere on or relative to Earth (or another astronomical body). At somewhere on, or relative to, Earth (or another astronomical body).
least two options are available to YANG models that wish to use this
grouping with objects that are changing location frequently in non- At least two options are available to YANG models that wish to use
simple ways, they can add additional motion data to their model this grouping with objects that are changing location frequently in
directly, or if the application allows it can require more frequent non-simple ways. They can add additional motion data to their model
queries to keep the location data current. directly. Or, if the application allows, it can require more
frequent queries to keep the location data current.
2.4. Nested Locations 2.4. Nested Locations
When locations are nested (e.g., a building may have a location which When locations are nested (e.g., a building may have a location which
houses routers that also have locations) the module using this houses routers that also have locations) the module using this
grouping is free to indicate in its definition that the "reference- grouping is free to indicate in its definition that the "reference-
frame" is inherited from the containing object so that the frame" is inherited from the containing object so that the
"reference-frame" need not be repeated in every instance of location "reference-frame" need not be repeated in every instance of location
data. data.
skipping to change at page 9, line 23 skipping to change at page 9, line 23
Geodetic System Values"; Geodetic System Values";
} }
leaf coord-accuracy { leaf coord-accuracy {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
} }
description description
"The accuracy of the latitude longitude pair for "The accuracy of the latitude longitude pair for
ellipsoidal coordinates, or the X, Y and Z components ellipsoidal coordinates, or the X, Y and Z components
for Cartesian coordinates. When coord-accuracy is for Cartesian coordinates. When coord-accuracy is
specified it overrides the geodetic-datum implied specified, it overrides the geodetic-datum implied
accuracy."; accuracy.";
} }
leaf height-accuracy { leaf height-accuracy {
type decimal64 { type decimal64 {
fraction-digits 6; fraction-digits 6;
} }
units "meters"; units "meters";
description description
"The accuracy of height value for ellipsoidal "The accuracy of height value for ellipsoidal
coordinates, this value is not used with Cartesian coordinates, this value is not used with Cartesian
coordinates. When specified it overrides the coordinates. When specified, it overrides the
geodetic-datum implied default."; geodetic-datum implied default.";
} }
} }
} }
choice location { choice location {
description description
"The location data either in lat/long or Cartesian values"; "The location data either in lat/long or Cartesian values";
case ellipsoid { case ellipsoid {
leaf latitude { leaf latitude {
type decimal64 { type decimal64 {
fraction-digits 16; fraction-digits 16;
} }
units "decimal degrees"; units "decimal degrees";
description description
"The latitude value on the astronomical body. The "The latitude value on the astronomical body. The
definition and precision of this measurement is definition and precision of this measurement is
indicated by the reference-frame value."; indicated by the reference-frame.";
} }
leaf longitude { leaf longitude {
type decimal64 { type decimal64 {
fraction-digits 16; fraction-digits 16;
} }
units "decimal degrees"; units "decimal degrees";
description description
"The longitude value on the astronomical body. The "The longitude value on the astronomical body. The
definition and precision of this measurement is definition and precision of this measurement is
skipping to change at page 11, line 9 skipping to change at page 11, line 9
description description
"The Z value as defined by the reference-frame."; "The Z value as defined by the reference-frame.";
} }
} }
} }
container velocity { container velocity {
description description
"If the object is in motion the velocity vector describes "If the object is in motion the velocity vector describes
this motion at the the time given by the timestamp. For a this motion at the the time given by the timestamp. For a
formula to convert these values to speed and heading see formula to convert these values to speed and heading see
this modules defining document RFC XXXX."; RFC XXXX.";
reference reference
"RFC XXXX: A YANG Grouping for Geographic Locations"; "RFC XXXX: A YANG Grouping for Geographic Locations";
leaf v-north { leaf v-north {
type decimal64 { type decimal64 {
fraction-digits 12; fraction-digits 12;
} }
units "meters per second"; units "meters per second";
description description
"v-north is the rate of change (i.e., speed) towards "v-north is the rate of change (i.e., speed) towards
truth north as defined by the geodetic-system."; truth north as defined by the geodetic-system.";
} }
leaf v-east { leaf v-east {
type decimal64 { type decimal64 {
fraction-digits 12; fraction-digits 12;
} }
units "meters per second"; units "meters per second";
description description
"v-east is the rate of change (i.e., speed) perpendicular "v-east is the rate of change (i.e., speed) perpendicular
to truth-north as defined by the geodetic-system."; to the right of true north as defined by
the geodetic-system.";
} }
leaf v-up { leaf v-up {
type decimal64 { type decimal64 {
fraction-digits 12; fraction-digits 12;
} }
units "meters per second"; units "meters per second";
description description
"v-up is the rate of change (i.e., speed) away from the "v-up is the rate of change (i.e., speed) away from the
center of mass."; center of mass.";
skipping to change at page 13, line 13 skipping to change at page 13, line 13
also not required for conformance. also not required for conformance.
5. Usability 5. Usability
The geo-location object defined in this document and YANG module have The geo-location object defined in this document and YANG module have
been designed to be usable in a very broad set of applications. This been designed to be usable in a very broad set of applications. This
includes the ability to locate things on astronomical bodies other includes the ability to locate things on astronomical bodies other
than Earth, and to utilize entirely different coordinate systems and than Earth, and to utilize entirely different coordinate systems and
realities. realities.
Many systems make use of geo-location data, and so it's important to
be able describe this data using this geo-location object defined in
this document.
5.1. Portability 5.1. Portability
In order to verify portability while developing this module the In order to verify portability while developing this module the
following standards and standard APIs and were considered. following standards and standard APIs and were considered.
5.1.1. IETF URI Value 5.1.1. IETF URI Value
[RFC5870] defines a standard URI value for geographic location data. [RFC5870] defines a standard URI value for geographic location data.
It includes the ability to specify the "geodetic-value" (it calls It includes the ability to specify the "geodetic-value" (it calls
this "crs") with the default being "wgs-84" [WGS84]. For the this "crs") with the default being "wgs-84" [WGS84]. For the
location data it allows 2 to 3 coordinates defined by the "crs" location data it allows 2 to 3 coordinates defined by the "crs"
value. For accuracy it has a single "u" parameter for specifying value. For accuracy, it has a single "u" parameter for specifying
uncertainty. The "u" value is in fractions of meters and applies to uncertainty. The "u" value is in fractions of meters and applies to
all the location values. As the URI is a string, all values are all the location values. As the URI is a string, all values are
specifies as strings and so are capable of as much precision as specifies as strings and so are capable of as much precision as
required. required.
URI values can be mapped to and from the YANG grouping, with the URI values can be mapped to and from the YANG grouping, with the
caveat that some loss of precision (in the extremes) may occur due to caveat that some loss of precision (in the extremes) may occur due to
the YANG grouping using decimal64 values rather than strings. the YANG grouping using decimal64 values rather than strings.
5.1.2. W3C 5.1.2. W3C
W3C Defines a geo-location API in [W3CGEO]. We show a snippet of W3C Defines a geo-location API in [W3CGEO]. We show a snippet of
code below which defines the geo-location data for this API. This is code below which defines the geo-location data for this API. This is
used by many application (e.g., Google Maps API). used by many applications (e.g., Google Maps API).
interface GeolocationPosition { interface GeolocationPosition {
readonly attribute GeolocationCoordinates coords; readonly attribute GeolocationCoordinates coords;
readonly attribute DOMTimeStamp timestamp; readonly attribute DOMTimeStamp timestamp;
}; };
interface GeolocationCoordinates { interface GeolocationCoordinates {
readonly attribute double latitude; readonly attribute double latitude;
readonly attribute double longitude; readonly attribute double longitude;
readonly attribute double? altitude; readonly attribute double? altitude;
skipping to change at page 15, line 46 skipping to change at page 15, line 46
either inherited from containing elements or directly specified as either inherited from containing elements or directly specified as
attributes "srsName" and optionally "srsDimension" on the "gml:pos". attributes "srsName" and optionally "srsDimension" on the "gml:pos".
GML defines an Abstract CRS type which Concrete CRS types derive GML defines an Abstract CRS type which Concrete CRS types derive
from. This allows for many types of CRS definitions. We are from. This allows for many types of CRS definitions. We are
concerned with the Geodetic CRS type which can have either concerned with the Geodetic CRS type which can have either
ellipsoidal or Cartesian coordinates. We believe that other non- ellipsoidal or Cartesian coordinates. We believe that other non-
Earth based CRS as well as virtual CRS should also be representable Earth based CRS as well as virtual CRS should also be representable
by the GML CRS types as well. by the GML CRS types as well.
Thus GML "gml:pos" values can be mapped directly to the YANG Thus, GML "gml:pos" values can be mapped directly to the YANG
grouping, with the caveat that some loss of precision (in the grouping, with the caveat that some loss of precision (in the
extremes) may occur due to the YANG grouping using decimal64 values extremes) may occur due to the YANG grouping using decimal64 values
rather than doubles. rather than doubles.
Conversely, YANG grouping values can be mapped to GML as directly as Conversely, YANG grouping values can be mapped to GML as directly as
the GML CRS available definitions allow with a minimum of Earth-based the GML CRS available definitions allow with a minimum of Earth-based
geodetic systems fully supported. geodetic systems fully supported.
GML also defines an observation value in "gml:Observation" which GML also defines an observation value in "gml:Observation" which
includes a timestamp value "gml:validTime" in addition to other includes a timestamp value "gml:validTime" in addition to other
components such as "gml:using" "gml:target" and "gml:resultOf". Only components such as "gml:using" "gml:target" and "gml:resultOf". Only
the timestamp is mappable to and from the YANG grouping. Furthermore the timestamp is mappable to and from the YANG grouping.
"gml:validTime" can either be an Instantaneous measure Furthermore, "gml:validTime" can either be an Instantaneous measure
("gml:TimeInstant") or a time period ("gml:TimePeriod"). The ("gml:TimeInstant") or a time period ("gml:TimePeriod"). The
instantaneous "gml:TimeInstant" is mappable to and from the YANG instantaneous "gml:TimeInstant" is mappable to and from the YANG
grouping "timestamp" value, and values down to the resolution of grouping "timestamp" value, and values down to the resolution of
seconds for "gml:TimePeriod" can be mapped using the "valid-until" seconds for "gml:TimePeriod" can be mapped using the "valid-until"
node of the YANG grouping. node of the YANG grouping.
5.1.4. KML 5.1.4. KML
KML 2.2 [KML22] (formerly Keyhole Markup Language) was submitted by KML 2.2 [KML22] (formerly Keyhole Markup Language) was submitted by
Google to the Open Geospatial Consortium, Google to the Open Geospatial Consortium,
skipping to change at page 16, line 50 skipping to change at page 16, line 50
height values using "kml:seaFloorAltitudeMode". One value is to height values using "kml:seaFloorAltitudeMode". One value is to
ignore the height value ("clampToSeaFloor") and the other is relative ignore the height value ("clampToSeaFloor") and the other is relative
("relativeToSeaFloor"). As with the "kml:altitudeMode" value, the ("relativeToSeaFloor"). As with the "kml:altitudeMode" value, the
YANG grouping supports the ignore case but not the relative case. YANG grouping supports the ignore case but not the relative case.
The KML location values use a geodetic datum defined in Annex A by The KML location values use a geodetic datum defined in Annex A by
the GML Coordinate Reference System (CRS) [ISO.19136.2007] with the GML Coordinate Reference System (CRS) [ISO.19136.2007] with
identifier "LonLat84_5773". The altitude value for KML absolute identifier "LonLat84_5773". The altitude value for KML absolute
height mode is measured from the vertical datum specified by [WGS84]. height mode is measured from the vertical datum specified by [WGS84].
Thus the YANG grouping and KML values can be directly mapped in both Thus, the YANG grouping and KML values can be directly mapped in both
directions (when using a supported altitude mode) with the caveat directions (when using a supported altitude mode) with the caveat
that some loss of precision (in the extremes) may occur due to the that some loss of precision (in the extremes) may occur due to the
YANG grouping using decimal64 values rather than strings. For the YANG grouping using decimal64 values rather than strings. For the
relative height cases the application doing the transformation is relative height cases, the application doing the transformation is
expected to have the data available to transform the relative height expected to have the data available to transform the relative height
into an absolute height which can then be expressed using the YANG into an absolute height, which can then be expressed using the YANG
grouping. grouping.
6. IANA Considerations 6. IANA Considerations
6.1. Geodetic System Values Registry 6.1. Geodetic System Values Registry
IANA is asked to create a new registry "Geodetic System Values" under IANA is asked to create a new registry "Geodetic System Values" under
a new protocol category group "YANG Geographic Location Parameters". a new protocol category group "YANG Geographic Location Parameters".
This registry allocates names for standard geodetic systems. Often This registry allocates names for standard geodetic systems. Often
skipping to change at page 17, line 39 skipping to change at page 17, line 39
more precise definition of the data is required. more precise definition of the data is required.
It should be noted that [RFC5870] also creates a registry for It should be noted that [RFC5870] also creates a registry for
Geodetic Systems (it calls CRS); however, this registry has a very Geodetic Systems (it calls CRS); however, this registry has a very
strict modification policy. The authors of [RFC5870] have the stated strict modification policy. The authors of [RFC5870] have the stated
goal of making CRS registration hard to avoid proliferation of CRS goal of making CRS registration hard to avoid proliferation of CRS
values. As our module defines alternate systems and has a broader values. As our module defines alternate systems and has a broader
(beyond Earth) scope, the registry defined below is meant to be more (beyond Earth) scope, the registry defined below is meant to be more
easily modified. easily modified.
The allocation policy for this registry is First Come First Served, The allocation policy for this registry is First Come, First Served,
[RFC8126] as the intent is simply to avoid duplicate values. [RFC8126] as the intent is simply to avoid duplicate values.
The initial values for this registry are as follows. The initial values for this registry are as follows.
+------------+------------------------------------------------------+ +------------+------------------------------------------------------+
| Name | Description | | Name | Description |
+============+======================================================+ +============+======================================================+
| me | Mean Earth/Polar Axis (Moon) | | me | Mean Earth/Polar Axis (Moon) |
+------------+------------------------------------------------------+ +------------+------------------------------------------------------+
| mola-vik-1 | MOLA Height, IAU Viking-1 PM (Mars) | | mola-vik-1 | MOLA Height, IAU Viking-1 PM (Mars) |
skipping to change at page 19, line 24 skipping to change at page 19, line 24
The NETCONF access control model [RFC8341] provides the means to The NETCONF access control model [RFC8341] provides the means to
restrict access for particular NETCONF or RESTCONF users to a restrict access for particular NETCONF or RESTCONF users to a
preconfigured subset of all available NETCONF or RESTCONF protocol preconfigured subset of all available NETCONF or RESTCONF protocol
operations and content. operations and content.
Since the modules defined in this document only define groupings, Since the modules defined in this document only define groupings,
these considerations are primarily for the designers of other modules these considerations are primarily for the designers of other modules
that use these groupings. that use these groupings.
All of the data nodes defined in this YANG module are All the data nodes defined in this YANG module are
writable/creatable/deletable (i.e., "config true", which is the writable/creatable/deletable (i.e., "config true", which is the
default). These data nodes may be considered sensitive or vulnerable default). These data nodes may be considered sensitive or vulnerable
in some network environments. Write operations (e.g., edit-config) in some network environments. Write operations (e.g., edit-config)
to these data nodes without proper protection can have a negative to these data nodes without proper protection can have a negative
effect on network operations. These are the subtrees and data nodes effect on network operations. These are the subtrees and data nodes
and their sensitivity/vulnerability: and their sensitivity/vulnerability:
None of the writable/creatable/deletable data nodes in the YANG None of the writable/creatable/deletable data nodes in the YANG
module defined in this document are by themselves considered more module defined in this document are by themselves considered more
sensitive or vulnerable then standard configuration. sensitive or vulnerable than standard configuration.
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. These are the subtrees and data notification) to these data nodes. These are the subtrees and data
nodes and their sensitivity/vulnerability: nodes and their sensitivity/vulnerability:
Since the grouping defined in this module identifies locations, Since the grouping defined in this module identifies locations,
authors using this grouping SHOULD consider any privacy issues that authors using this grouping SHOULD consider any privacy issues that
may arise when the data is readable. may arise when the data is readable (e.g., customer device locations,
etc).
This document does not define any RPC actions and hence this section This document does not define any RPC actions and hence this section
does not consider the security of RPCs. does not consider the security of RPCs.
8. Normative References 8. Normative References
[EGM08] Pavlis, N.K., Holmes, S.A., Kenyon, S.C., and J.K. Factor, [EGM08] Pavlis, N.K., Holmes, S.A., Kenyon, S.C., and J.K. Factor,
"An Earth Gravitational Model to Degree 2160: EGM08.", "An Earth Gravitational Model to Degree 2160: EGM08.",
Presented at the 2008 General Assembly of the European Presented at the 2008 General Assembly of the European
Geosciences Union, Vienna, Arpil13-18, 2008, 2008, Geosciences Union, Vienna, Arpil13-18, 2008, 2008,
skipping to change at page 23, line 6 skipping to change at page 23, line 6
leaf name { leaf name {
type string; type string;
description "name of locatable item"; description "name of locatable item";
} }
uses geo:geo-location; uses geo:geo-location;
} }
} }
} }
Figure 2: Example YANG module using geo location. Figure 2: Example YANG module using geo location.
Below is a the YANG tree for the fictitious module that uses the geo- Below is the YANG tree for the fictitious module that uses the geo-
location grouping. location grouping.
module: example-uses-geo-location module: example-uses-geo-location
+--rw locatable-items +--rw locatable-items
+--rw locatable-item* [name] +--rw locatable-item* [name]
+--rw name string +--rw name string
+--rw geo-location +--rw geo-location
+--rw reference-frame +--rw reference-frame
| +--rw alternate-system? string {alternate-systems}? | +--rw alternate-system? string {alternate-systems}?
| +--rw astronomical-body? string | +--rw astronomical-body? string
skipping to change at page 25, line 11 skipping to change at page 25, line 11
</locatable-items> </locatable-items>
Figure 3: Example XML data of geo location use. Figure 3: Example XML data of geo location use.
Appendix B. Acknowledgments Appendix B. Acknowledgments
We would like to thank Jim Biard and Ben Koziol for their reviews and We would like to thank Jim Biard and Ben Koziol for their reviews and
suggested improvements. We would also like to thank Peter Lothberg suggested improvements. We would also like to thank Peter Lothberg
for the motivation as well as help in defining a broadly useful for the motivation as well as help in defining a broadly useful
geographic location object, and Acee Lindem and Qin Wu for their work geographic location object, and Acee Lindem and Qin Wu for their work
on a geographic location object that led to this documents creation. on a geographic location object that led to this documents' creation.
Author's Address Author's Address
Christian Hopps Christian Hopps
LabN Consulting, L.L.C. LabN Consulting, L.L.C.
Email: chopps@chopps.org Email: chopps@chopps.org
 End of changes. 32 change blocks. 
43 lines changed or deleted 42 lines changed or added

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