[v6ops] Re: IETF WG state changed for draft-ietf-v6ops-claton
Jeremy Duncan <jduncan@tachyondynamics.com> Wed, 20 August 2025 12:38 UTC
Return-Path: <jduncan@tachyondynamics.com>
X-Original-To: v6ops@mail2.ietf.org
Delivered-To: v6ops@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id C5074567C9C7 for <v6ops@mail2.ietf.org>; Wed, 20 Aug 2025 05:38:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=tachyondynamics.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mNUPtfOjiLrC for <v6ops@mail2.ietf.org>; Wed, 20 Aug 2025 05:38:42 -0700 (PDT)
Received: from NAM04-DM6-obe.outbound.protection.outlook.com (mail-dm6nam04on2110.outbound.protection.outlook.com [40.107.102.110]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 7798E567C9BB for <v6ops@ietf.org>; Wed, 20 Aug 2025 05:38:42 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yqQ3j/iKK80cIIwHSDpQ5SNCuQC1JGKSWliCjEXhvInNXFtRhXH1T9tCurrNjHi/NFrdAZTOa2Z7UAFFJuril0Km8B50Ch+tSGTTFSaXMtnJOMkyRV6JwZbhcq/CSWbU7G0X8DvfPUJKIOWWPVVWH6sHKrNVpk1iQG0aHgsZkn7LCTPl4lr+rH8Hhf/XhDjUYS4/F0KcH3xypL0iYE5uy7yaJ9yAVfJk7lUk4qgYzPuy744oS0QzS0FsQDlpNrslhRNWnwWjAMQLZDTOVfHfAJzBkDOh/iizB4bHPXAzkjc+SM82J7Mxap1r4bnKrLKo+/ck+aUWuadGb25LUcbtUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6xv5wV0/Lfe704B2PAORfbiZ4IKSZ+gjAumYkimv5bo=; b=PbV7LHA52AcHC9Wyy4jG9OtEzYBax6PLsg26TDlKCJUQhHe5prpTZ/Dg9kvAUIiaEVYDqMCWM3O5zsLMAvoZ1LRkkn8gcnUxL0ITv4rC74ot2EOTyWXxbtMI4HeIWJlVo2q/o9X0XMCHFiT+ECz9mtelNgEj3nFtrDh4JQYiSHiicXz9bEWlaZscoqPMnPWrDFULWki4Mw6nWvLt4tEH6sVMOhoWdHFvh43k45aKXFaO5dBCYItMs/RZw+X1ZwA6UTpPaZZy8ZXIVy2GkHjsrbMRV3gpZojrS/fltWWEtF0c8KB0cVmq8voesGcluYozd3TL/7P1X/H5hF6xQblaag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tachyondynamics.com; dmarc=pass action=none header.from=tachyondynamics.com; dkim=pass header.d=tachyondynamics.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tachyondynamics.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6xv5wV0/Lfe704B2PAORfbiZ4IKSZ+gjAumYkimv5bo=; b=fOTyHby6B5MilZ2ZCyxkYLABTYsqtQl6G1egUdW5fvERxk+CBferJetEyUcdjKNrPBAo3qfH0mXkIwmW1yTQwHG/+GvLsGB7rnGxuczqUETYi8r4VQnPVXM2s+NEd1FmpUgZc+KfGAIXP5te7e8KYcFLiyh5/97wuVFVjzJJQno=
Received: from CH3PR18MB5794.namprd18.prod.outlook.com (2603:10b6:610:1b0::8) by CH0PR18MB4146.namprd18.prod.outlook.com (2603:10b6:610:e1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Wed, 20 Aug 2025 12:38:39 +0000
Received: from CH3PR18MB5794.namprd18.prod.outlook.com ([fe80::ac58:e2a4:302c:6793]) by CH3PR18MB5794.namprd18.prod.outlook.com ([fe80::ac58:e2a4:302c:6793%4]) with mapi id 15.20.9031.024; Wed, 20 Aug 2025 12:38:39 +0000
From: Jeremy Duncan <jduncan@tachyondynamics.com>
To: Jen Linkova <furry13@gmail.com>
Thread-Topic: [v6ops] Re: IETF WG state changed for draft-ietf-v6ops-claton
Thread-Index: AQHcChKjND+ikesaYkOdszldyp4cbLRdLrCAgAweqoCAAKVxEIABH+kAgAB1ZjA=
Date: Wed, 20 Aug 2025 12:38:39 +0000
Message-ID: <CH3PR18MB579406672C4EE18FEE317F10AC33A@CH3PR18MB5794.namprd18.prod.outlook.com>
References: <175391062335.244729.10744680885629396910@dt-datatracker-5bd446d5fd-c47nq> <CACMsEX_ZpNrBSjKEeaNdHmRsKKWfioFrfwLp5DyzmDd77uLW4w@mail.gmail.com> <CACMsEX9hOhzteEyrBe7ffzCOndUaonz4v-2BS2V6tYqE0k6H9g@mail.gmail.com> <E6F77F98-B907-4CEA-8D04-7005787E59D5@fugue.com> <CAFU7BARPq89aH5bWdVhxZPjuER+nc3T1gDsjnSCGKreCj3DVsA@mail.gmail.com> <CH3PR18MB57941C3E24D87950CA55D269AC30A@CH3PR18MB5794.namprd18.prod.outlook.com> <CAFU7BASxem5+AX+FXDmGat7rMMOLnOYOFJv619ooaSQyxpS1NA@mail.gmail.com>
In-Reply-To: <CAFU7BASxem5+AX+FXDmGat7rMMOLnOYOFJv619ooaSQyxpS1NA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=tachyondynamics.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH3PR18MB5794:EE_|CH0PR18MB4146:EE_
x-ms-office365-filtering-correlation-id: 61488173-daba-4f6b-432b-08dddfe67d2d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|10070799003|366016|376014|4022899009|38070700018;
x-microsoft-antispam-message-info: Hakox9zfa6FZMZonNN+dBWL63RKLsKRKIONzYdHSKR11g17rEa/M2i789wBoswbirBLuC9kiZ4ANbi2XYMx4swBTmCdNzBGduhPEORjoVscEfpPWdLZkrUofLevBJeo1E3gKpvCB1U4zZ4MMkPp60V4pnLt3ojuSKMDdB6ff7jBu8zA5EYptAGTIRUIWsdaVEU4L7MHg1pzm7dDQzuV2kmESMDdU2ajS4OuwdCzRB/BYyMrEKwmWuPK6mhGTQDpU9rRal8INdxJanr4WPKme+ePZeiKMaUB28lFJGKQm6vpXUUVmUOB7LHOXxvxy+8kuwlsnmJWjRFdEy0vbmX894IkjGuZDFS/cE5ej5sQMzeyTpnxbBmplFt5UlyzqCbinGvDcAD5NBvZhbg64ahaUQDokcBwW4BMhJZU1E5YoXE1SrhlK165ABa/Lzy/56SgoJO3+Qv6SiVm15LXaeo4utpWDb1rMINcdtDJH8CqfPkkrl2STBw8x6G6rUoipFHifVf5Mu2ri+fTQ7JT8KH7gioOPF73+HeKhZjVXcldIr0mjilWx13XkC85+UePzbWiLdS4AnI1CNATSEsusTw3dLbOmXSM5sD9cKTrcxgexRKsbYT7Axw3riW/U77uyF/7pHA9WSWyW26u0tIIbOW5ct7MSWlRzxIQYLcI2rk/RPupA3k1l7FQWypt9RjssbgXRvYVhL/HGIWG38Q2grNWkQzNNZn9g1Gf2qpFfCZeYwy2ddPItL/zJuLlsVzvJsKFtxdzURmUn/GxdW0kfwVUmHv/FmPpwHw+TQZO4+ygSfG8qKm0fI84nhif8AVGYvixpP8qkSJ323lkoH0hFnlPmbOdgccyz8X/BSXVC7V8YXBoOZ1L2DUAo3DYQ12Zx6QdgjegqBRtUE+pDLlRQPQRxTWnhKWITl3fqf6C0qWYAaSReAOEu7MTDx7avCNeOu2pgIpgQtZl5sM+FyHdnCJJsz0olgZXeKX9wcThO1Mj49fP7gMzsYLJVcF0AS8C2WWKBrM4gDvwzZhJLh2YifK5QDpgl2h2QFKUQs88RAvCC9OoB+Gs39c6YYDW2wXUO/PYPm3S0rucsRPwrX/WJxW/HUgiR/Q6ciT9IyXikToOhEYDOo9FCYg0Ft7RUHuH1AOsCFb50pgPmcRAE3nL/x19+XfZGMWM8mJdDCG5m0+JcjzN+N1p7t9h9pcnph79+x1t4PGgGqBst5HoCyqo1pVhO0YH2r5KZaQVtQZN1gRJ5wmXy3IUY5sz1P7ffsiA+t1V94HSLAG9FXcq3rsZdvFQUBn1oe+plm44XHfP8mUCDy0pU4JWklB2sPn5eaXyVfHW5KyDw+p/1hSPd47pmGEYRWST1iCJNXyGlBVkQ9YYYyba+LT2n9hBLlxuDg3fb2qH8SyBFQDw10AtLjJMpsgcehrkej7UdCXpRN3dP5TyeYNa3i+JtfsVVc2XJsvdFiiXIFzSuIWRirXEsAWHtRKuJllsOPylJqw7q5rPZchOXafI=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR18MB5794.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(10070799003)(366016)(376014)(4022899009)(38070700018);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 8bRy7uKxv4RhfHL/psrhKKRpd15+IeRyNz8qGqX/b5mcCmC8WmhphHFCjM9y6KNIikTrSDVkmctSiEzKipqvzme25ljqwE3u1pXPqS24gZkBRXTIQcwcYKY4sIQPIPiAvn43Mgeuv5mqha8bpFxZHLbfJ4XsuWjXcV6c6SBu6h2Fc9FXIVlYmeqrcOTSNy22gAC9PpwrfD5VeHSUcs/ADLCXHN2Ouiuz8Ecg6u/BsLZxal90wgS6RXuvzMs1nnmgNwXonbz1UtXT8AmA/GojzSpgnx/ekcPTvgVLqFESsNxCyQoiFunwyQCdicYQYo2aJ1RPwIbHs3ekg37Zqp8dZLNA/pPO1yfDdnT1m6Im7B5Qec7lYXmKSzvaHVSpMqjQyV8gBarnGXYgLgUEIBNMKrpehaZVTCcuhPINX39ajNX1XKCsKto7KPR433WwyYHC/MpaRFelRLvlb0M57Mvl8PMGdzPgdw2SR9HoNYOBUY8PuJSp7pWfWnA+V3MMWufRYA7AB1aYc74NwgUQY90TQiEPxPYA3aWQii/BnlQU7MlM09ixnJpYT7Xf4tpyAhejWFVUtnLubcUFvF25ppkic3SpVX/0FDE2cQnYPy5NWU1wapi/dQQ2OK511v+a9hCRHgkSNkX0EeLuBXd2MgTVnvGCY9f6j4IGVY7TyZ+/pmzyNbog82KQwEbJPU09xDQAgGwn6ySpGW2UIgHoOeuj6iXqrqIBOl1KTuLmeb7ekQBOuICxN5bOSN0lfqqBq2RCws2J4epezxgsAKdTwxCIoDU/zHpkKNqWDV0vzAzRDp9u0tUj19wUgCcg59Z9OI+1T5GUYH5b3XGzxvr7Dqy28fBxaXk2L3ppF+dkP+sIMBFG0b7FGCemxto7od+ARAOV2QidoQ1jcm3W5hMJCEnktDJ0RgoltAa9/dz0anrk/oVyWgbDFpPsIRPeyktlLWPITptgrA1fvWQmHOSiI/V+iK5xFqzno7PxEh8vEgek3Ml0I7GGN7dLwSRZ3Ur4HMhIVet8t2B/O0iXFW/c0lhrXMdubAQcJB0ob/e/Rr9qQVZPYtPhw4NBWYizDhAwB7EorQT2M8G8slN560reZLDvQWwbn8pGlQjnPMKEcH2/b/4CFgE3ZICw0TY0VlZ4r160ma3xnqF9+k/ciir7knTCXmkh6o6q3ZV9yolzEUbPFW9x0Znl0TcSsLpKS52OvbIJ02tLCeeCnGqOtb5uChMzNWgecGO8SX/B/gFpgzDmOH4AP5CliKWI/ndzR+UM4RDJI6j27NcLRncn7DC8uDDOj64jTlLOdbs0SlGNA0dAK9veOMCHD81Se+dT+HejeDtOSJczovuxUiDVt9YLnDKKb6iSXokLuCXOpIzI/wdezcFgZvKSgCNU0e2Z5tlCjgVFqZMRr5nFQtTzU0J+29apl56i1CY5ROD+iC+TRnkSchU3vThLBqBGLc1miCLVjU20UKSpZe1OHZJ7BCZQyONhhfAaAGF2l7UxCCKXcmZzZpq1So3ZYtIGV5P9YYirSmaCkqnqdMRkAdIY/yMfM8JhW3/ckvCG21odXxPK3L1bO7Nrsxp67mDE/xdme8Vx2A+dySvGIB2P6DYsV5hpqGc8+u/MkSd6IPxMqugp3wUJ4vsYGzJOWUZ7qdSV2mgE721lNtNwqPFCb/koDTOmVJKCDA==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: tachyondynamics.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH3PR18MB5794.namprd18.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61488173-daba-4f6b-432b-08dddfe67d2d
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2025 12:38:39.1669 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 306ea27d-bb9d-47c1-a6ca-c70495fc7695
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3fTxeVfVrBA0UBF6GD3NmDdacjCI1B9udG0xLdsamy5ICmH/T0cpIQS0cdjPe2g/dKJCo9MwtGAifO/iSk1+euy9Ybh1jpLdC5f/f6ecogc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR18MB4146
Message-ID-Hash: FXHGHBWRSYDV6TEW2PH4V5V4N4S3OUXJ
X-Message-ID-Hash: FXHGHBWRSYDV6TEW2PH4V5V4N4S3OUXJ
X-MailFrom: jduncan@tachyondynamics.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-v6ops.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: IPv6 Operations <v6ops@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [v6ops] Re: IETF WG state changed for draft-ietf-v6ops-claton
List-Id: v6ops discussion list <v6ops.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/qQFh5HF_JtueE63ty6v1yXY6CT4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Owner: <mailto:v6ops-owner@ietf.org>
List-Post: <mailto:v6ops@ietf.org>
List-Subscribe: <mailto:v6ops-join@ietf.org>
List-Unsubscribe: <mailto:v6ops-leave@ietf.org>
In line ---* below -Jeremy -----Original Message----- From: Jen Linkova <furry13@gmail.com> Sent: Wednesday, August 20, 2025 1:30 AM To: Jeremy Duncan <jduncan@tachyondynamics.com> Cc: Edward Lemon <mellon@fugue.com>; IPv6 Operations <v6ops@ietf.org>; Lorenzo Colitti <lorenzo@google.com> Subject: Re: [v6ops] Re: IETF WG state changed for draft-ietf-v6ops-claton [EXTERNAL] Verify links and attachments with sender. +Lorenzo as there is a discussion about "MUST" vs "SHOULD" for DAD.. Hi Jeremy, First of all, thank you very much for your feedback! On Tue, Aug 19, 2025 at 10:39 PM Jeremy Duncan <jduncan@tachyondynamics.com> wrote: > 1. Should there be something that addresses erratic IPv4 behavior in section 6? Meaning, sometimes an IPv4 address is received, is received from an untrusted or incorrect source, or the network DNS resolvers are incorrectly configured? This could cause a DoS or mess with overall on and off behavior of CLAT. Something similar to having a mechanism similar to RFC 8925 that sets a clock for network-accessible IPv4. If it's seen for 5 minutes (or whatever is set) wait to re-enable CLAT. Does that make sense? > Also, the same could be said for erratic IPv6-only as well. If the RA sends pref64 but it's not a valid option, etc. To be honest, I'm not convinced this document is the right place to solve this. You are describing attack vectors which are not specific to CLAT: rogue RAs and rogue DHCP servers can break IPv6 and IPv4 connectivity for hosts w/o CLAT. So it's fate sharing, and the questions are: What is an IPv4-enabled host supposed to do when it connects to a network but couldn't get IPv4 connectivity? Or if an IPv6-enabled host gets a rogue RA with incorrect information? But they are out of scope for this draft (though we do discuss it in the Security section, which will be expanded in the next revision. Does it make sense? ---* Yeah it makes sense, however, it's more than just a security problem as most of the time it's misconfigurations as well. So, a wild DHCP server that sends DHCP offers/replies sometimes, or a segment with (2) routers in HA, where one is configured to send the pref64 but the other isn’t and the host sees varying behavior. So, it's more likely network misconfiguration than it is security problems. > 2. I would argue that this section should be a MUST and not a SHOULD. At least in the case of conducting DAD. Especially since it is a MUST in RFC 8504 Node requirements for all nodes to conduct DAD. > > The node SHOULD treat its CLAT IPv6 addresses as any other IPv6 > address and comply with [RFC4861] and [RFC4862]. In particular: > > * Performing Duplicate Address Detection for each dedicated CLAT > address (Section 5.4 of [RFC4862]); > > - Justification: performing DAD minimizes loss of connectivity in > the unlikely event of address collision. Additionally, real > world deployment experience shows that network infrastructure > devices mandate a DAD packet from the client before enabling > network access. > > * Processing received unicast Neighbor Solicitations (NSes) as well > as multicast ones sent to the solicited-node multicast address > ([RFC4861]) for the node CLAT addresses. Ah, that's a good one. It was 'MUST' in -04, but after discussion during the v6ops session at IETF122 we changed it to SHOULD, as Lorenzo pointed out that it's very hard to do. So we downgraded it to SHOULD with clarifications. Personally, I agree it should be MUST, especially as https://datatracker.ietf.org/doc/html/rfc4862#section-5.4 says: "Duplicate Address Detection MUST be performed on all unicast addresses prior to assigning them to an interface,..." (there are exceptions but they are not applicable in the CLAT case). Lorenzo, any comments? Should we keep clarifications but use MUST? I recall you mentioned you migth be OK with it? ---* I think this is a big deal, and I still don't understand why a CLAT node should be exempted from DAD. I haven't heard a good argument that can't be used for other things in the network as well. Unless I am missing something this should be a MUST. > 3. Since RFC 1918 addresses can't be NATed in NAT64 using the 64:ff9b:: prefix, maybe having some discussion on recommending not using that prefix if the network provides 1918 addressing and CLAT nodes are needed to communicate with them. Ah, funny you should ask.. First of all, I've never seen a PLAT implementation which follows that MUST. Secondly, as we discussed in Madrid - maybe it's time to reconsider? You are suggesting "recommending not using that prefix if the network provides 1918 addressing and CLAT nodes are needed to communicate with them.": when a node starts CLAT, using 64:ff9b::/96 and - how does it know if it is needed to communicate with private IPv4 addresses? Also, that requirement is defined in rfc6052, which specifies the translation algorith which is used by CLAT. So, strictly speaking, it is already MUST - an RFC6052-compliant CLAT implementation would fail translating a packet from 192.0.0.0/29 to private destinations anyway. It's not about enabling/disabling CLAT, it is expected to be hardcoded deeper in the translator algorithm, which is out of scope for this document. ---* I am saying this for the application of CLAT for operators not the software implementation itself. Make it a SHOULD to say when RFC 1918 addresses are known and being used in a network, do not use the well-known 64:ff9b::/96 prefix. The prefix should be a configurable aspect anyway right? I know that is how the linux clatd is implemented. > 4. I also agree that the appendix diagram could get very confusing very fast as each conditional application were added. I'm a bit torn on this, because it could shed a lot of light to alleviate confusion for some but could cause a lot of confusion with others. Many in our field love pictures and this could be one that will help a lot. So would you prefer to keep it in the appendix (maybe with some clarifying text about 'it doesn't cover all possible cases, it's just an illustration for overall state machine") or to delete it? ---* Honestly, I could go either way here, I see it either way. > -----Original Message----- > From: Jen Linkova <furry13@gmail.com> > Sent: Monday, August 18, 2025 10:27 PM > To: Edward Lemon <mellon@fugue.com> > Cc: IPv6 Operations <v6ops@ietf.org> > Subject: [v6ops] Re: IETF WG state changed for draft-ietf-v6ops-claton > > [EXTERNAL] Verify links and attachments with sender. > > Hi Ted, > > Thank you for such a detailed review! > Sorry for the delayed response, comments inline. > > On Mon, Aug 11, 2025 at 7:22 PM Edward Lemon <mellon@fugue.com> wrote: > >> Because IPv4-only networks are inherently IPv6-ignorant, they might lack IPv6 layer2 security features, such as RA Guard, that would prevent spoofed RAs. An attacker can send an RA containing the PREF64 option, while the network doesn't provide any PLAT functionality. If the node keeps CLAT enabled and uses it for IPv4-only destinations, that traffic could be dropped (availability attack) or routed through an attacker-controlled route (active attack on insecure traffic or hoarding secure traffic for "Harvest Now, Decrypt Later" attacks for non-PQC secure traffic, see Section 8 of [I-D.ietf-pquip-pqc-engineers]). Rogue RAs can also disturb traffic to destinations that support both IPv4 and IPv6 by causing IPv6 through an attacker's PLAT to be used instead of the legitimate network owner's IPv4 path. > > > > > > This is very specific to managed networks, > > Actually it is also applicable for unmanaged networks. If a managed network allows for rogue RAs to be sent, we can call it ‘a misconfiguration’ and let the administrators figure it out and fix it. > In unmanaged networks such cases are much harder to detect/troubleshoot. > > >and nodes don't know whether or not they are on managed networks. On an unmanaged IPv6-only network with PREF64, do we suppose that the opposite attack (a rogue DHCPv4 server) is not possible? In this case turning off CLAT enables, rather than preventing, the attack. > > You are right, both attack vectors are possible. However, the authors believe that those scenarios are not really equal: nowadays it looks much more likely that an IPv4-only network has IPv6-unaware admin/configuration, than an IPv6-only network not having IPv4 L2 security features deployed. > > > > On managed networks, I think it's pretty clear that a better approach, if you are managing an IPv4-only network, is to have RA guard deployed if you don't want there to be RAs. Expecting the node to be able to figure out when to ignore RAs and when to ignore DHCP configurations isn't realistic. > > > > And in the unmanaged network context, which BTW is most networks, if we want the user to be safe, we should propose a way to make that happen that doesn't rely on the node guessing correctly. > > So, the network gives the host two signals: > > - It offers an IPv4 address via DHCP (no Option108). This looks like a strong indication that the network wants the host to use IPv4 (otherwise it would have provided 108). > - It also sends PREF64. It allows the host to enable CLAT but it can’t be used as a strong signal indicating what the network wants hosts to do. > > So the host is getting two conflicting signals. It might be a misconfiguration, it might be an attack or it might be a transition period before migrating the network to IPv6-mostly. > > There is no way to make a choice which is 100% safe (if the host still enables CLAT, it allows attacks based on rogue RAs, and if CLAT is disabled, it enables a rogue DHCP attack vector). So it comes down to risk management: how probable is the attack, what the impact, what’s the cost of mitigation. > > As I’ve mentioned already, a rogue RA in an IPv4-only network does look much more likely currently. By the time this changes (when IPv6-only networks are the default) we can revisit this in the context of CLAT being less necessary in the first place.. > > Thank you for making that point, I think we should expand this text (or move some of it to the Security Considerations, probably). > > > Thus: > > > > >There are some corner cases when the administrator might prefer the node to use CLAT even if the native IPv4 connectivity is available (e.g. for performance reasons, if IPv4 as a Service performs better than native IPv4). However for the reasons described above such behaviour MUST be explicitly enabled by the administrator via a configuration knob and MUST NOT be a default behaviour, especially for unmanaged nodes. > > > > > > Also seems like questionable advice. Realistically, on most networks no such configuration knob exists. And is the idea that we would configure this on the node? > > Yes. Basically, always enable CLAT - no matter what DHCP tells you. > Strictly speaking such knobs do exist: I can build a CLAT on my linux machine and start it unconditionally. > > > >What happens when the node is connected to a network for which this advice doesn't necessarily apply? E.g. an end user laptop that roams between work and home. At work, perhaps we want to enable CLAT when there is IPv4. At home we probably don't want that. But who knows? Reasoning about this now, based on what sorts of networks are commonly deployed now, is not particularly future-proof. > > That’s why this text is *allowing* for the knob to exist, but the administrator MUST enable it explicitly. So it’s all about managed networks. For example, I would definitely want this behaviour on workstations and servers, which do not move between networks. If we do not have this text, any node which enables CLAT unconditionally would violate requirements in this draft. > > > > My point here is that I think someone proposed adding this advice because it made sense to them and they wanted to close a gap, but I don't think a serious threat analysis has been done, and I don't think the language in the document actually does a good job of mitigating possible threats. If we want to actually solve this problem, we should come up with a serious solution and not hand-wavey advice. And hence we should not give hand-wavey advice that is maybe usually right now but can't be assumed to continue to usually be right going forward. > > > > So, if you think that the right thing to do is to disable CLAT when native IPv4 is present, I think it would be better to just say that, and not claim that this solves a problem it doesn't fully solve. > > IMHO, there are at least two reasons to document what hosts are supposed to do: > > 1. It makes implementations behave more predictable during gradual rollouts, which is the safe way of moving to IPv6-mostly networking. > For example, when I was rolling out IPv6-mostly in my network, I first rolled out PREF64 on all routers (well in advance), and then I was enabling 108 on a per-vlan basis. So there was a substantial period of time when my network was providing hosts with PREF64 but not option 108. Fortunately, all endpoints behaved the same and kept using IPv4 until they received option 108, otherwise it would have been a disaster. > > 2. People might disagree but we strongly believe it’s beneficial to document the reasoning behind decisions. So later, when we might want to reconsider, we know what made us put those “MUST” and “SHOULD” and whether those reasons are still applicable. > > Let us try to come up with a better threat analysis if one is needed, instead of removing all reasonings from the text. > > >> A dedicated prefix model, which Section 4.1 of [RFC6877] calls "wireline network architecture". > > > > > > Does importing the terms "wireline" and "wireless" from RFC6877 benefit this document in any way? If not, I'd just take that out—there's a lot of additional text to try to clarify why these terms don't mean what they literally mean, when I think just not using these terms at all would be clearer. After reading these two paragraphs, I have no idea what either of the terms means. Why not just explain what they mean here using the new terms, which seem clearer to me even though I don't at this point actually know what they mean. > > We are using the old terms (“wireline” and “wireless”) only in this section, exactly to establish the mapping between the old and the new terms, so the reader of this document who is familiar with RFC6877 was not confused. > > Would it be better if we rephrase the text and remove the last sentences in each bullet point, starting from “Despite the word ..”? > So the text will look like > > "There are two different 464XLAT deployments models: > > * A dedicated prefix model ([RFC6877] uses the term "wireline network architecture"). In that case, the node performing CLAT functions also extends the network downstream and provides network connectivity services to other connected systems. Those systems can be physical (e.g. various clients connected to a CPE router), or logical (e.g. > virtual systems running on a node, while the host system acts as a router and performs CLAT). In all those cases, systems behind the CLAT node usually use [RFC1918] addresses. > > * A single-address model, ([RFC6877] uses the term "wireless network architecture"). In that case, the CLAT instance provides an IPv4 address and the default route to the local node's network stack only. > When [RFC6877] was published, this deployment scenario was limited to 3GPP cases, while currently it is also deployed in other types of networks, such as enterprise networks and Wi-Fi hotspots, where hosts (as mobile phones, laptops and desktops) use CLAT to provide connectivity to IPv4-only local applications." > > > > > >> This approach limits the number of CLAT instances per node to 8, which seems to be more that sufficient at the time of writing. If in the future some deployment scenarios require more that 8 CLAT instances per node, a new larger IPv4 range will be requested from IANA. > > > > > > This appears to be limited to the "wireless" case. > > The whole paragraph is about the single address model. It currently begins with: > > “In the single-address model, the CLAT instance needs a single IPv4 CLAT address and a single CLAT-only IPv6 address (which is distinct from the one or more IPv6 addresses used by the node running CLAT for its own native IPv6 connectivity, see Section 7.2). The node providing CLAT functions to local applications SHOULD use IPv4 addresses from the dedicated 192.0.0.0/29 range..” > > We’ll look into clarifying that text even more, thank you! > > > > As I read back through the documents to understand that, I became even more convinced that you should not use these terms—they just make the document hard to read. You should have a terminology section where you define the two addressing modes, and not use the terms "wireless" and "wireline" anywhere else in the document. Just my opinion, but honestly, this is really confusing. > > The term “wireline” is used 3 times in the doc, once in the introduction and twice in the list in the section 7.1 - with the proposed changes (see above) it will be used once in 7.1. We’ll update the introduction to remove “wireline”. > > “Wireless” is used exclusively in 7.1, and nowhere else - so it’s only for explaining how the new term is related to RFC6877 terminology. > With the changes proposed above, the word “wireless” will be used only once. Would that address your concern? > > > > I would suggest turning the first two paragraphs of section 7 into the terminology section, and explicitly say that the dedicated prefix model means using an RFC1918 prefix, and the single-address model means using an RFC7335 prefix, and that they are otherwise the same. And then just say "this model is called wireline in RFC6877, but that term is no longer accurate and therefore is not used here" and the same for "wireless." > > Ack, will update the text > > > >> The node MUST NOT send packets on wire from the local CLAT address. > > > > This implies there's only one, but in both cases there's actually a prefix, so maybe say prefix rather than address? > > How about "In a single-address model, the node MUST NOT send packets on wire from the addresses belonging to the CLAT prefix"? > Or "The node MUST NOT send packets on wire from the local CLAT addresses"? > > >> The host SHOULD use 255.255.255.255 as a netmask for the CLAT address. That allows all 8 addresses from 192.0.0.0/29 to be used, if needed. > > > > Maybe add "since this means that each address is treated as being its own subnet, rather than being part of a subnet delineated by the prefix." Maybe that's obvious—I guess I figured it out. > > Makes sense, will update the text > > > >> In a dedicated prefix model, the CLAT instance MAY do one of the following: > >> - Perform stateful NAT44 to translate all IPv4 addresses from the dedicated prefix to a single IPv4 address, then perform stateless CLAT. > >> - Obtain a dedicated IPv6 address for each CLAT IPv4 address > >> - Obtain a dedicated /64 prefix via DHCPv6-PD. > > > > This feels really thin, and I'm starting to remember that the dedicated prefix model wasn't central to this work. There are paragraphs and paragraphs following this that describe the single-address model, but there's no further discussion of the dedicated prefix model. That's consistent with the previous comments I made about section 7. I wonder if this is actually making things better, or just confusing the issue? Maybe this should just say "the dedicated prefix model is out of scope for this document" or something like that. > > To be honest I’m not sure it’s a good idea. The difference between the single-address and the dedicated prefix is minimal. If you think we are missing some requirements for the dedicated prefix - we should fix it. Writing recommendations about what a phone, for example, should do when it does CLAT for an IPv4 app running locally but completely avoiding the discussion about tethering behaviour might be undesirable. > > Also, until we get PD-per-host on laptops/desktops, they might use CLAT in both single-address mode and dedicated prefix (e.g. when virtualization is enabled). Why should we avoid giving guidance? > > >> In a single-address model, the CLAT instance SHOULD obtain a > >> dedicated IPv6 address used exclusively for CLAT functions. This > >> is required [...] > > > > > > What's the exception that makes this not a MUST? "This is required..." seems to be saying that it's a MUST, not a SHOULD... > > How about s/This is required/This is needed/? > > .I guess we need to clarify the text further to say this is necessary > to avoid state-requiring complications rather than required in the > 2119 sense. The goal of this paragraph was to explain that w/o a dedicated address, CLAT cannot be stateless and the node would need to keep the state. So if the implementors are willing to go that path…well.. > > >> the CLAT instance SHOULD ensure that the address is > >> checksum-neutral > > > > > > What does "checksum-neutral" mean? I get what the effect is, but as an implementor what code do I need to write? > > Good point, we’ll update the text. > Clarifying question: are you looking for a definition of it, or for an algorithm to generate it? > > >> 464XLAT-4: The IPv6 Transition CE Router MUST implement [RFC8781] ("Discovering PREF64 in Router Advertisements") and SHOULD implement [RFC7050] ("Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis") in order to discover the provider-side translator (PLAT) translation IPv4 and IPv6 prefix(es)/suffix(es). > > > > > > SHOULD or MAY? We discussed this in the Thread Group and concluded that there isn't sufficient deployment of RFC7050 in the field to justify recommending 7050. If the implementor wants to do it, more power to them, but we concluded there was no need to recommend it. > > Unfortunately PREF64 is non-existent in 3GPP world yet, where 7050 > enjoys enough deployment to raise concerns from 3GPP participants in > IPv6 forums when we initially suggested preferring 8781 in the first place. > See https://datatracker.ietf.org/doc/draft-ietf-v6ops-prefer8781/ as well.. > > >> 464XLAT-4: The IPv6 Transition CE Router MUST implement [RFC8781] ("Discovering PREF64 in Router Advertisements") and SHOULD implement [RFC7050] ("Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis") in order to discover the provider-side translator (PLAT) translation IPv4 and IPv6 prefix(es)/suffix(es). > > > > Why do we prefer PCP to PREF64? I don't know of any implementations that use PCP to advertise the NAT64 prefix. > > RFC8781 recommends a specific order. We do not think this draft is the > right place to make changes and update RFC8781. Anyway, if there are > no implementations using PCP - well, then it doesn’t really matter…:) > > >> 464XLAT-7: If the IPv6 Transition CE Router performs CLAT functions it SHOULD also include the PLAT prefix in Router Advertisements ([RFC8781]) sent via the LAN interfaces. If the IPv6 Transition CE Router acts as a DHCP server it SHOULD enable DHCP Option 108 ([RFC8925]) processing. The router SHOULD have a configuration knob to disable DHCP Option 108 processing. > > > > > > Do you mean it SHOULD include it in a PREF64 option or a PIO option? > > Thank you, we’ll update the text to make it explicit that we are talking about the PREF64. > > >> Using the PREF64 RA option to detect PLAT presence and the NAT64 prefix is less prone to such attacks than DNS-based detection ([RFC7050]), as the attacker needs to be on-link and be able to bypass layer-2 security features such as RA Guard. Therefore Section 5 recommends the PREF64 RA option as a preferred way to detect PLAT presence. > > > > > > What about PCP? Is PCP similarly robust against off-link attacks and > > layer 2 security? (I haven't thought about this, so I'm not saying > > you're wrong here, but not talking about it seems like an omission > > given the current stated requirements.) > > We are trying to be realistic here and recommend a method which can be used currently. From a practical perspective in common deployments, the actual choice is between PREF64 and DNS64, so we focus on it, to ensure that implementers are not just implementing RFC7050 and consider it done. > > > >> If the instance utilizes the same CLAT address for an extensive > >> period of time or > > > > > > I think you mean "CLAT IPv6 address" here? > > Yes, we’ll fix it, thank you! > > >How does this advice impact checksum neutrality? :) > > I do not think it does…May I ask you to elaborate? > > >> To summarize, this document does not introduce any new privacy considerations. > > > > I would suggest leading with this, like so: > > > > This document does not introduce any new privacy considerations. Existing privacy considerations not documented in RFC6877 include: > > Makes sense, thank you! > > > The flowchart in Appendix A doesn't seem to shed a lot of light. There are no states, just arrows, and it's not clear where it starts. It feels a bit escheresque, which is a valid artistic posture, of course, but not necessarily helpful for implementations. As an example, there's a box at the top left that says "has native IPv4 route?" but how do we know that? Probably via DHCP, which we only start after determining that there is no native IPv4 default route. > > The draft actually does discuss it. But you're right, we shall change it to “native ipv4 connectivity” > > >The more I look at this flowchart the more confused I get. I think it should just go away unless you want to completely rework it. As a general rule my experience has been that non-normative flow charts are more likely to create than prevent interop problems, because it's so hard to be sure that you've gotten it right. E.g. the state transition diagram in RFC2132 wound up being wrong in a way that created interop issues (long since resolved, of course) because we actually didn't clearly understand all the states until there were a bunch of implementations. > > The authors would like to hear the WG opinion on that. Our personal experience is that this particular flowchart did help a lot to get a clear picture of what behavior we want to achieve. If you are convinced it’s harmful we can remove it, but I’m wondering if anyone else actually found it helpful. > > -- > Cheers, Jen Linkova (on behalf of the draft authors) > > _______________________________________________ > v6ops mailing list -- v6ops@ietf.org > To unsubscribe send an email to v6ops-leave@ietf.org -- Cheers, Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: Fwd: IETF WG state changed for draft-… Lorenzo Colitti
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: IETF WG state changed for draft-ietf-… Terry Sweetser
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Nathan Sherrard (nsherrar)
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Fwd: IETF WG state changed for draft-ietf… Nick Buraglio
- [v6ops] Re: IETF WG state changed for draft-ietf-… Nick Buraglio
- [v6ops] Re: IETF WG state changed for draft-ietf-… Edward Lemon
- [v6ops] Re: IETF WG state changed for draft-ietf-… Nick Buraglio
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jeremy Duncan
- [v6ops] Re: IETF WG state changed for draft-ietf-… Nick Buraglio
- [v6ops] Re: IETF WG state changed for draft-ietf-… Nick Buraglio
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Terry Sweetser
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Jen Linkova
- [v6ops] Re: IETF WG state changed for draft-ietf-… Tommy Jensen
- [v6ops] Re: IETF WG state changed for draft-ietf-… Lorenzo Colitti