SFC Working Group INTERNET-DRAFT Anil Kumar S N Intended Status: Standards Track Gaurav Agrawal Vinod Kumar S Huawei Technologies India Expires: June 13, 2016 December 11, 2015 Packet Delay Measurement for SFC draft-agv-sfc-packet-delay-measurement-00 Abstract Service provider service level agreements (SLAs) depend on the capability to measure and monitor performance metrics for packet Delay. The common reasons for packet delay are Nodal processing(Algorithmic, Packetization etc...), Queuing, Transmission delay, Propagation delay and Service Function processing delay. Packet Delay Measurement capability also provides operators with greater visibility into the performance characteristics of their networks, thereby facilitating planning, troubleshooting, and network performance evaluation. This document specifies best possible efficient and accurate mechanism for passive packet delay measurement for Service Function Chains (SFCs) for a SFC network domain. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html AGV Expires June 13, 2016 [Page 1] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html AGV Expires June 13, 2016 [Page 2] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 Copyright and License Notice Copyright (c) 2015 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 (http://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 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 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 Terms & Definition . . . . . . . . . . . . . . . . . . . . . 6 1.3 Applicability and Scope . . . . . . . . . . . . . . . . . . 9 2 Massage Format . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1 Performance Measurement Context Header . . . . . . . . . . . 10 2.2 Packet Delay PM Context Header . . . . . . . . . . . . . . . 10 2.3 Performance Measurement Flow ID . . . . . . . . . . . . . . 12 3 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1 Delay Measurement Options . . . . . . . . . . . . . . . . . 13 3.2 Packet Delay Parameters for Option 1 . . . . . . . . . . . . 13 3.3 Packet Delay Parameters for Option 2 . . . . . . . . . . . . 14 3.4 Initiating a Packet Delay Measurement . . . . . . . . . . . 15 3.5 Encapsulation of Classified Packets . . . . . . . . . . . . 15 3.6 Incoming Packets Processing at MA . . . . . . . . . . . . . 16 3.7 Outgoing Packets Processing at MA . . . . . . . . . . . . . 17 3.8 MA Reporting the statistics to Collector . . . . . . . . . . 17 3.9 Packet Delay Calculation at Collector . . . . . . . . . . . 18 3.9.1 Packet Delay Calculation at Collector (Option 1) . . . . 18 3.9.1 Packet Delay Calculation at Collector (Option 2) . . . . 18 4 Security Considerations . . . . . . . . . . . . . . . . . . . . 19 5 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 19 5.1 TLV Class . . . . . . . . . . . . . . . . . . . . . . . . . 19 6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.1 Normative References . . . . . . . . . . . . . . . . . . . . 20 6.2 Informative References . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 AGV Expires June 13, 2016 [Page 3] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 1 Introduction The delivery of end-to-end services often requires various service functions. These include traditional network service functions such as firewalls and traditional IP Network Address Translators (NATs), as well as application-specific functions. The definition and instantiation of an ordered set of service functions and subsequent "steering" of traffic through them is termed Service Function Chaining (SFC). The purpose of this memo is to define a mechanism for packet delay measurement for Service Function Chains (SFCs) As mentioned in [SFC-PM-arch] packet delay measurement could be performed using Active Measurement or Passive Measurement method. This document describes the Passive Measurement method & active measurement method is out of scope of this document. The passive packet delay measurement described in this document is realized by adding a new Context Header in the Network Service Header. AGV Expires June 13, 2016 [Page 4] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 1.1 Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. 1.2 Terms & Definition Network Service: An offering provided by an operator that is delivered using one or more service functions. This may also be referred to as a "composite service". The term "service" is used to denote a "network service" in the context of this document. Note: Beyond this document, the term "service" is overloaded with varying definitions. For example, to some a service is an offering composed of several elements within the operator's network, whereas for others a service, or more specifically a network service, is a discrete element such as a "firewall". Traditionally, such services (in the latter sense) host a set of service functions and have a network locator where the service is hosted. Classification: Locally instantiated matching of traffic flows against policy for subsequent application of the required set of network service functions. The policy may be customer/network/service specific. Classifier: An element that performs Classification. Service Function Chain (SFC): A service function chain defines an ordered set of abstract service functions and ordering constraints that must be applied to packets and/or frames and/or flows selected as a result of classification. An example of an abstract service function is "a firewall". The implied order may not be a linear progression as the architecture allows for SFCs that copy to more than one branch, and also allows for cases where there is flexibility in the order in which service functions need to be applied. The term "service chain" is often used as shorthand for service function chain. Service Function (SF): A function that is responsible for specific treatment of received packets. A Service Function can act at various layers of a protocol stack (e.g., at the network layer or other OSI layers). As a logical component, a service function can be realized as a virtual element or be AGV Expires June 13, 2016 [Page 5] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 embedded in a physical network element. One or more Service Functions can be embedded in the same network element. Multiple occurrences of the service function can exist in the same administrative domain. One or more service functions can be involved in the delivery of added-value services. A non-exhaustive list of abstract service functions includes: firewalls, WAN and application acceleration, Deep Packet Inspection (DPI), Lawful Intercept (LI), server load balancing, NAT44 [RFC3022], NAT64 [RFC6146], NPTv6 [RFC6296], HOST_ID injection, HTTP Header Enrichment functions, and TCP optimizer. An SF may be SFC encapsulation aware (that is, it receives and acts on information in the SFC encapsulation) or unaware (in which case, data forwarded to the SF does not contain the SFC encapsulation). This is often referred to as "SFC aware" and "SFC unaware", respectively. Service Function Forwarder (SFF): A service function forwarder is responsible for forwarding traffic to one or more connected service functions according to information carried in the SFC encapsulation, as well as handling traffic coming back from the SF. Additionally, an SFF is responsible for delivering traffic to a classifier when needed and supported , transporting traffic to another SFF (in the same or different type of overlay), and terminating the Service Function Path (SFP). Metadata: Provides the ability to exchange context information between classifiers and SFs, and among SFs. Service Function Path (SFP): The service function path is a constrained specification of where packets assigned to a certain service function path must go. While it may be so constrained as to identify the exact locations, it can also be less specific. The SFP provides a level of indirection between the fully abstract notion of service chain as a sequence of abstract service functions to be delivered, and he fully specified notion of exactly which SFF/SFs the packet will visit when it actually traverses the network. By allowing the control components to specify this level of indirection, the operator may control the degree of SFF/SF selection authority that is delegated to the network. SFC Encapsulation: The SFC encapsulation provides, at a minimum, SFP identification, and is used by the SFC-aware functions, AGV Expires June 13, 2016 [Page 6] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 such as the SFF and SFC-aware SFs. The SFC encapsulation is not used for network packet forwarding. In addition to SFP identification, the SFC encapsulation carries metadata including data-plane context information. Rendered Service Path (RSP): Within an SFP, packets themselves are of course transmitted from and to specific places in the network, visiting a specific sequence of SFFs and SFs. This sequence of actual visits by a packet to specific SFFs and SFs in the network is known as the Rendered Service Path (RSP). This definition is included here for use by later documents, such as when solutions may need to discuss the actual sequence of locations the packets visit. SFC-Enabled Domain: A network or region of a network that implements SFC. An SFC-enabled domain is limited to a single network administrative domain. SFC Proxy: Removes and inserts SFC encapsulation on behalf of an SFC-unaware service function. SFC proxies are logical elements. Network Node/Element: Device that forwards packets or frames based on outer header information. In most cases is not aware of the presence of NSH. Network Overlay: Logical network built on top of existing network (the underlay). Packets are encapsulated or tunneled to create the overlay network topology. Network Service Header: Data plane header added to frames/ packets. The header contains information required for service chaining, as well as metadata added and consumed by network nodes and service elements. NSH Proxy: Acts as a gateway: removes and inserts SH on behalf of a service function that is not NSH aware. Service Classifier: Function that performs classification and imposes an NSH. Creates a service path. Non-initial (i.e. subsequent) classification can occur as needed and can alter, or create a new service path. Measurement Collector : An operational function that collects measurement data from a Measurement Agent. Measurement collector is responsible for collecting the Performance measurement Data from Measurement Agent. Measurement collector functionality could be integrated with one of AGV Expires June 13, 2016 [Page 7] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 the MA or with the Controller itself. Measurement Agent: An operational function that contains one or more Measurement functions. Measurement Agents is responsible for understand and analyze Performance measurement control information encoded in NSH metadata and perform the performance data collecting and report the same to Measurement collector with key information to identify performance measurement instance along with data collected. Measurement Controller: An operational function that controls running, scheduling, and general coordination of Measurement functions by instructing a Measurement Agent using NSH metadata. Measurement Controller is responsible for Configuring the Performance measurement Instance. Optionally Performance measurement instance can be configured manually at the Ingress in which case Controller is not required Base Header: Provides information about service header and payload protocol Service Path Header: Provides Path identification and location within a path Context Header: Carries opaque metadata and variable length encoded information MD Type: Indicates format of NSH beyond Mandatory Base Header and Service Path Header. 1.3 Applicability and Scope This document defines the implementation mechanism for the Packet Delay Measurement as per Performance Measurement Architecture [SFC- PM-arch]. This document defines a new NSH Message Format for carrying Packet Delay Measurement related control information. It also defines Operations to be carried out for Packet Loss Measurement. Communication mechanism between Measurement Controller, Measurement Collector and MA is out of scope of this document. AGV Expires June 13, 2016 [Page 8] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 2 Massage Format 2.1 Performance Measurement Context Header The format of the Performance measurement context headers, is as described below. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class = (IANA PM Class) |C| PM Type |R|R|R| Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PM Metadata | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Performance Measurement Context Header TLV Class: As per [I-D.ietf-sfc-nsh] the TLV class value for Performance measurement needs to be applied from IANA. PM Type: indicates the type of performance measurement that needs to be carried out by the MA. Length: Length of the variable PM metadata, in 4-byte words. 2.2 Packet Delay PM Context Header The format of the Packet Loss PM context headers, is as described below. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class = (IANA PM Class) |C| PM Type |R|R|R| Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Measurement Window Index | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-~-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SI(1) | | SI(n) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-~-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Packet Loss PM Context Header TLV Class: As per [I-D.ietf-sfc-nsh] the TLV class value for Performance measurement needs to be applied from IANA. PM Type: Indicates the type of performance measurement that needs to be carried out by the MA. (IANA assigned PM Type PM Delay value) AGV Expires June 13, 2016 [Page 9] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 This memo defines the following values. 0x6 - Packet Delay : indicates PM meta data contains info for packet Delay. Specified SF(s) SHOULD participate in Packet Delay PM. 0x7 - SF Hop by Hop Packet Delay : indicates PM meta data contains info for packet Delay. All the SF(s) in the SFP SHOULD participate in the Packet Delay PM 0x8 - SFF Hop by Hop Packet Delay : indicates PM meta data contains info for packet Delay. All the SFF(s) in the SFP SHOULD participate in the Packet Delay PM 0x9 - All Hop by Hop Packet Delay : indicates PM meta data contains info for packet Delayss. All the SF(s) and SFF(s)in the SFP SHOULD participate in the Packet Delay PM 0xA - End to End : indicates PM meta data contains info for packet Delay. Classifier MA and SF domain boundary SFF SHOULD participate in the Packet Delay PMAdditional values can be added for future PM types and scenarios. Length: Length of the variable PM metadata, in 4-byte words. It will have a minimum length of 1 mention the measurement window index. Measurement Window Index: 16 bit number to denote the current measurement window to which the packet belongs. Reserved: Reserved 16 bits for future purpose. SI: List of participating Service functions in the SFP. It SHOULD be in decreasing order of the SI for optimized traversal of the SI participation. If the number of participating SF is not multiples of 4, then the last word of the PM context header needs to pad 0x0 to the make it 4 byte aligned. The Length of the Packet Delay PM context headers, is fixed to 1 as described below, when the PM Type is 2 to 5. Since all SF's in the SFP has to perform the Delay measurement specified in PM Type field. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class = (IANA PM Class) |C| Type 2to5 |R|R|R| Len=0x1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Measurement Window Index | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AGV Expires June 13, 2016 [Page 10] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 2.3 Performance Measurement Flow ID The method of encoding the PMF id is done using the flow id defined in [I-D.ietf-sfc-nsh]. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class = 0x0 |C| Type=0x7 |R|R|R| L=0x1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Performance Measurement Flow ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Sample encoding of PMF using flow ID 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver|O|C|R|R|R|R|R|R| Length | MD-type=0x2 | Next Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Service Path ID | Service Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class=IANA |C| Type=0x2 |R|R|R| Len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Measurement Window Index | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TLV Class = 0x0 |C| Type=0x7 |R|R|R| L=0x1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Performance Measurement Flow ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AGV Expires June 13, 2016 [Page 11] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 3 Operations For packet delay measurement all the MA's time should be synchronized from a centralized stable clock. Among many available time synchronization protocols all MAs's must use same protocol and synchronize time to the same centralized stable clock. Selection of type of time synchronization protocol is for MAs is out of scope of this document. Every MA needs to maintain the packet delay statistics which they immediately report it to collector or may accumulate and report to collector at a reporting interval which depends on local policy. 3.1 Delay Measurement Options There are 2 options for packet delay measurement Option 1: Delay Measurement is performed using single packet in the Measurement Window. Option 2: Delay Measurement is performed using multiple packet in a measurement window. In case of Option 2 is used for delay measurement, MA sums the measured time for the received window and reports the summed time together with the count of samples to the Collector. Collector will co-relate the time info received across multiple report and compute the average time for a window. 3.2 Packet Delay Parameters for Option 1 Parameters for Option 1: 1) Rx-Time[P][W] 2) Tx-Time[P][W] These parameters will be created and maintained at every MA Rx-Time[P][W]: This 2 dimensional Parameter is maintained at every MA. In this P stands for PMF ID and W stands for Window ID. It will contain the system time (NTP UTC time format) when packets is received for a given PMF ID + Window. PMF ID is unique within a SFC Domain, for a given PMF ID there could be multiple Windows. This Parameter is created when a Packet Delay PM packet is received at a first time within a Reporting interval. The Parameter is deleted upon expiry of Reporting interval at which it AGV Expires June 13, 2016 [Page 12] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 will be sent to Collector and deleted from MA. Tx-Time[P][W]: This 2 dimensional Parameter is maintained at every MA. In this P stands for PMF ID and W stands for Window ID. It will contain the system time (NTP UTC time format) when packets is sent out for a given PMF ID + Window. PMF ID is unique within a SFC Domain, for a given PMF ID there could be multiple Windows. This Parameter is created when a Packet Delay PM packet is sent at a first time within a Reporting interval. The Parameter is deleted upon expiry of Reporting interval at which it will be sent to Collector and deleted from MA. 3.3 Packet Delay Parameters for Option 2 Parameter for Option 2: 1) Rx-Sum-Time[P][W] 2) Rx-Sample-Count[P][W] 3) Tx-Sum-Time[P][W] 4) Tx-Sample-Count[P][W] These parameters will be created and maintained at every MA Rx-Time[P][W]: This 2 dimensional Parameter is maintained at every MA. In this P stands for PMF ID and W stands for Window ID. It will contain the sum of system time when packets are received for a given PMF ID + Window. PMF ID is unique within a SFC Domain, for a given PMF ID there could be multiple Windows. This Parameter is created when a Packet Delay PM packet is received at a first time within a Reporting interval. The Parameter is deleted upon expiry of Reporting interval at which it will be sent to Collector and deleted from MA. Rx-Sample-Count[P][W]: This 2 dimensional Parameter is maintained at every MA. In this P stands for PMF ID and W stands for Window ID. It will contain the count of the PM Delay Sample packets received for a given PMF ID + Window. Tx-Time[P][W]: This 2 dimensional Parameter is maintained at very MA. In this P stands for PMF ID and W stands for Window ID. It will contain the sum of system time when packets are sent for a given PMF ID + Window. AGV Expires June 13, 2016 [Page 13] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 PMF ID is unique within a SFC Domain, for a given PMF ID there could be multiple Windows. This Parameter is created when a Packet Delay PM packet is sent at a first time within a Reporting interval. The Parameter is deleted upon expiry of Reporting interval at which it will be sent to Collector and deleted from MA. Tx-Sample-Count[P][W]: This 2 dimensional Parameter is maintained at every MA. In this P stands for PMF ID and W stands for Window ID. It will contain the count of the PM Delay Sample packets sent for a given PMF ID + Window. 3.4 Initiating a Packet Delay Measurement Measurement Controller Programs the PM Instance at the Classifier. Within the PM Schedule as programmed in PM Instance, Classifier starts the packet classification (based on the classification rule programmed in PM Instance). The packet classification policy may be customer/network/service specific. 3.5 Encapsulation of Classified Packets For the classified packet, PM Context Header is prepared with following information - Set the Type Class value to the IANA Allocated PM Class. - Set the Type Value to the required Packet Delay Measurement type. - If Type Value = 0x6 o Encode the list of Service Index that need to participate in Packet Delay Measurement. - If Value = 0x7, 0x8, 0x9, 0x10 o No need to encode SI, since the type dictates the involved participating MA - Set the Window Identifier as the current running Window number - Encode the 32 bit globally unique PMF ID using the Flow Id Context Header as defined in [I-D quinn-sfc-nsh-tlv]. AGV Expires June 13, 2016 [Page 14] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 3.6 Incoming Packets Processing at MA On receiving the packet with NSH header following operations are carried out: Step 1: Detection of PM Context Header in a packet, by verifying the PM TLV Class as allocated by IANA. (If not detected, move to step 6) Step 2: Check if PM Type field value is 6 to 10. (If not move to step 6). Step 3: If PM Type Value = 7 to 10 move directly to Step 5 Step 4: Check Presence of self Service index in Service Index List (If not present, move to step 6) Step 5: If Option 1 is used then go to Step 5a, if Option 2 is used then go to Step 5b Step 5a: Record the value for PMF ID and Window ID; Record the time when the packet is received Rx-Time[P][W]. Step 5b: Record the value for PMF ID and Window ID; Record the time when the packet is received and sum it up in Rx-Sum-Time[P][W]. If Rx-Sum-Time[P][W] doesn't exist then create it and initialize it with recorded time value. Also Increment the value of statistics counter Rx-Sample-Count[P][W] by 1. If statistics counter doesn't exist, create it and initialize it with 1. Step 6: Packet is sent for Normal Processing AGV Expires June 13, 2016 [Page 15] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 3.7 Outgoing Packets Processing at MA At outgoing port of MA following operations are carried out. Step 1: If Option 1 is used then go to Step 2a, if Option 2 is used then go to Step 2b Step 2: If Option 1 is used then go to Step 2a, if Option 2 is used then go to Step 2b Step 2a: Record the value for PMF ID and Window ID; Record the time when the packet is sent Tx-Time[P][W]. Step 2b: Record the value for PMF ID and Window ID; Record the time when the packet is sent and sum it up in Tx-Sum-Time[P][W]. If Tx-Sum-Time[P][W] doesn't exist then create it and initialize it with recorded time value. Also Increment the value of statistics counter Tx-Sample-Count[P][W] by 1. If statistics counter doesn't exist, create it and initialize it with 1. Step 3: Packet is sent for Normal Processing 3.8 MA Reporting the statistics to Collector Reporting timer will run on Each MA. Consistency of this timer should be ensured across the entire MA in the SFP, ensuring the same is out of scope of this document. On expiry of this timer following information needs to be sent to the Collector. - Service Index - PM Type Value - Value of all the collected Rx-Time[P][W], Rx-Sum-Time[P][W], & Rx-Sample-Count[P][W] parameters along with the corresponding PMF ID and Window Id - Value of all the collected Tx-Time[P][W], Tx-Sum-Time[P][W], & Tx-Sample-Count[P][W] parameters along with the corresponding PMF ID and Window Id MA may delete the parameters after sending the same to collector. AGV Expires June 13, 2016 [Page 16] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 3.9 Packet Delay Calculation at Collector Collector accumulates the parameters per PMF per MA per Window. Collector computes the Packet Delay using the accumulated parameters per PMF per MA per Window. 3.9.1 Packet Delay Calculation at Collector (Option 1) Packet Delay between MA (for example from MA1 to MA2) = (MA2)Rx-Time[P][W] - (MA1)Tx-Time[P][W] Packet Delay at MA = (MA)Tx-Time[P][W] - (MA)Rx-Time[P][W] 3.9.1 Packet Delay Calculation at Collector (Option 2) On receipt of report from a MA Collector performs following operation 1) For a PMF if it has Rx-Sum-Time[P][W]/Tx-Sum-Time[P][W] related for an already collected window, received value will be summed up with an existing one, otherwise a new entry is created. 2) For a PMF if it has Rx-Sample-Count[P][W]/Tx-Sample-Count[P][W] related for an already collected window, received value will be summed up with an existing one, otherwise a new entry is created. 3) Average Time computation by Collector for every MA Average-Rx-Time[P][W] = Rx-Sum-Time[P][W]/Rx-Sample-Count[P][W] Average-Tx-Time[P][W] = Tx-Sum-Time[P][W]/Tx-Sample-Count[P][W] 4) Packet Delay between MA (for example from MA1 to MA2) = (MA2)Average-Rx-Time[P][W] - (MA1)Average-Tx-Time[P][W] Packet Delay at MA = (MA)Average-Tx-Time[P][W] - (MA)Average-Rx-Time[P][W] AGV Expires June 13, 2016 [Page 17] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 4 Security Considerations No specific security considerations for this document 5 IANA Considerations 5.1 TLV Class IANA is requested to allocate a new class value for performance measurement from "Network Service Header (NSH) Parameters" registry. Value Description Reference ----- ----------- --------- New Performance Measurement [SFC-PM-arch] AGV Expires June 13, 2016 [Page 18] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 6 References 6.1 Normative References [I-D.ietf-sfc-nsh] Quinn, P. and U. Elzur, "Network Service Header", draft- ietf-sfc-nsh-01 (work in progress), July 2015. [RFC1305] Mills, D., "Network Time Protocol (Version 3) Specification, Implementation and Analysis", RFC 1305, March 1992. [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, June 2010. 6.2 Informative References [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784 DOI 10.17487/RFC2784, March 2000, . [RFC5226] Narten, T. and H. Alvestrand,"Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, DOI 10.17487/RFC5226, May 2008, . [RFC7498] Quinn, P., Ed. and T. Nadeau,Ed.,"Problem Statement for Service Function Chaining", RFC 7498, DOI 10.17487/ RFC7498, April 2015, . [SFC-arch] Quinn, P., Ed. and J. Halpern, Ed., "Service Function Chaining (SFC) Architecture", 2014, . [SFC-PM-arch] Anil, Gaurav and Vinod., "Performance Measurement Architecture for SFC", 2015, [SFC-PM-Loss] Anil, Gaurav and Vinod., "Packet Loss Measurement for SFC", 2015, AGV Expires June 13, 2016 [Page 19] INTERNET DRAFT Packet Delay measurement for SFC December 11, 2015 Authors' Addresses Anil Kumar S N Huawei Technologies India Pvt. Ltd, Near EPIP Industrial Area, Kundalahalli Village, Whitefield, Bangalore - 560037 EMail: anil.sn@huawei.com Gaurav Agrawal Huawei Technologies India Pvt. Ltd, Near EPIP Industrial Area, Kundalahalli Village, Whitefield, Bangalore - 560037 EMail: gaurav.agrawal@huawei.com Vinod Kumar S Huawei Technologies India Pvt. Ltd, Near EPIP Industrial Area, Kundalahalli Village, Whitefield, Bangalore - 560037 EMail: vinods.kumar@huawei.com AGV Expires June 13, 2016 [Page 20]