| Internet-Draft | IOAM Using MPLS Network Actions | July 2026 |
| Gandhi, et al. | Expires 19 January 2027 | [Page] |
In situ Operations, Administration, and Maintenance (IOAM), defined in RFC 9197, is an on-path telemetry method to collect and record the operational state and telemetry information using, for example, Pre-allocated Trace, Proof-of-Transit, Edge-to-Edge, or Incremental Trace Option-Types that can be used to calculate various performance metrics. RFC 9326 defines the IOAM Direct Export (IOAM-DEX) Option-Type in which the operational state and telemetry information are collected according to the specified profile and exported in a manner and format defined by a local policy on each node along the path.¶
MPLS Network Actions (MNA) techniques are meant to indicate actions to be performed on any combination of Label Switched Paths, MPLS packets, and the node itself, and to transport data needed for these actions. This document employs the MNA mechanisms to collect and transport the on-path operational state, and telemetry information using IOAM data fields as well as using direct export.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 19 January 2027.¶
Copyright (c) 2026 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 (https://trustee.ietf.org/license-info) 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
In situ OAM (IOAM) [RFC9197] is an on-path telemetry method used to collect and record the operational state and telemetry information that can be used to calculate various performance metrics. Several IOAM Option-Types (e.g., Pre-allocated Trace, Proof-of-Transit (POT), Edge-to-Edge (E2E), and Incremental Trace) use user packets to collect the operational state and telemetry information. Such mechanisms transport the collected information to an IOAM decapsulating node (typically located at the edge of the IOAM domain within the data path).¶
IOAM Direct Export (IOAM-DEX) [RFC9326] is an IOAM Option-Type in which the operational state and telemetry information are collected according to the specified profile and exported in a manner and format defined by a local policy on each node along the path.¶
MPLS Network Actions (MNA) techniques [RFC9789] indicate actions to be performed on any combination of Label Switched Paths, MPLS packets, and the node itself, and also allow for the transport of data needed for these actions. [RFC9994] defines mechanisms for carrying the Network Action Sub-Stack (NAS) as part of the MPLS label stack, i.e., the In-Stack MNA solution. [I-D.ietf-mpls-mna-ps-hdr] defines mechanisms for carrying MNA and Ancillary Data (AD) below the MPLS label stack, i.e., as the Post-Stack MNA solution. [RFC9791] describes various use cases that can be realized using the MNA solution, including the IOAM and IOAM-DEX.¶
This document employs the MNA mechanisms to collect and transport the on-path operational state and telemetry information using IOAM data fields for IOAM Option-Types, IOAM Pre-allocated Trace, POT, E2E, and IOAM-DEX. The mechanism for exporting the collected information for the IOAM-DEX Option-Type is outside the scope of this document. Also, support for Incremental Trace IOAM Option-Type is outside the scope of this document.¶
OAM: Operations, Administration, and Maintenance¶
HBH: Hop-by-Hop¶
I2E: Ingress-to-Egress¶
IHS: Ingress-to-Egress (I2E), Hop-by-Hop (HBH) or Select Scope¶
IOAM: In situ OAM¶
IOAM-DEX: IOAM Direct Export¶
IOAM-DEX-ISD-MNA: IOAM Direct Export as MPLS Network Action ISD¶
ISD: In-Stack Data¶
PFN: Post-Stack First Nibble¶
PSD: Post-Stack Data¶
PSMH: Post-Stack MPLS Header¶
LSE: Label Stack Entry¶
MPLS: Multiprotocol Label Switching¶
MNA: MPLS Network Action¶
NAI: Network Action Indicator¶
NAS: Network Action Sub-Stack¶
NASL: Network Action Sub-Stack Length¶
The 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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
Pre-allocated Trace, POT, and E2E IOAM Option-Types [RFC9197] use user packets to collect and transport the operational state and telemetry information. This document defines the Post-Stack MNA [I-D.ietf-mpls-mna-ps-hdr] solution supporting Pre-allocated Trace, POT, and E2E IOAM Option-Types (Section 4.1).¶
However, for some use cases, e.g., mobile backhaul, in which network resources are closely controlled, collecting and transporting the telemetry information within a user packet may noticeably decrease the cost-efficiency of network operations. As such, collecting and transporting the operational state and telemetry information using the management plane is a viable option for some environments. IOAM-DEX [RFC9326] is capable of collecting the IOAM data fields defined in [RFC9197]. In this document, the In-Stack and Post-Stack realizations of IOAM-DEX are defined in Section 4.2 and Section 4.1, respectively.¶
The procedure defined in this document to carry IOAM Option-Types using the MNA solution can be applied to user traffic packets and active measurement test packets. [I-D.gandhi-ippm-stamp-mpls-hdr] uses the mechanisms to transport IOAM Option-Types using the MNA solution defined in this document, with Simple Two-Way Active Measurement Protocol (STAMP) test packets for Hop-by-Hop (HBH) and E2E measurements.¶
The presence of a corresponding Post-Stack MPLS Header (PSMH) is indicated in the NAS as defined in [I-D.ietf-mpls-mna-ps-hdr] and is shown in Figure 1.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA Label (value 4) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode | 13-bit Data (Format B) |P|IHS|S| NASL |U| NAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode | 16-bit Data (Format C) |S|4b Data|U| NAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Label | TC |1| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Post-Stack MPLS Header for IOAM and IOAM-DEX as per Figure 2 ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Optional Payload + Padding ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The MNA Label (value 4) is defined in [RFC9994].¶
The IHS scope field defined in [RFC9994] is used to indicate that I2E, HBH, or Select processing is required for the Network Action and Ancillary Data.¶
If both edge and intermediate nodes need to process the IOAM data fields, then the IHS scope MUST be set to "HBH, value 0x1". If only edge nodes need to process the IOAM data fields, then the IHS scope MUST be set to "I2E, value 0x0". The I2E scope allows skipping the IOAM data processing on the intermediate nodes, i.e., it avoids the need to parse all IOAM data fields to detect the HBH Option-Type.¶
U: The U flag for Unknown Action Handling is specified in [RFC9994].¶
S: The Bottom of Stack bit [RFC3032].¶
IHS (2-bit): The IHS field is set as specified in [RFC9994].¶
P: The P flag is set as specified in [I-D.ietf-mpls-mna-ps-hdr].¶
NASL (4-bit): The Network Action Sub-Stack Length (NASL) is set as specified in [RFC9994].¶
Opcode (7-bit): Opcode TBA1 for Network Action for IOAM and IOAM-DEX in PSD, for carrying an IOAM Option-Type and the associated data fields defined in [RFC9197] and the IOAM-DEX Option-Type and the associated data fields defined in [RFC9326], both in the PSMH. This network action is optional and can be carried in a Format B or Format C Label Stack Entry (LSE).¶
The Data (13-bit, next to the Opcode field) in the LSE contains the PSMH offset for this In-Stack Network Action in 4-octet units after the BoS LSE to the start of the corresponding Post-Stack Network Action Opcode. Due to the Post-Stack MPLS Base Header, the minimum value for the offset is 1 (i.e., 4 octets).¶
NAL (3-bit): The Length of Network Action (NAL) [RFC9994] is set to 0 for the In-Stack Network Action for the IOAM and IOAM-DEX Option-Type in Post-Stack ancillary data.¶
A packet may carry more than one In-Stack Network Action in an MNA Sub-Stack for IOAM and IOAM-DEX in the PSMH (for example, for different IOAM Option-Types as identified in Post-Stack ancillary data). There may be a different In-Stack Network Action (other than for the IOAM and IOAM-DEX) in the In-Stack MNA Sub-Stack.¶
An example encoding for IOAM and IOAM-DEX carried in a PSMH is shown in Figure 2.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PFN |Reserve| PSMH-Len | Type = MNA Post-Stack Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP |R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ ~ Beginning from Namespace-ID ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The Post-Stack MPLS Base Header is added that contains the following fields as defined in [I-D.ietf-mpls-mna-ps-hdr].¶
The PSMH is added after the Post-Stack MPLS Base Header and contains the Post-Stack Network Action Opcode for IOAM and IOAM-DEX, the length in number of 4-octet units, and the IOAM Option-Type with IOAM data fields in the Post-Stack ancillary data as shown in Figure 2. The IOAM data fields MUST follow the definitions corresponding to their IOAM Option-Types (e.g., see Section 4.4 of [RFC9197] and the IOAM-DEX Option-Type in Section 3 of [RFC9326]).¶
An IOAM Option-Type is added in the PSMH containing the following fields:¶
An example of multiple Post-Stack network actions with the same scope carrying different IOAM Option-Types is shown in Figure 3.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PFN |Reserve| PSMH-Len | Type = MNA Post-Stack Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP |R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA-PS-OP |R|R| PS-NAL | Block-Number |R|IOAM-Opt-Type| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ IOAM Option-Type and Data Space [RFC9197] [RFC9326] ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ Optional Payload + Padding ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This document uses all the elements of the IOAM-DEX Option-Type format defined in [RFC9326] to support IOAM-DEX in an MPLS network using MNA ISD [RFC9994].¶
To support the direct export of the operational state and telemetry information, the IOAM-DEX-ISD-MNA blob (binary large object) is placed as part of the ISD block in an MPLS label stack according to the MNA encoding procedures defined in [RFC9994].¶
Using the IHS field, the IOAM-DEX-ISD-MNA can operate in Hop-by-Hop, Ingress-to-Egress, or Select modes [RFC9789] to collect the operational state and telemetry information using an MNA Opcode (Figure 4).¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA Label (value 4) | TC |S| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Opcode = TBA2| 13-bit Data (Format B) |P|IHS|S| NASL |U| NAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~1| IOAM-DEX-ISD-MNA as per Figure 5 |S| ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Here, the enclosed elements are defined as follows:¶
Policies controlling the processing of the collected operational state and telemetry information, and their transport, are outside the scope of this document.¶
The IOAM-DEX-ISD-MNA blob in a NAS uses the LSE Format D, as defined in Section 4.4 of [RFC9994], that maps to the IOAM-DEX Option-Type format [RFC9326]. In addition to the requirement to preserve the S bit, the most significant bit in LSE Format D is always set to 1, avoiding a possible mix-up of the LSE with one of the Base Special Purpose Labels [RFC9994]. The format of the IOAM-DEX-ISD-MNA blob in an NAS is shown in Figure 5.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Namespace-ID | Reserved |S| Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| IOAM-Trace-Type-MNA |S|O|R| Ext-Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Flow ID MNA (Optional) |S| Flow ID MNA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1| Sequence Number MNA (Optional) |S| Seq Num MNA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Where fields are defined as follows:¶
0 1 2 3 4 5
+-+-+-+-+-+-+
|F|N|U|U|U|U|
+-+-+-+-+-+-+
Where fields are defined as follows:¶
The I2E IOAM data fields carry IOAM Option-Types that require processing on the encapsulating and decapsulating nodes only.¶
The IOAM Option-Type carried can be the IOAM E2E Option-Type (value 3) defined in [RFC9197] as well as the IOAM-DEX Option-Type (value 4) defined in [RFC9326]. The I2E IOAM data fields SHOULD NOT carry any IOAM Option-Type that requires IOAM processing on the intermediate nodes, as it will not be processed by them when the IHS scope is set to "I2E, value 0x0".¶
The I2E IOAM and IOAM-DEX Network Action procedure is summarized as follows:¶
The HBH IOAM data fields carry IOAM Option-Types that require processing at the intermediate and/or encapsulating and decapsulating nodes.¶
The IOAM Option-Type carried can be the Pre-allocated Trace (value 0), the POT (value 2), and the E2E (value 3) defined in [RFC9197] as well as the IOAM-DEX (value 4) defined in [RFC9326].¶
Note that the MPLS Network Action defined in this document is not supported for the HBH IOAM Incremental Trace Option-Type (value 1).¶
The Hop-by-Hop IOAM and IOAM-DEX Network Action procedure is summarized as follows:¶
Both HBH and I2E Scope IOAM may be carried in the Post-Stack MNA in an MPLS packet. In this case, the PSMH with HBH IOAM data fields MUST be added after the BoS and before the PSMH with I2E IOAM data fields. This way, the RLD required to process them on the intermediate nodes is minimized.¶
The decapsulating node that needs to remove the IOAM and IOAM-DEX data fields and perform the IOAM and IOAM-DEX functions may not be capable of supporting them. The encapsulating node needs to know if the decapsulating node can support the IOAM and IOAM-DEX functions. The signaling extension for this capability exchange is outside the scope of this document.¶
The intermediate node that is not capable of supporting the IOAM and IOAM-DEX functions defined in this document can simply skip the IOAM and IOAM-DEX processing.¶
When a packet is received with an MPLS encapsulated Network Action for IOAM and IOAM-DEX, and the nested MPLS encapsulating node needs to add a different Network Action for IOAM and IOAM-DEX, the node MUST add a new MNA Sub-Stack with the Network Action for IOAM and IOAM-DEX as part of the new MPLS encapsulation.¶
The encapsulating node needs to make sure that the IOAM and IOAM-DEX data fields in the MNA are added within the Readable Label Depth (RLD) of the downstream MNA-capable nodes in order for them to be able to process the IOAM and IOAM-DEX.¶
Operational considerations discussed in [RFC9994] and [I-D.ietf-mpls-mna-ps-hdr], management considerations discussed in [RFC9789], and management and deployment considerations discussed in [RFC9197] apply to this document. The performance considerations discussed in Section 5 of [RFC9326] are also applicable here.¶
Security considerations discussed in [RFC9197], [RFC9326], [RFC9994], [I-D.ietf-mpls-mna-ps-hdr] and [RFC9789] apply to this document.¶
The usage of MPLS Network Actions defined in this document for IOAM and IOAM-DEX is intended for deployment in a single network administrative domain. As such, it assumes that the operator enabling the IOAM and IOAM-DEX operations has previously verified the integrity of the path. Still, operators need to properly secure the IOAM and IOAM-DEX in the domain to avoid malicious configuration and use, which could include injecting malicious IOAM and IOAM-DEX packets into the domain.¶
IANA is requested to assign code points from its Network Action Opcodes registry (creation requested in [RFC9994] and update requested in [I-D.ietf-mpls-mna-ps-hdr]) as specified in Table 1.¶
| Opcode | Description | In-Stack Only, Post-Stack Only, In-Stack and Post-Stack | Reference |
|---|---|---|---|
| TBA1 | Network Action for IOAM and IOAM-DEX in PSD | In-Stack and Post-Stack | This document |
| TBA2 | Network Action for IOAM-DEX in ISD | In-Stack Only | This document |
The In-Stack Network Action with Post-Stack Data can be added to interleave Post-Stack network actions with In-Stack network actions. The following example shows how to process the Post-Stack NA before some of the In-Stack NAs.¶
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MNA Label (value 4) | TC |0| TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=8 | Ancillary Data |1|IHS|0| NASL=3|U|NAL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=1 | Flag-Based NAIs |0| NAIs |U|NAL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=TBA1 | Post-Stack Offset=1 |0|PS-NAI |U|NAL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Opcode=7 | Ancillary Data |1| AD |U|NAL=0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PFN |Reserve| PSMH-Len=1 | Type = MNA Post-Stack Header | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PS-OP=TBA1 |R|R| PS-NAL=0 | Post-Stack Data | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In this example, opcode 8 is processed first, followed by opcode 1 for Flag-Based NAIs, then opcode TBA1 (which has the corresponding Network Action opcode TBA1 in Post-Stack at an offset of 1 word, i.e., 4 octets from the BoS), and finally opcode 7.¶
The authors would like to thank Adrian Farrel and Xueyan Song for reviewing this document and providing review comments. The authors would also like to thank Patrick Khordoc, Sagar Soni, Shwetha Bhandari, Vengada Prasad Govindan, Tarek Saad, Stewart Bryant, Xiao Min, Jaganbabu Rajamanickam, and Cheng Li for reviewing the early version of this document. The authors would also like to thank Mach Chen, Andrew Malis, Matthew Bocci, and Nick Delregno for the MPLS-RT expert review of the early version of this document.¶
The following people have substantially contributed to this document:¶
Zafar Ali Cisco Systems, Inc. Email: zali@cisco.com Frank Brockners Cisco Systems, Inc. Germany Email: fbrockne@cisco.com Loa Andersson Huawei Technologies Email: loa@pi.nu¶