TRILL Working Group                                   Deepak Kumar
Internet Draft                                               Cisco
Intended Status: Standard Track                       Yizhou Li
                                                            Huawei



Expires January 2017                                  July 20, 2016

                          TRILL Path Telemetry
                draft-kumar-trill-path-telemetry-00.txt

Status of this Memo

   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), 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/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 2, 2016.

Copyright Notice

   Copyright (c) 2016 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
 


Kumar et al.            Expires January 21, 2017                [Page 1]

Internet Draft            TRILL Path Telemetry             July 20, 2016


   described in the Simplified BSD License. 

Abstract          

   This document specifies Path Telemetry solution for network
   virtualization overlay networks. Methods in this document add TLVs to
   TRILL OAM Fault Management Path Trace Message and Path Trace Reply
   Message.








































 


Kumar et al.            Expires January 21, 2017                [Page 2]

Internet Draft            TRILL Path Telemetry             July 20, 2016


Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Conventions used in this document . . . . . . . . . . . . . . .  3
   3. Proposed TLV  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     3.1 Telemetry Statistics Request . . . . . . . . . . . . . . . .  4
     3.2 Telemetry Statistics Reply . . . . . . . . . . . . . . . . .  4
   4. Encapsulation of new TLVs . . . . . . . . . . . . . . . . . . .  7
   5 Operations . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     5.1 PTM Transmit . . . . . . . . . . . . . . . . . . . . . . . .  8
     5.2 PTM Receive and PTR Reply  . . . . . . . . . . . . . . . . .  8
     5.3 PTR Receive  . . . . . . . . . . . . . . . . . . . . . . . .  8
   4. Security Considerations . . . . . . . . . . . . . . . . . . . .  8
   5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . .  8
   15. References . . . . . . . . . . . . . . . . . . . . . . . . . .  8
     15.1. Normative References . . . . . . . . . . . . . . . . . . .  8
     15.2. Informative References . . . . . . . . . . . . . . . . . .  8
   16. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . .  9



1. Introduction

   This document provide TLVs to be added in RFC7455 defined Path Trace
   Message and Path Trace Reply Message to query telemetry data
   throughout the path for ingress and egress interface.

2. Conventions used in this document

      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].

      Acronyms used in the document include the following:


         PTM - Path Trace Message

         PTR - Path Trace Reply Message

         ECMP - Equal Cost Multipath


3. Proposed TLV

   This document introduces two new TLVs to query telemetry data inband
   using PTM and reply using PTR message.
 


Kumar et al.            Expires January 21, 2017                [Page 3]

Internet Draft            TRILL Path Telemetry             July 20, 2016


3.1 Telemetry Statistics Request

   The Telemetry Statistics Request TLV is used as a command on Receiver
   devices to query Telemetry Data and include it in PTR reply.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       | Length                        |  Command      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type (1 octet) = TBD-TLV-75

   Length (2 octets) = 1.

   Type = TBD-75
   Command = 0 - Get Telemetry Statistics

   In future Add Get and action for the statistics.

                    Figure 3 Telemetry Statistics Request TLV


3.2 Telemetry Statistics Reply

   The Telemetry Statistics Reply TLV is used to pack telemetry data and
   reply as part of PTR reply.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Type       | Length                        |    Reserved   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          ingress_len                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         bitlist ingress                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          bytes                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          bytes                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          pkt_rate                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          pkt_rate                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          byte_rate                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         byte_rate                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           load                                |
 


Kumar et al.            Expires January 21, 2017                [Page 4]

Internet Draft            TRILL Path Telemetry             July 20, 2016


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           load                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           ucast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           ucast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           mcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           mcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           bcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           bcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        discards                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        discards                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          errors                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          errors                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         unknown                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         unknown                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         queue depth                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Ingress Timestamp                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Ingress Timestamp                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Egress_len                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         bitlist egress                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          tx_bytes                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          tx_bytes                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       tx_pkt_rate                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       tx_pkt_rate                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       tx_byte_rate                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      tx_byte_rate                             |
 


Kumar et al.            Expires January 21, 2017                [Page 5]

Internet Draft            TRILL Path Telemetry             July 20, 2016


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_load                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_load                                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_ucast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_ucast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_mcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_mcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_bcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        tx_bcast                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     tx_discards                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                     tx_discards                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       tx_errors                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       tx_errors                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      tx_unknown                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      tx_unknown                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      tx queue depth                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Egress Timestamp                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Egress Timestamp                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                    Figure 4 Telemetry Statistics Reply TLV

   Type (1 octet) = TBD-TLV-76

   Length (2 octets) = 

   Type = TBD-75
   Value =
   For Each field please refer length in the diagram of TLV.

   Ingress_len = Length of Ingress interface statistics
 


Kumar et al.            Expires January 21, 2017                [Page 6]

