Re: [v6ops] Fw: New Version Notification for draft-elkins-6man-ipv6-pdm-dest-option-04.txt

Ray Hunter <> Sun, 20 October 2013 12:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 25B9E11E83B7; Sun, 20 Oct 2013 05:07:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id D86ek-V6F8fQ; Sun, 20 Oct 2013 05:07:42 -0700 (PDT)
Received: from ( [IPv6:2001:470:1f14:62e::2]) by (Postfix) with ESMTP id DD26611E81B0; Sun, 20 Oct 2013 05:07:41 -0700 (PDT)
Received: from localhost (localhost []) by (Postfix) with ESMTP id 05DC1870076; Sun, 20 Oct 2013 14:07:33 +0200 (CEST)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 2FVtSBQZRb1a; Sun, 20 Oct 2013 14:07:32 +0200 (CEST)
Received: from Rays-iMac-2.local (unknown []) (Authenticated sender: by (Postfix) with ESMTPA id C7D7987003F; Sun, 20 Oct 2013 14:07:32 +0200 (CEST)
Message-ID: <>
Date: Sun, 20 Oct 2013 14:07:31 +0200
From: Ray Hunter <>
User-Agent: Postbox 3.0.8 (Macintosh/20130427)
MIME-Version: 1.0
To: Nalini Elkins <>
References: <> <>
In-Reply-To: <>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Cc: v6ops WG <>, 6man WG <>, "" <>
Subject: Re: [v6ops] Fw: New Version Notification for draft-elkins-6man-ipv6-pdm-dest-option-04.txt
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: v6ops discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 20 Oct 2013 12:07:43 -0000

Nalini Elkins wrote:
> All,
> I have revised the 6man submission to take out the calculations and packet flows.  All of these are in the IPPM document.   A notation of all the usage cases that this methodology should handle has also been added to the IPPM draft.
> The IPPM draft is here:
> The 6man draft is below.
> I appreciate any thoughts and comments.
> A new version of I-D, draft-elkins-6man-ipv6-pdm-dest-option-04.txt
> has been successfully submitted by Nalini Elkins and posted to the
> IETF repository.
> Filename:     draft-elkins-6man-ipv6-pdm-dest-option
> Revision:     04
> Title:         IPv6 Performance and Diagnostic Metrics Destination Option
> Creation date:     2013-10-16
> Group:         Individual Submission
> Number of pages: 12
> URL:   
> Status:
> Htmlized:
> Diff:  
> Abstract:
>    To diagnose performance and connectivity problems, metrics on real
>    (non-synthetic) transmission are critical for timely end-to-end
>    problem resolution. Such diagnostics may be real-time or after the
>    fact, but must not impact an operational production network. The base
>    metrics are: packet sequence number and packet timestamp.  Metrics
>    derived from these will be described separately. This document solves
>    these problems with a new destination option, the Performance and
>    Diagnostic Metrics destination option (PDM).
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at
> The IETF Secretariat

Given that it seems to me that:

1) encoding has to be fast, but decoding does not
2) a node's clock could be either in our out of synch with some notional
master clock (e.g. via NTP)
3) two clocks could be in synch to a master source, but the master
sources may themselves not share a common source (one sourced from GPS,
one from DCF77)
4) the key to being able to perform the end to end calculations is
whether two communicating nodes are synchronised to the same master
clock (within some level of error/jitter)
5) the absolute time is not particularly important

Q1. Why do you want to encode differences as deltas in the case of an
unsynchronised/ free running clock?

Isn't that slow, and difficult for hardware implementations to achieve
(e.g. TCP offload)?
Doesn't it also require maintaining large amounts of state in the
sending node.
Why not just encode the timestamp as-is and perform the appropriate
difference calculation during decoding?

Q2. Why do you need two separate packet formats at all?

Why not have a common format for all cases, containing a timestamp based
on the local clock, plus an optional field containing a flag that states
if the local timestamp is coordinated to some master clock, plus an
identifier for the master clock.

You could then encode whether a node had a free-running clock (case 2),
a synchronised clock (case 1), and whether it was synched via NTP to
some stratum 0 source e.g. GPS, and also some identification of the
stratum 1 source (IPv6 address).

Two communicating nodes could then use e.g. NTP trace to see if they
shared a common clock source or not, before performing their calculations.

IMHO that would then allow you to place some error bounds on your time
calculations, whilst also simplifying the implementation for the sender.