Guidelines and Registration Procedures for Interface Types and Tunnel TypesMicrosoftdthaler@microsoft.comIndependentdromasca@gmail.com
Internet
ifTypetunnelTypeTransmission NumberThis document provides guidelines and procedures for those who are defining, registering,
or evaluating definitions of new interface types ("ifType" values) and tunnel types.
The original definition of the IANA interface type registry predated
the use of IANA Considerations sections and YANG modules, so some confusion arose
over time. Tunnel types were added later, with the same requirements and allocation policy as
interface types. This document updates RFC 2863 and provides updated guidance for
these registries.Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by
the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 7841.
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
() in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in
Section 4.e of the Trust Legal Provisions and are provided without
warranty as described in the Simplified BSD License.
Table of Contents
. Introduction
. Terminology
. Problems
. Interface Sub-layers and Sub-types
. Alternate Values
. Available Formats
. Registration
. Procedures
. Media-Specific OID-Subtree Assignments
. Registration Template
. ifType
. tunnelType
. IANA Considerations
. MIB and YANG Modules
. Transmission Number Assignments
. Security Considerations
. References
. Normative References
. Informative References
Authors' Addresses
IntroductionThe IANA IfType-MIB, which contains the list of interface type (ifType) values,
was originally defined in as a separate MIB
module together with the Interfaces Group MIB (IF-MIB) module. The IF-MIB module was
subsequently updated and is currently specified in , but the latest IF-MIB
RFC no longer contains the IANA IfType-MIB. Instead, the IANA IfType-MIB is
maintained by IANA as a separate module. Similarly, created an initial
IANA Interface Type YANG Module, and the current version is maintained by IANA.The current IANA IfType registry is at , with the same values also
appearing in both and the
IANAifType textual convention at .Although the ifType registry was originally defined in a MIB module,
the assignment and use of interface type values are not tied to MIB modules
or any other management mechanism. An interface type value can be used
as the value of a data model object (MIB object, YANG object, etc.),
as part of a unique identifier of a data model for a given
interface type (e.g., in an OID), or simply as a value exposed by local
APIs or UIs on a device.The TUNNEL-MIB was defined in (now obsoleted by ),
which created a tunnelType registry ( and the IANAtunnelType textual
convention at ), and it
defined the assignment policy for tunnelType values to always be identical to the policy for assigning
ifType values.TerminologyThe key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY",
and "OPTIONAL" in this document are to be interpreted as described
in BCP 14 when, and only when, they appear
in all capitals, as shown here.ProblemsThis document addresses the following issues:
As noted in , the original guidance was written with wording
specific to MIB modules; accordingly, some confusion has resulted
when using YANG modules. This document clarifies that ifTypes and tunnelTypes are
independent from the type of, or even existence of, a data model.
The use of and requirements around sub-layers and sub-types
were not well understood, but good examples of both now exist.
This is discussed in .
Since the "Interface Types (ifType)" and "Tunnel Types
(tunnelType)" registries were originally defined, and are
still retrievable, in the format of MIB modules (in addition to other formats),
confusion arose when adding YANG modules as another format as to whether
each is a separate registry. This is discussed in .
The registries are retrievable in the format of MIB and YANG modules, but
there was previously no process guidance written to check that those formats were
syntactically correct as updates were made, which led to the registry having syntax errors
that broke tools. adds a validation step to the
documented assignment procedure.
Various documents and registries previously said to submit requests via email,
but a web form exists for submitting requests, which caused
some confusion around which was to be used. This is addressed
in .
Transmission values have generally been allocated as part
of ifType allocation, but no guidance existed as to whether a requester
must ask for it or not, and the request form had no such required field.
As a result, IANA has asked the designated expert to decide for each
allocation, but no relevant guidance for the designated expert has been
documented. This is remedied in .
Interface Sub-layers and Sub-typesWhen multiple sub-layers exist below the network layer,
each sub-layer can be represented by its own
row in the ifTable with its own ifType, with the ifStackTable being used to identify the
upward and downward multiplexing relationships between rows. provides more
discussion, and provides guidance for defining interface
sub-layers. More recent experience shows that those guidelines were
phrased in a way that is now too restrictive, since at the time
was written, MIB modules were the dominant data model.This document clarifies that the same guidance also applies to YANG
modules.Some ifTypes may define sub-types. For example, the tunnel(131)
ifType defines sub-types known as "tunnelTypes", where each tunnelType can have its own MIB and/or YANG
module with protocol-specific information, but there is enough in common
that some information is exposed in a generic IP Tunnel MIB corresponding
to the tunnel(131) ifType.For requests that involve multiple sub-layers below the network layer,
requests MUST include (or reference) a discussion of the multiplexing relationships
between sub-layers, ideally with a diagram. Various well-written examples exist of
such definitions, including , ,
and .Definers of sub-layers and sub-types should consider which model is more
appropriate for their needs. A sub-layer is generally used whenever either a
dynamic relationship exists (i.e., when the set of instances above or below a
given instance can change over time) or a multiplexing relationship exists
with another sub-layer. A sub-type can be used when neither of these is true
but where one interface type is conceptually a subclass of another interface type, as far
as a management data model is concerned.In general, the intent of an interface type or sub-type is that its definition should
be sufficient to identify an interoperable protocol. In some cases, however,
a protocol might be defined in a way that is not sufficient to provide
interoperability with other compliant implementations of that protocol.
In such a case, an ifType definition should discuss whether specific
instantiations (or profiles) of behavior should use a sub-layer model
(e.g., each vendor might layer the protocol over its own sub-layer
that provides the missing details) or a sub-type model (i.e., each
vendor might subclass the protocol without any layering relationship).
If a sub-type model is more appropriate, then the data model for the
protocol might include a sub-type identifier so that management software
can discover objects specific to the sub-type. In either case, such
discussion is important to guide definers of a data model for the more
specific information (i.e., a lower sub-layer or a sub-type), as well
as the designated expert, who must review requests for any such
ifTypes or sub-types.Alternate ValuesAnother design decision is whether to reuse an existing ifType or tunnelType
value, possibly using a sub-type or sub-layer model for refinements, or
to use a different value for a new mechanism.If there is already an entry that could easily satisfy the modeling and functional
requirements for the requested entry, it should be reused so that
applications and tools that use the existing value can be used without changes.
If, however, the modeling and functional requirements are significantly different
enough such that having existing applications and tools use the existing value
would be seen as a problem, a new value should be used.For example, originally different ifType values were used for different
flavors of Ethernet (ethernetCsmacd(6), iso88023Csmacd(7), fastEther(62), etc.),
typically because they were registered by different vendors. Using different values
was, however, seen as problematic because all were functionally similar, so then deprecated all but
ethernetCsmacd(6).As another example, a udp(8) tunnelType value was defined in
with the description "The value UDP indicates that the payload packet is
encapsulated within a normal UDP packet (e.g., RFC 1234)." The Teredo tunnel
protocol was later defined and encapsulates packets over UDP, but the
protocol model is quite different between and Teredo. For
example, supports encapsulation of multicast/broadcast traffic,
whereas Teredo does not. As such, it would be more confusing to applications
and tools to represent them using the same tunnel type, and so
defined a new value for Teredo.In summary, definers of new interface or tunnel mechanisms should use a new ifType or
tunnelType value rather than reuse an existing value when key aspects such
as the header format or the link model (point-to-point, non-broadcast multi-access,
broadcast-capable multi-access, unidirectional broadcast, etc.) are significantly
different from existing values, but they should reuse the same value when the differences
can be expressed in terms of differing values of existing objects other than
ifType/tunnelType in the standard YANG or MIB module.Available FormatsMany registries are available in multiple formats. For example,
XML, HTML, CSV, and plain text are common formats in which many registries
are available. This document clarifies that the ,
, and MIB and YANG modules
are merely additional formats in which the "Interface Types (ifType)" and "Tunnel Types (tunnelType)"
registries are available. The MIB and YANG modules are not separate registries, and the same
values are always present in all formats of the same registry.The confusion stemmed in part from the fact that the IANA "Protocol Registries"
listed the YANG and MIB module formats separately,
as if they were separate registries. However, the entries for the
yang-if-type and iana-tunnel-type YANG modules said "See ifType definitions registry"
and "See tunnelType registry (mib-2.interface.ifTable.ifEntry.ifType.tunnelType)"
respectively, although the entry for the IANAifType-MIB had no such note.
addresses this.RegistrationThe IANA policy (using terms defined in ) for registration is
Expert Review for both interface types and tunnel types. The role of the
designated expert in the procedure is to
raise possible concerns about wider implications of proposals for use and
deployment of interface types. While it is recommended that the responsible
Area Director and the IESG take into consideration the designated
expert opinions, nothing in the procedure empowers the
designated expert to override properly arrived-at IETF or working group
consensus.ProceduresSomeone wishing to register a new ifType or tunnelType value MUST:
Check the IANA registry to see whether there is already an entry that could
easily satisfy the modeling and functional requirements for the requested entry.
If there is already such an entry, use it or update the existing specification.
Text in an Internet-Draft or part of some permanently
available, stable specification may be written to clarify the usage of an
existing entry or entries for the desired purpose.
Check the IANA registry to see whether there is already some other entry with
the desired name. If there is already an unrelated entry under the desired name, choose
a different name.
Prepare a registration request using the template specified in .
The registration request can be contained in an Internet-Draft, submitted
alone, or submitted as part of some permanently available, stable specification. The registration request can also be submitted in some
other form (as part of another document or as a stand-alone document),
but the registration request will be treated as an "IETF Contribution"
under the guidelines of .
Submit the registration request (or pointer to a document containing it)
to IANA at iana@iana.org or (if requesting an ifType) via the web form
at .
Upon receipt of a registration request, the following steps MUST be followed:
IANA checks the submission for completeness; if required information is
missing or any citations are not correct, IANA will reject the registration
request. A registrant can resubmit a corrected request if desired.
IANA requests Expert Review of the registration request against the
corresponding guidelines from this document.
The designated expert will evaluate the request against the criteria.
Once the designated expert approves a registration, IANA updates ,
, and to show the registration for an interface type,
or , , and to show the registration
for a tunnel type.
When adding values, IANA should verify that the updated
MIB module and YANG module formats are syntactically correct before publishing the update. There are
various existing tools or websites that can be used to do this verification.
If instead the designated expert
does not approve registration (e.g., for any of the reasons in
), a registrant can resubmit a corrected request
if desired, or the IESG can override the designated expert and approve
it per the process in .
Media-Specific OID-Subtree Assignments notes:
The relationship between the assignment of ifType
values and of OIDs to particular media-specific MIBs
is solely the purview of IANA and is subject to change
without notice. Quite often, a media-specific MIB's
OID-subtree assignment within MIB-II's 'transmission'
subtree will be the same as its ifType value.
However, in some circumstances this will not be the
case, and implementors must not pre-assume any
specific relationship between ifType values and
transmission subtree OIDs.
The advice above remains unchanged, but this document changes the allocation procedure
to streamline the process, so that an ifType value and a transmission number value
with the same value will be assigned at the same time.Rationale:
This saves future effort if a
transmission number is later deemed necessary, since no IANA request is
needed that would then require another Expert Review.
The transmission numbering space is not scarce, so there seems to be little need to reserve the number for a different purpose than what the ifType
is for.
The designated expert need not review whether a transmission
number value should be registered when processing each ifType request, thus
reducing the possibility of delaying assignment of ifType values.
There is no case on record where allocating the same value could have
caused any problems.
Registration TemplateifTypeThe following template describes the fields that MUST be supplied in a registration request
suitable for adding to the "Interface Types (ifType)" registry:
Label for IANA ifType requested:
As explained in , a label for a named-number enumeration
must consist of one or more letters or digits, up to a maximum of 64 characters, and
the initial character must be a lowercase letter. (However, labels longer than 32
characters are not recommended.) Note that hyphens are not allowed.
Name of IANA ifType requested:
A short description (e.g., a protocol name) suitable to appear in a comment in the registry.
Description of the proposed use of the IANA ifType:
Requesters MUST include answers, either directly or via a link to a document
with the answers, to the following questions in the explanation
of the proposed use of the IANA IfType:
How would IP run over your ifType?
Would there be another interface sub-layer between your
ifType and IP?
Would your ifType be vendor specific / proprietary? (If so, the label
MUST start with a string that shows that. For example, if your company's
name or acronym is xxx, then the ifType label would be something like
xxxSomeIfTypeLabel.)
Would your ifType require or allow vendor-specific extensions? If so,
would the vendor use their own ifType in a sub-layer below the requested ifType,
a sub-type of the ifType, or some other mechanism?
Reference, Internet-Draft, or Specification:
A link to a document is required.
Additional information or comments:
Optional; any additional comments for IANA or the designated expert.
tunnelTypePrior to this document, no form existed for tunnelType (and new tunnelType requests did not
need to use the ifType form that did exist). This document therefore specifies a tunnelType
form.The following template describes the fields that MUST be supplied in a
registration request suitable for adding to the "Tunnel Types (tunnelType)" registry:
Label for IANA tunnelType requested:
As explained in , a label for a named-number enumeration
must consist of one or more letters or digits, up to a maximum of 64 characters, and
the initial character must be a lowercase letter. (However, labels longer than 32
characters are not recommended.) Note that hyphens are not allowed.
Name of IANA tunnelType requested:
A short description (e.g., a protocol name) suitable to appear in a comment in the registry.
Description of the proposed use of the IANA tunnelType:
Requesters MUST include answers, either directly or via a link to a document
with the answers, to the following questions in the explanation
of the proposed use of the IANA tunnelType:
How would IP run over your tunnelType?
Would there be another interface sub-layer between your tunnelType and IP?
Would your tunnelType be vendor-specific or proprietary? (If so, the label
MUST start with a string that shows that. For example, if your company's
name or acronym is xxx, then the tunnelType label would be something like
xxxSomeTunnelTypeLabel.)
Would your tunnelType require or allow vendor-specific extensions? If so,
would the vendor use their own tunnelType in a sub-layer below the requested tunnelType,
or some sort of sub-type of the tunnelType, or some other mechanism?
Reference, Internet-Draft, or Specification:
A link to a document is required.
Additional information or comments:
Optionally any additional comments for IANA or the designated expert.
IANA ConsiderationsThis entire document is about IANA considerations, but this section
discusses actions taken by and to be taken by IANA.
There are three registries affected:
Interface Types (ifType) : The registration process
is updated in , and the template is updated in .
Tunnel Types (tunnelType) : The registration
process is updated in , and the template is updated in .
Transmission Number Values :
The assignment process is updated in .
At the time of publication of this document, IANA is unable to
perform some of the actions requested below due to limitations of their current
platform and toolset. In such cases, IANA is requested to perform these actions
as and when the migration to a new platform that would enable
these actions is complete.
MIB and YANG Modules
IANA is to complete the following to clarify the relationship
between MIB modules, YANG modules, and the relevant registries.
The following note has been added to the IANAifType-MIB at
:
"This is one of the available formats of the Interface Types
(ifType) and Tunnel Types (tunnelType) registries."
The note for the iana-if-type YANG module
at has been
updated to read:
"This is one of the available formats of the Interface Types (ifType) registry."
The note for the iana-tunnel-type YANG
module at has
been updated to read:
"This is one of the available formats of the Tunnel Types (tunnelType) registry."
The new "Interface Parameters" category at includes entries for
"Interface Types (ifType)" , "Tunnel Types (tunnelType)" , and "Transmission
Number Values" .
Update the "Interface Types (ifType)" registry to list MIB and YANG as Available Formats.
Update the "Tunnel Types (tunnelType)" registry to list MIB and YANG as Available
Formats.
Replace the page
with the YANG module content rather than having a page that claims
to have multiple Available Formats.
Replace the
page with the YANG module content rather than having a page that
claims to have multiple Available Formats.
In addition, is to
be updated as follows:OLD:
Requests for new values should be made to IANA via email (iana@iana.org).
NEW:
Interface types must not be directly added to the IANAifType-MIB MIB module.
They must instead be added to the "Interface Types (ifType)" registry at
.
(Note that was
previously updated with this language.)
IANA has added this document as a reference in the "Interface Types
(ifType)", "Tunnel Types (tunnelType)", and "Transmission Number
Values" registries, as well as the iana-if-type
YANG Module, iana-tunnel-type YANG Module, and IANAifType-MIB.
Transmission Number AssignmentsPer the discussion in ,
has been updated as follows:OLD:
For every ifType registration, the corresponding transmission
number value should be registered or marked "Reserved".
NEW:
For future ifType assignments, an OID-subtree assignment MIB-II's
'transmission' subtree will be made with the same value.
Similarly, the following change has been made to :OLD:
For every transmission number registration, the corresponding
ifType value should be registered or marked "Reserved".
NEW:
For future transmission number assignments, an 'ifType' will be made with the same value.
Security ConsiderationsSince this document does not introduce any technology or protocol,
there are no security issues to be considered for this document
itself.For security considerations related to MIB and YANG modules that
expose these values, see , ,
and .ReferencesNormative ReferencesKey words for use in RFCs to Indicate Requirement LevelsIn many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.Structure of Management Information Version 2 (SMIv2)It is the purpose of this document, the Structure of Management Information Version 2 (SMIv2), to define that adapted subset, and to assign a set of associated administrative values. [STANDARDS-TRACK]The Interfaces Group MIBThis memo discusses the 'interfaces' group of MIB-II, especially the experience gained from the definition of numerous media-specific MIB modules for use in conjunction with the 'interfaces' group for managing various sub-layers beneath the internetwork-layer. It specifies clarifications to, and extensions of, the architectural issues within the MIB-II model of the 'interfaces' group. [STANDARDS-TRACK]Rights Contributors Provide to the IETF TrustThe IETF policies about rights in Contributions to the IETF are designed to ensure that such Contributions can be made available to the IETF and Internet communities while permitting the authors to retain as many rights as possible. This memo details the IETF policies on rights in Contributions to the IETF. It also describes the objectives that the policies are designed to meet. This memo obsoletes RFCs 3978 and 4748 and, with BCP 79 and RFC 5377, replaces Section 10 of RFC 2026. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.Guidelines for Writing an IANA Considerations Section in RFCsMany protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.This is the third edition of this document; it obsoletes RFC 5226.Ambiguity of Uppercase vs Lowercase in RFC 2119 Key WordsRFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.Informative ReferencesIANAifType-MIB DefinitionsIANAInterface Types (ifType)IANAProtocol RegistriesIANATunneling IPX traffic through IP networksThis memo describes a method of encapsulating IPX datagrams within UDP packets so that IPX traffic can travel across an IP internet. [STANDARDS-TRACK] This memo defines objects for managing DS1 Interface objects for use with the SNMP protocol. [STANDARDS-TRACK]Evolution of the Interfaces Group of MIB-IIThis memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing Network Interfaces. [STANARDS-TRACK]IP Tunnel MIBThis memo defines a Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing tunnels of any type over IPv4 networks. [STANDARDS-TRACK]Definitions of Managed Objects for the Ethernet-like Interface TypesThis memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for managing Ethernet-like interfaces. This memo obsoletes RFC 2665. It updates that specification by including management information useful for the management of 10 Gigabit per second (Gb/s) Ethernet interfaces.Definitions of Managed Objects for the Ethernet WAN Interface SublayerThis document defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP based internets. In particular, it defines objects for managing the Ethernet Wide Area Network (WAN) Interface Sublayer (WIS). The MIB module defined in this memo is an extension of the Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) Interface MIB and is implemented in conjunction with it and with the Ethernet-like Interface MIB, the 802.3 Medium Attachment Unit MIB, the Interfaces Group MIB, and the Inverted Stack Table MIB.IP Tunnel MIBThis memo defines a Management Information Base (MIB) module for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing tunnels of any type over IPv4 and IPv6 networks. Extension MIB modules may be designed for managing protocol-specific objects. Likewise, extension MIB modules may be designed for managing security-specific objects. This MIB module does not support tunnels over non-IP networks. Management of such tunnels may be supported by other MIB modules. This memo obsoletes RFC 2667. [STANDARDS-TRACK]Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)We propose here a service that enables nodes located behind one or more IPv4 Network Address Translations (NATs) to obtain IPv6 connectivity by tunneling packets over UDP; we call this the Teredo service. Running the service requires the help of "Teredo servers" and "Teredo relays". The Teredo servers are stateless, and only have to manage a small fraction of the traffic between Teredo clients; the Teredo relays act as IPv6 routers between the Teredo service and the "native" IPv6 Internet. The relays can also provide interoperability with hosts using other transition mechanisms such as "6to4". [STANDARDS-TRACK]Ethernet in the First Mile Copper (EFMCu) Interfaces MIBThis document defines Management Information Base (MIB) modules for use with network management protocols in TCP/IP-based internets. This document describes extensions to the Ethernet-like Interfaces MIB and Medium Attachment Unit (MAU) MIB modules with a set of objects for managing Ethernet in the First Mile Copper (EFMCu) interfaces 10PASS-TS and 2BASE-TL, defined in IEEE Std 802.3ah-2004 (note: IEEE Std 802.3ah-2004 has been integrated into IEEE Std 802.3- 2005). In addition, a set of objects is defined, describing cross- connect capability of a managed device with multi-layer (stacked) interfaces, extending the stack management objects in the Interfaces Group MIB and the Inverted Stack Table MIB modules. [STANDARDS-TRACK]IANA Interface Type YANG ModuleThis document defines the initial version of the iana-if-type YANG module.A YANG Data Model for Tunnel Interface TypesThis document specifies the initial version of a YANG module "iana-tunnel-type", which contains a collection of IANA-maintained YANG identities used as interface types for tunnel interfaces. The module reflects the "tunnelType" registry maintained by IANA. The latest revision of this YANG module can be obtained from the IANA website.Tunnel type values are not directly added to the Tunnel Interface Types YANG module; they must instead be added to the "tunnelType" IANA registry. Once a new tunnel type registration is made by IANA for a new tunneling scheme or even an existing one that is not already listed in the current registry (e.g., LISP, NSH), IANA will update the Tunnel Interface Types YANG module accordingly.Some of the IETF-defined tunneling techniques are not listed in the current IANA registry. It is not the intent of this document to update the existing IANA registry with a comprehensive list of tunnel technologies. Registrants must follow the IETF registration procedure for interface types whenever a new tunnel type is needed.Transmission Number ValuesIANATunnel Types (tunnelType)IANAiana-if-type YANG ModuleIANAiana-tunnel-type YANG ModuleIANAAuthors' AddressesMicrosoftdthaler@microsoft.comIndependentdromasca@gmail.com