Re: Comments on raft-fz-6man-ipv6-alt-mark-01

Ole Troan <> Tue, 05 November 2019 09:04 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 31B6C1208E4 for <>; Tue, 5 Nov 2019 01:04:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id C4L_XZkysafk for <>; Tue, 5 Nov 2019 01:04:36 -0800 (PST)
Received: from ( [IPv6:2607:7c80:54:3::74]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 05A6B12086B for <>; Tue, 5 Nov 2019 01:04:36 -0800 (PST)
Received: from (unknown [IPv6:2a02:2121:283:c860:d12a:cf:e287:3e7f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPSA id 5BE364E11A76; Tue, 5 Nov 2019 09:04:35 +0000 (UTC)
Received: from [] (localhost []) by (Postfix) with ESMTP id 7E5522194B5C; Tue, 5 Nov 2019 10:04:17 +0100 (CET)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3601.0.10\))
Subject: Re: Comments on raft-fz-6man-ipv6-alt-mark-01
From: Ole Troan <>
In-Reply-To: <>
Date: Tue, 5 Nov 2019 10:04:17 +0100
Cc: Tom Herbert <>, Giuseppe Fioccola <>, 6man WG <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <>
To: Tianran Zhou <>
X-Mailer: Apple Mail (2.3601.0.10)
Archived-At: <>
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 05 Nov 2019 09:04:41 -0000


> Yes, I know 8200 considered and changed the way to process the HBH.
> Do you mean the following words?
> NOTE: While [RFC2460] required that all nodes must examine and
> process the Hop-by-Hop Options header, it is now expected that nodes
> along a packet's delivery path only examine and process the
> Hop-by-Hop Options header if explicitly configured to do so.
> From this I am always confused. We can decide/configure whether to process the HBH. But we cannot decide whether it's processed in fast path or slow path. I think this is one issue raised by the reference
> Do I miss some other words in 8200?

Right, HBH processing by a router now has to be explicitly configured.
E.g. if a router didn't support alt mark, it would be no purpose in even parsing the HBH header (unless other options also was configured and supported).

You can of course not control how efficient that implementation implements your option...

> In addition, we did test many asics and devices. They will direct packet to the slow path.
> In addition, in real deployment, there are legacy devices that follow RFC2460.
> So our idea is to show alternative options for potential environment. 

Sure, and this was discussed a lot in the context of the other RFC.

Hiding the per-hop options inside of destination options, would have pretty bad performance characteristics I would expect.

For HBH a router needs to:
if ipv6->nh == 0
   walk HBH TLVs and process them

For DestOpt a router would need to:
walk EH chain looking for DestOpt:
  walk DestOpt TLVs and make a guess which one is for in-flight versus destination

Using HBH you use a mechanism engineered for it, using DestOpt you are in middlebox territory. And you will be much more likely to end up conflicting with host functions.

Best regards,

PS: If you would do a EH performance testing project at the Singapore hackathon I would be all supportive.