sFlow.org Chen Rozenbaum https://sFlow.org/ Broadcom Corp. info@sflow.org Peter Phaal InMon Corp. December 2020 sFlow Transit Delay Structures Copyright Notice Copyright (C) sFlow.org (2020). All Rights Reserved. Abstract This memo describes an sFlow version 5 structure for exporting information about packet transit delay. Table of Contents 1. Overview ...................................................... 1 2. sFlow Datagram Extension ...................................... 1 3. References .................................................... 2 4. Author's Addresses ............................................ 2 1. Overview This document describes additional structures that allow an sFlow agent to export information about transit delay that a sampled packet packet experiences as it traverses a switching device. sFlow version 5 is an extensible protocol that allows the addition of new data structures without impacting existing collectors. This document does not change the sFlow version 5 protocol [1], it simply defines additional, optional, data structures that a network device can use to export packet transit delay information in sFlow. 2. sFlow Datagram Extension Transit delay is the time the sampled packet spent in the Network Device. The extended_transit structure defined in this document can be added to a flow_sample [1] to report transit delay for the sampled packet. Queue depth is the number of bytes already in the selected output DRAFT sFlow.org [Page 1] Version 0.4 sFlow Transit Delay Structures December 2020 queue when the sampled packet is enqueued. For VOQ based architectures, queue depth is the number of bytes already in the selected VOQ when the sampled packet is enqueued. For chassis based systems, the value should be the sum of all VOQs directed to the output port. The extended_queue structure defined in this document can be added to a flow_sample to report queue depth encountered by the sampled packet. An extended_egress_queue structure [2] must also be included to identify the selected output queue. The flow_sample input and output interface fields identify the path through the network device. /* Delay for sampled packet traversing switch */ /* opaque = flow_data; enterprise = 0; format = 1039 */ struct extended_transit { unsigned int delay; /* transit delay in nanoseconds 0xffffffff indicates value >= 0xffffffff */ } /* Queue depth for sampled packet traversing switch */ /* extended_egress_queue structure must be included */ /* opaque = flow_data; enterprise = 0; format = 1040 */ struct extended_queue { unsigned int depth; /* queue depth in bytes */ } 3. References [1] Phaal, P. and Lavine, M., "sFlow Version 5", https://sflow.org/sflow_version_5.txt, July 2006 [2] Schimmel, A., Roulin, A. and Phaal, P., "sFlow Dropped Packet Noti- fication Structures", https://sflow.org/sflow_drops.txt, October 2020 4. Author's Address Chen Rozenbaum Broadcom Corp. EMail: chen.rozenbaum@broadcom.com Peter Phaal InMon Corp. EMail: peter.phaal@inmon.com DRAFT sFlow.org [Page 2]