[spring] RFC8200 update?

Sander Steffann <sander@steffann.nl> Fri, 28 February 2020 12:02 UTC

Return-Path: <sander@steffann.nl>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 443363A16B8; Fri, 28 Feb 2020 04:02:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=steffann.nl
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0CVuU1nxPbGA; Fri, 28 Feb 2020 04:02:50 -0800 (PST)
Received: from mail.sintact.nl (mail.sintact.nl [83.247.10.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A56D83A0899; Fri, 28 Feb 2020 04:02:48 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.sintact.nl (Postfix) with ESMTP id 6788349; Fri, 28 Feb 2020 13:02:14 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=steffann.nl; h= x-mailer:date:date:message-id:subject:subject:mime-version :content-type:content-type:from:from:received:received; s=mail; t=1582891331; bh=WzTljdYJEOlU7vqeVKuL+8lNcGm3v/U2w3ucj2cXb6M=; b= ABUATsurWI+15MokwRVc+yEgd1eN7PEn8zCI3o9af3X+ZvWlxBuG97uw/ZtaaGkN CKzDi6l3vZDxyzHwa3Z2zNe6oRHcBk5Tbyj34KEZAQ4fxw4ZEihviCxQs2lXrVOA 9+NUgi1tnG5D4s5k60OldlCk0iE/n++vSeAfeNfNX6Y=
X-Virus-Scanned: Debian amavisd-new at mail.sintact.nl
Received: from mail.sintact.nl ([127.0.0.1]) by localhost (mail.sintact.nl [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 75g4vmjp2jo4; Fri, 28 Feb 2020 13:02:11 +0100 (CET)
Received: from [IPv6:2a02:a213:a300:ce80:d99f:7257:bc1b:f895] (unknown [IPv6:2a02:a213:a300:ce80:d99f:7257:bc1b:f895]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mail.sintact.nl (Postfix) with ESMTPSA id 3C5A03C; Fri, 28 Feb 2020 13:02:11 +0100 (CET)
X-Clacks-Overhead: GNU Terry Pratchett
From: Sander Steffann <sander@steffann.nl>
Content-Type: multipart/signed; boundary="Apple-Mail=_2C5B6F5F-A764-4608-B120-B205B0FEDBB0"; protocol="application/pgp-signature"; micalg="pgp-sha256"
Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3594.4.19\))
Message-Id: <D20C2322-8420-416A-90C4-6A2401825FBD@steffann.nl>
Date: Fri, 28 Feb 2020 13:02:07 +0100
To: SPRING WG List <spring@ietf.org>, 6man WG <ipv6@ietf.org>
X-Mailer: Apple Mail (2.3594.4.19)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/fn3CKonkRt-Rm54aupJ2SHt9WL8>
Subject: [spring] RFC8200 update?
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Feb 2020 12:02:54 -0000

Hi,

I have been thinking about SRv6 and the whole discussion around header removal at one of the SR nodes. While I strongly see the current network programming PSP function as a violation of RFC8200, one of the possible options is of course to update RFC8200 to allow some things that are currently not allowed.

Before you start throwing rotten tomatoes, hear me out :)

The most important argument against modifying a packet between the sender and the final receiver is that it can cause surprises for the sender. ICMP errors getting back to the sender about stuff the sender didn't do, pMTUd problems etc. And I think this is a very strong argument, and we shouldn't cause any surprises for the sender.

But, what if the sender *asks* the network to do things to its packets? Like in network programming. If the sender asks to have the network perform a certain function, it can't come as a surprise when it gets an ICMP error after the packet has been modified. It asked for that modification itself! And with that in mind, we might actually allow much more than just header removal in the network.

What if we update RFC8200 to allow packet manipulation in the network if and only if the sender of the packet explicitly asked for that? That would open the door for a whole range of innovation (PSP, WAN optimisation, payload compression etc), but only when requested. If the sender explicitly includes network programming instructions then there is no need anymore to forbid the execution of those instructions. No surprises, the possibility of smarts in the network, while still preserving the current semantics of an end-to-end network by default with strong rules about not messing with the packet.

Would this be a way forward that would accommodate everyones requirements?

Cheers,
Sander