Internet Draft            TRILL Path Telemetry             July 20, 2016


   bitlist Ingress = Indicating what statistics is valid.
                     Bit 0 indicate bytes, and so on.
                     Bitmap is 32 bits to cover 32 statistics.
   bytes = ifHCInOctets (Please refer RFC1573)
   pkt_rate = packets per second
   byte_rate = Bytes per second
   load = Interface load at scale of 255.
   ucast = ifHcInUcastPkts (Please refer RFC2863)
   mcast = ifHCMulticastPkts (Interface Multicast Receive Packet count)
   bcast = ifHCBroadcastPkts (Interface Broadcast Receive Packet count)
   discards = ifInDiscards (Interface Receive Discard Receive 
                            packet count)
   errors = ifInErrors (Interface Receive Error paket count)
   unknown = ifInUnknownProtos (Interface Uknown Protocol count)
   queue depth = Queue depth as percentage of max queue size
   Ingress timestamp = PTP timestamp
   tx_len = Length of Transmit statistics
   bitlist Egress = Indicating what statistics is valid.
                    Bit 0 indicate bytes, and so on.
   tx_bytes = ifHCOutOctets (Please refer RFC1573)
   tx_pkt_rate = packets per second
   tx_byte_rate = Bytes per second
   tx_load = Interface load at scale of 255.
   tx_ucast = ifHcOutUcastPkts (Please refer RFC2863)
   tx_mcast = ifHCOutMulticastPkts (Interface Multicast transmit 
                                    Packet count)
   tx_bcast = ifHCOutBroadcastPkts (Interface Broadcast Receive 
                                    Packet count)
   tx_discards = ifOutDiscards (Interface transmit Discard Receive 
                            packet count)
   tx_errors = ifOutErrors (Interface transmit Error paket count)
   tx_unknown = ifOutUnknownProtos (Interface transmit Unknown 
                                    Protocol count)
   tx queue depth = Transmit Queue depth as percentage of max queue size
   Egress Timestamp = PTP timestamp

   As Timestamp are in TLV it's more of software based Timestamp, as in
   trill Packet is delivered using hop count expiry hardware Timestamp 
   is not applicable.


4. Encapsulation of new TLVs

   Use PTM and PTR defined in RFC7455 and add TLV as extension of the
   PTM and PTR procedure.

5 Operations

 


Kumar et al.            Expires January 21, 2017                [Page 7]

Internet Draft            TRILL Path Telemetry             July 20, 2016


5.1 PTM Transmit

   Add Telemetry Statistics Request TLV after Mandatory TLV in PTM
   message.

5.2 PTM Receive and PTR Reply Process the PTM message as defined in
   RFC7455 and if telemetry request TLV is present then query the
   telemetry data on the switch and add Telemetry Statistics Reply TLV
   in PTR message after Mandatory TLVs.

5.3 PTR Receive Process the PTR message as defined in RFC7455. Parse the
   Telemetry Statistics Reply TLV and provide statistics to initiator.



4. Security Considerations

   Specific security considerations related methods presented in this
   document are currently under investigation.

5. IANA Considerations

   IANA is requested to allocate 2 CFM TLV types and add them in "CFM
   OAM IETF TLV Types" sub-reigistries:

   TBD values 75 - Telemetry Statistics Request 76 - Telemetry
   Statistics Reply

15. References

15.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate        
    Requirement Levels", BCP 14, RFC 2119, March 1997.

   [8021Q] IEEE, "Media Access Control (MAC) Bridges and Virtual        
    Bridged Local Area Networks", IEEE Std 802.1Q-2011, August,         
   2011.

15.2. Informative References

   [RFC4379] Kompella, K. et.al, "Detecting Multi-Protocol Label        
    Switched (MPLS) Data Plane Failures", RFC 4379, February         
   2006.

   [RFC6291] Andersson, L., et.al., "Guidelines for the use of the "OAM"
            Acronym in the IETF" RFC 6291, June 2011.

 


Kumar et al.            Expires January 21, 2017                [Page 8]

Internet Draft            TRILL Path Telemetry             July 20, 2016


   [Y1731] ITU, "OAM functions and mechanisms for Ethernet based        
    networks", ITU-T G.8013/Y.1731, July, 2011.

   [RFC7455] IETF, senevirathne, et. all, Transparent Interconnection   
         of Lots of Links (TRILL): Fault Management, March, 2015.


16. Acknowledgments

      This document was prepared using 2-Word-v2.0.template.dot.

   Authors' Addresses


   Deepak Kumar
   CISCO Systems
   510 McCarthy Blvd,
   Milpitas, CA 95035, USA

   Phone : +1 408-853-9760
   Email: dekumar@cisco.com

   Yizhou Li
   Huawei Technologies
   101 Software Avenue,
   Nanjing 210012
   China
   Phone: +86-25-56625375
   Email: liyizhou@huawei.com






















Kumar et al.            Expires January 21, 2017                [Page 9]