Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-mv0-trunking-update-03: (with DISCUSS and COMMENT)

Benjamin Kaduk <kaduk@mit.edu> Sat, 26 January 2019 20:58 UTC

Return-Path: <kaduk@mit.edu>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EE116130FFE; Sat, 26 Jan 2019 12:58:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mit.edu
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 nt-Y9lJtHcwv; Sat, 26 Jan 2019 12:58:26 -0800 (PST)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-eopbgr780110.outbound.protection.outlook.com [40.107.78.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CC3F8130FFA; Sat, 26 Jan 2019 12:58:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ruMkJae0n1nZDJIiQaaSfW4h9wdirQR8iNKn0uVFrn0=; b=DMRqYrwVNCppQg1dNKQqLB4iq0Q8MpgJdLL+shsIaHhdXmZWpGr36DaLEh0JMlUIIS4EMhyP9GierfkjdPajuB7rK9B6fYRHtsmgKCHsNygzHNHSV24KeKUoW4fn9Jz9rKy6wKyufKz0C9r6AUQxgIZrvu99BSRh2jh2kDSVCLg=
Received: from DM5PR0101CA0022.prod.exchangelabs.com (2603:10b6:4:28::35) by BYAPR01MB4487.prod.exchangelabs.com (2603:10b6:a03:98::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.16; Sat, 26 Jan 2019 20:58:25 +0000
Received: from DM3NAM03FT024.eop-NAM03.prod.protection.outlook.com (2a01:111:f400:7e49::207) by DM5PR0101CA0022.outlook.office365.com (2603:10b6:4:28::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1558.17 via Frontend Transport; Sat, 26 Jan 2019 20:58:25 +0000
Authentication-Results: spf=pass (sender IP is 18.9.28.11) smtp.mailfrom=mit.edu; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=bestguesspass action=none header.from=mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of mit.edu designates 18.9.28.11 as permitted sender) receiver=protection.outlook.com; client-ip=18.9.28.11; helo=outgoing.mit.edu;
Received: from outgoing.mit.edu (18.9.28.11) by DM3NAM03FT024.mail.protection.outlook.com (10.152.82.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1580.10 via Frontend Transport; Sat, 26 Jan 2019 20:58:24 +0000
Received: from kduck.mit.edu (24-107-191-124.dhcp.stls.mo.charter.com [24.107.191.124]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x0QKwK35001669 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 26 Jan 2019 15:58:22 -0500
Date: Sat, 26 Jan 2019 14:58:20 -0600
From: Benjamin Kaduk <kaduk@mit.edu>
To: David Noveck <davenoveck@gmail.com>
CC: The IESG <iesg@ietf.org>, draft-ietf-nfsv4-mv0-trunking-update@ietf.org, Spencer Shepler <spencer.shepler@gmail.com>, nfsv4-chairs@ietf.org, NFSv4 <nfsv4@ietf.org>
Message-ID: <20190126205820.GH49072@kduck.mit.edu>
References: <154706146206.5038.389871557428840458.idtracker@ietfa.amsl.com> <CADaq8je-npyZmw3HcU=its5BcpOD-fhBqyZUmDETmFWhV_PxPw@mail.gmail.com> <CADaq8jdo7BQuupv_ytX3LTpBST3VJxJb4SuBW1sxnFdHHc308Q@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CADaq8jdo7BQuupv_ytX3LTpBST3VJxJb4SuBW1sxnFdHHc308Q@mail.gmail.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-EOPAttributedMessage: 0
X-Forefront-Antispam-Report: CIP:18.9.28.11; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(346002)(396003)(39860400002)(376002)(136003)(2980300002)(189003)(199004)(426003)(30864003)(33656002)(55016002)(50466002)(4326008)(106466001)(53416004)(75432002)(186003)(229853002)(486006)(126002)(956004)(8936002)(246002)(39060400002)(305945005)(8676002)(446003)(26005)(336012)(476003)(11346002)(1076003)(14444005)(2906002)(7696005)(88552002)(478600001)(76176011)(15650500001)(2486003)(1411001)(54906003)(36906005)(316002)(356004)(58126008)(786003)(6916009)(104016004)(106002)(2870700001)(26826003)(47776003)(23676004)(6246003)(86362001)(18370500001); DIR:OUT; SFP:1102; SCL:1; SRVR:BYAPR01MB4487; H:outgoing.mit.edu; FPR:; SPF:Pass; LANG:en; PTR:outgoing-auth-1.mit.edu; MX:1; A:1;
X-Microsoft-Exchange-Diagnostics: 1; DM3NAM03FT024; 1:Jl3VbEzSTzw6vO0a7pWJ+ikV/RTxZWRJb8k1aDyHf2vyeMkjbuBfK6XQ6yJJ5l2e/OOs07UsRPlQjiopKC+azquA5as5aUGCGwMj48yqg7DbpvKXQzzCzcTlE2a3AqAMQAMVCb7bKAPlIonfLEJm2A==
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 5262308f-0efa-4422-80f8-08d683d10392
X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4608076)(4709027)(2017052603328)(7153060); SRVR:BYAPR01MB4487;
X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB4487; 3:fga2NDQWVOY6cqOgBhZyzx5DBg97T9CqrjYHA9EGzMZi+doXFigFEWlgtXCU/IvqQ6nXCnxv+GDf0pS4jZe5nqMwJk/r+fCzfSq1oAA6kUO4QfR9hEf60BaJPhOx8LY4ct/Ow4AzKORgKZu8eYsfIw24lUxkJzK/ZzwN1BSGTKbmw0/xPJKU5WNQZ7nDRDN67aYtogCb5CZCS0VchdVdT1oAOovzm6qnAekEiu8whPk/e7dabt0ydpQbMmDk696/mRpdm2MVQyJraV9+JBxZIieWJ0vKrxYSNZkvJhhLLq7fsmqIDplwvtpUl4uXMIhvhO6UuYEsTumunaAh6V7qaCPuFf+t2W6DTRC7w3YLZ6a2ykySaQa747elZoKSunv8; 25:ii63tRwhQjF/fUGYDDFzCYiae8mfYjvezRM7ehuLyJDj+2uV33xUZcDWL5vhEo8Ghpa6Gqo+f1BwkUCxj2ZTKGqMYlWlgvXYspdHJK5GullvJcR0+9NislVZnJB8LpqrQoUZPLYXQROwtA+SCJr9Jjn8Eu66No0H2WMq+BeEtnuQnHWsadQeFHXVwjh01CPm2R+sBDfdMUT7IVZ/H3kxGh6qRHeQI2uJdB0bWPOhvdn54DRsdx4acM+HxHtmN4a2jU7E6l/7qjAgiHbJhKDOJccHBZt1cu5GXK5Z7wXz373BaO1JPblPmNShDPInIuZhKUxsnd9YAC/bw6Z1+UGXKw==
X-MS-TrafficTypeDiagnostic: BYAPR01MB4487:
X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB4487; 31:YeMtHJ78VobUTretlFkMNX0scDSBmyEeffgKzkEl0VHrnIbwDbVeUcbiJf9Lt4AGCRyiU65EKJQwhkMJQDal6J9rHA5Xv+NLv+GyJDqa6CrVgni7aIzDokQsHd2RgOYjidPldsVc2s+1BLrA7WRjswmBZC4SSQMIw6uKypHUOQDlnrL64llr8hoWst+PLWSqchNUILsitmZEKkIpxYMi6xPFAkfS7D01pr21+muCRC8=; 20:9rtZKPBkIDQF4+SCooumIGe1gaYAKHKJ+6yySUyj5iYy2jECLo809rFVn57tvzVXsJtJhulGgGIFU9Q77YEsNBtL3lAxqZL0nmHq6wE3lukrMbuhZ1NTVITKgcDgStI5I5JAfPdKMhJK4ic5wbha6OAavrbVr0gIEhW1FKHOFSyY0GVNuNewS2JvY5vf6iS5GfWjwpQozvdUPLvoNUDeVinAjr55WeWEiBXwynHez6z7x7EpE9vI5fgkfaN8gWpbxtWLXPKzxR2yJ2km84vyHMJhuiGTRBVdCGlrfNJCcWr8Z52XHpdL7dRhVwUDEn1ZDCbtMdlFDh9TelU7UeHTziO9xD7j93XAjLh7tb/gAPPUsdH7r2RB/CcrH5OhfFq/kRVXC3PwToVJLmYK7H3s+Yp+9rqJ7Wtii+b4ZQASV/AeR8h7UBoJJCTTlR1yGCb6Tu1RsVNhLQl36sUqEIqXxnqFX/yAYAY+TnHbiZy7fqBK5/sa90IisGntcKBvLUCqHukZv9uBPZmMzn5/l3K1TZaRGDo/RqD1HLo3UKMR7FjEo14yrCrGlZVGATyU9elQZx2Xhx1j5MgPFscecS49bgWwRbShvu57qkfXcFkgr9M=
X-Microsoft-Antispam-PRVS: <BYAPR01MB4487B235D825227C98573B4AA0940@BYAPR01MB4487.prod.exchangelabs.com>
X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB4487; 4:xJD3k6+d1NnjOuedZku26RnbtjTB78NoBgirKqaQneNPjFPrBSByungtjjg43CnR6AbGs6Z88n7i8gttyY7hMZggrRB1midWB8Ym0VDjJtApxW7hqOgp+HMzWHs3aC1ZF7t1adJ9fjz7lnhYQ0xpF1eoGAUPa0aJ1xV4TxdkiYW10j77iDg0Jf3xcAzJl4l8MKYEJL4oEtrKESHC68bdZGUBLyPZN5b2cqjerphg7mCT11XJC0nO7euWMTCC+zbzpSlTj1v4aoY1vOBPO9qtTe8r3zcxVZnBoXb6gCSVR8cSpuaKKGn6hSob6K9nv7xl
X-Forefront-PRVS: 0929F1BAED
X-Microsoft-Exchange-Diagnostics: 1;BYAPR01MB4487;23:ZI3ZAyfPaiwhCxOIFFB7PmJ8qMqhD+DSjRaizlQv+zJyKW1geOsBdME24IZ8yvTBNQqsPVrV6vLTVafbAm2zO+OWpsINxNVmrZIY9Ze+pvAFWcl12ihZHJH8flw8ahkFW0PIGCgPPpaYcWMdarGM/Z2m7Yi8h1sc8UoMtCmWEulvsRi2IigjmjCKKPGWFqIDshfMC52DdMb5lpiENnMy5RTb8BzXQjejBr8UkI7RsIsYUhLhX3S6eGX8us/qTijvv8SDJvOVhwmRSjCycS4rn7MLn9dBQxWlZ37YCZDFUn1wWtIlE04MPx4Ve+aXqXVkecVCAshSibiCpvxoRKuZNm/AAa0MLdIKc6gQlzrNpJEHaQfqCjDMge1e+e6mT6NWb8WX7txTzwDv36KxpDAF8BO57UEyxiYJD/jZkemBgwr6kWfzkPbitPq9JeLvdc5wTjoruFsRYNYX9o6lN2A/3BnxqIRtmJAU/KNWIkKy3mIHO1nTV2Xlxycii6BAhJ9PROq2EAHCPye173YMMWhQfai35+TcKEGtTJLxXesx2Tf3U7WG2g2hGTrfICqHb0RyvFqglF58UVYK77wgmPKqocXp/i1HrLa034Ne773QTq1+7YURscVSMJPo0iiAbP9XD9bUV9/iS9H1mc0Iv7Z+A5B9ZjVMc4G4ctT7xMTajUWsl8QQwPINFoz0y5J5kFa2P+vsh2eKeQU4aoR1UzVwlG/RrEtHvPogbkvQJBWvObNiDl3WvkPxC58wxLQuoXnCHjGOmlxf7lOGttEIlviPfKdDtisbW/clRyEAN6wagjWBAPcQD4yzMWRAo9aAboeGFCr4C33il+nXqtVNuR5+mNKDSKALNhcrVs/25oPPE7IeKGfOPYsophTwLH0iHF/rq9dFecElUYYvM//Qzw6RM08kdpZEMX+DQGsIl5Jd+8nub59PDXvCr1KPmqMkZQCU3yVi1lbcQwt5+foTU06ccQj2brGP//pb2jTz6U3Aa2/mCbWWjkqicDQCMATTXWPnA274WHDCHd3JUj5U2qnNQu2KEyu1VRjdlBGZ0v079UfqcuOuCGwQmJPk61peOO2Ng0jgGrBNKMnjVMgrMms80Hk2OgIqjRkX72yAlZnGhMqAMl+5sd1Ao1BB8QdGz1oKcpSC2A/HRDTs+ikXViL7F51Be2y1PM0U3rEyLsIwk993lbYxsaledwYCgIFJ4x5XRo4jgQRhaJsCEIhNsYCU22TxZu9ZEYfhyZaRbto8/A2JOB1jD4fP59ullmv5eytT
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Message-Info: MUpsbi7aOGjTPIRt3PxOVHv5+pJ2lPYzP7DM1zqsrH2/EL56Q+8ykzS0FpCXChvTJ17dIw9DdZfONq4ExlYlvaubS39c0e2XDulf2Nkb1wei1tQSTvpVSVBu6U+VF3eY1UBjEf5mauPDMfR5/sLRRZM9hk5PreG/eTxqM1SC8syxDL10/NR8CCGasf9uiaZfLU/YFbGaKnYGZsYgD3dHgKwpcFdcx/ocdrvXf6E3nIKxu+Kl2fcmtVPmh9piC/A3cHo5swjStvETAcZVORSiZlNZeeYIggWFbSo3CcAXNyZwPqNZeUfGzVlA1g9reufZCz27S8LDxVjl6lMTfT59AIZXtUFR6Bv+kFwrg6JNKN1XtlQeAxu58qRDBYi9W8qKWNvUcgEn3sk9GKll05mF5VfjNnk5SmGLshKRtoXivnk=
X-Microsoft-Exchange-Diagnostics: 1; BYAPR01MB4487; 6:S37l61lNGxfX+H88EbDEEDgiPXAeQHHvXzzUuuN1QHBfM+70UZTYI+XuTt+whntaRo5ucxZA7yf6IJrxPy4KseR52mIM+QLKk5Ztx3DaRUZa4nnkJacl25LQv/J3ONR8t7+w+vZsoRr/Er0M5NWhUus7iIppoOPnZXu/apskoMmo1j5JeqW/5j/1m88H1fPaz3E/NtB+2A+vr8bD/gsXRDdaeAEHM98YgOUXmGlbqLgzeo1jsCdAJwa/PEp5y4CJBfA0tvGEyl8MkT4zMNiV7vXbTpyf8lTrZxq20vSGRen6gbptAX5y5V5hnmIpVw3GD+OzxR3bT3UuDjgPx18o7SBKMuaB/LB0WotVXvkuAcpU9aXTNkTbEU2+2y9fzbF9lHrzOxi5FMdBzLRAz55tBtpBl/gIK+f7955LuRlrTs1VtMBxwfsvUWULv6p/TcBvqw9Nzp1ae/wU/ZiVdMi+zQ==; 5:/+oYkXWASMylT2tKv4Wanw/TK7zkKmfS/TcMNl5jvOuutjKfvO8ODKaxiq8FQTNobF8od3hkHGWJy8LYibOKArLn7hxXEDuPcxQhyVT4ftJv1V3ULo5yDYEs0FNyrfR8cBPe+cUx2d8WFs7k9aros+BiiXDfG2IU4eQ12Ke5DYjrVdUHRHcrc1F/If60kV6A93NonV/J7sK5bxo4tEB2tQ==; 7:ZFe9PNcseAatkAjAehgwO6bdQxWDpnizndq/KpFn+ormQ02bq7TartFxci58oeyunDPQypZyQXFuMGpia6g1pNH8IQCurzQRgPF3IyOs51HM/dliUQvRebh/SwAITnanJrrRwy8L8ao/0y2gzeTH8Q==
X-OriginatorOrg: mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2019 20:58:24.4855 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5262308f-0efa-4422-80f8-08d683d10392
X-MS-Exchange-CrossTenant-Id: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=64afd9ba-0ecf-4acf-bc36-935f6235ba8b; Ip=[18.9.28.11]; Helo=[outgoing.mit.edu]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR01MB4487
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/RPAQ0g5lpdzljzi4Ij4Fg0UWb_M>
Subject: Re: [nfsv4] Benjamin Kaduk's Discuss on draft-ietf-nfsv4-mv0-trunking-update-03: (with DISCUSS and COMMENT)
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 26 Jan 2019 20:58:32 -0000

On Thu, Jan 24, 2019 at 04:22:28PM -0500, David Noveck wrote:
> Following are the responses to your non-DISCUSS comments.
> 
> > Section 1
> >
> >   As part of addressing this need, [RFC7931] introduces trunking into
> >   NFS version 4.0 along with a trunking detection mechanism.  This
> >   enables a client to determine whether two distinct network addresses
> >   are connected to the same NFS version 4.0 server instance.
> >   Nevertheless, the use of the concept of server-trunkability is the
> >   same in both protocol versions.
> 
> > Er, what are the two protocol versions in question?  (I assume 4.0 and
> 4.1,
> > but you don't say 4.1 anywhere.)
> 
> 
> 
> This was addressed by the introductory paragraphs about locking prompted by
> your DISCUSS.
> 
> The paragraphs were:
> 
> 
> 
> As part of addressing this need, [RFC7931] introduces trunking into NFS
> version 4.0 along with a trunking detection mechanism.  A trunking
> detection mechanism enables a client to determine whether two distinct
> network addresses are connected to the same NFS version 4.0 server
> instance.  This knowledge is necessary since, without it, a client unaware
> of a trunking relationship between paths it is using simultaneous is likely
> to become confused in ways described in [RF7530].
> 
> 
> 
> NFSv4.1 was defined with an integral means of trunking detection described
> in [RFC5661], while NFSv4.0 initially did not have one, with it being added
> by [RFC7931].  Nevertheless, the use of the concept of server-trunkability
> is the same in both protocol versions
> 
> >   o  To provide NFS version 4.0 with a means of trunking discovery,
> >      compatible with the means of trunking detection introduced by
> >      [RFC7931].
> >
> > We haven't yet mentioned that the distinction between "detection" and
> > "discovery" is important, so it's probably worth a forward reference to the
> > text below.
> 
> 
> 
> I think we can revise this bullet to read as follows in -04:
> 
> 
> 
>    - To provide NFS version 4.0 with a means of finding addresses trunkable
>    with a given address. i.e., trunking discovery, compatible with the means
>    of trunking detection introduced by [RFC7931].  For an explanation of
>    trunking detection and trunking discovery see Section 3.

Thanks.

> 
> 
> >Section 5.1
> 
> >   The fs_locations attribute (described as "RECOMMENDED" in [RFC7530])
> >
> > If you're going to describe this section as "replacing Section 8.1 of
> > [RFC7530]", then it needs to stand on its own without reference to the
> > current Section 8.1 of RFC 7530.  That is, if the "RECOMMENDED" nature is
> > to remain, then it should be described as such de novo in this text.
> 
> The problem we have to deal with is the fact that the term “RECOMMENDED” is
> not in accord with RFC2119.  .  RFC7530 deals with this by making an
> exception in its Section 1.1.   To avoid us having to do the same thing, we

Ah, I had completely missed that disclaimer in RFC 7530, whoops.

> could simply delete the parenthetical material and render the sentence as
> follows:
> 
> 
> 
> The fs_locations attribute allows specification of file system locations
> where the data corresponding to a given file system may be accessed.

We might also be able to point to Section 5.2 of 7530 for the RECOMMENDED
definition.  But since Section 2.2.7 also refers to it as "the fs_locations
RECOMMENDED attribute" as well as the main treatement in the (now-replaced)
Section 8.1, it seems we can probably get away with the minimalistic
version.

> 
> >      Clients use the existing means for NFSv4.0 trunking detection,
> >      defined in [RFC7931], to confirm that such addresses are connected
> >      to the same server.  The client can ignore addresses found not to
> >      be so connected.
> 
> > nit: I would suggest phrasing this as "use the NFSv4.0 trunking detection
> > mechanism [RFC7931] to confirm [...]", as temporal refernces like
> > "existing" may not age well
> 
> 
> 
> OK.  Will fix in -04.
> 
> .
> > not-nit: "ignore" is pretty strong; does this imply that a client is free
> > to ignore things like migration, replication, and referrals?
> 
> That needs to be rephrased.   The intention is that they can ignore the
> non-confirmed
> trunking relationship.
> 
> 
> 
> I think the following should appear in -04:
> 
> 
> 
> Clients use the means for NFSv4.0 trunking detection, defined in
> [RFC7931],  to confirm that such addresses are connected to the same
> server.  The client can ignore non-confirmed trunking relationships and
> treat the corresponding addresses as connected to different servers.

SGTM

> 
> 
> >      location entries.  If a file system location entry specifies a
> >      network address, there is only a single corresponding location
> >      element.  When a file system location entry contains a host name,
> >      the client resolves the hostname, producing one file system
> >      location element for each of the resulting network addresses.
> >      Issues regarding the trustworthiness of hostname resolutions are
> >     further discussed in Section 7.
> 
> >nit(?) this is confusing if we read "Section 7" as being "Section 7 of RFC
> > 7530", which is a tempting reading since this text is supposed to replace
> > text in that document.  Perhaps "Section 7 of [[this document]]" would make
> > more sense (but I also forget the RFC Editor's policy on such
> > self-references).
> 
> 
> 
> I don't think I ever knew that policy.
> 
> 
> 
> -04 will say "Section 7 of the current document" and if that is not OK,
> with the RFC editor, we'll find out about it during the RFC editing process.

I'd consider adding an RFC Editor note calling out the question, since this
"current document" construction appears in several places and we'd want to
be consistent about it.

> > Section 5.2.1
> 
> >                                                                 The
> >   client utilizes trunking detection and/or discovery, further
> >   described in Section 5.2.2 of the current document, to determine a
> 
> > nit(?) perhaps s/the current document/[[this document]]/ as above (for
> > update by the RFC Editor).  I'll stop commenting this construction, though
> > of course if such changes are made they should be done globally.
> 
> 
> 
> We'll kick the can down the road (gently) toward the RFC Editor.
> 
> >Section 5.2.3
> 
> >    Because of the need to support multiple connections, clients face the
> 
> What need?  Where is this need articulated?
> 
> 
> 
> Part of the problem here is the need to replace "connections'" by
> "connection types".

Ah, yes, that would help.

> 
> 
> I believe we should add a short introductory paragraph at the start of
> Section 5.2.3,
> 
> reading as follows in-04:
> 
> 
> 
> NFS Version 4 may be implemented using a number of different types of
> connections:
> 
>    - Stream connections may be used to provide RPC service as described in
>    [RFC5531].
>    - RDMA-capable connections may be used to provide RPC service using
>    RPC-over-RDMA, as described in [RFC8166].

As would this (though I think this part didn't bother me, since I lurk on
the nfsv4 list and remembered the different transports being used).

> > As a result, clients supporting multiple connection
> >    types need to attempt to establish a connection on various connection
> >    types allowing it to determine which connection types are supported.
> 
> > nit: maybe describe this as a "trial and error" approach to connection type
> > support determination?
> 
> 
> 
> We could say:
> 
> 
> 
> As a result, clients supporting multiple connection types need to attempt
> to establish a connection on various connection types allowing it to
> determine, via a trial-and-error approach,  which connection types are
> supported.

Sure.

> 
> 
> > To avoid waiting when there is at least one viable network path
>    available, simultaneous attempts to establish multiple connection
>    types are possible.  Once a viable connection is established, the
>    client discards less-preferred connections.
> 
> > It's probably worth referencing the "happy eyeballs" technique used
> > elsewhere (e.g., RFC 8305) as being analogous.
> 
> 
> 
> Possibly, but I’m not familiar enough with this RFC to reference it is this
> context.

Okay; it's not going to be a critical omission if it doesn't happen.

> > Section 5.2.5
> >
> >   Such migration can help provide load balancing or general resource
> >   reallocation.  [...]
> >
> > side note: is this load balancing generally going to be just of a "move a
> > filesystem or ten to a different server when load gets too high"
> 
> 
> 
> That’s one thing that can be done.
> 
> 
> 
> > or are
> > people also doing "send different clients to different replicas for the
> >same filesystem" live load-balancing?
> 
> I don’t know of a current implementation but believe this can be done.
> 
> 
> >Section 5.2.6
> >
> >   When the set of network addresses designated by a file system
> >   location attribute changes, NFS4ERR_MOVED might or might not result.
> >  occurred, while in others there is a shift in the network addresses
> >   used to access a particular file system with no migration.
> >
> > I got pretty confused when I first read this, thinking there was some
> > implication that a server could introduce a fleeting NFS4ERR_MOVED as a
> > notification that addresses changed, even if the server could otherwise
> > continue handling the client's requests.  Perhaps:
> 
> > When the set of network addresses on a server change in a way that would
> > affect a file system location attribute, there are several possible
> > outcomes for clients currently accessing that file system.  NFS4ERR_MOVED
> > is returned only when the server cannot satisfy a request from the client,
> > whether because the file system has been migrated to a different server, is
> > only accessible at a different trunked address on the same server, or some
> > other reason.
> 
> 
> 
> Your version is clearer.  We can pick this up in -04.
> 
> > Similarly, we may want to clarify that (e.g.) case (1) is not going to
> > result in an NFS4ERR_MOVED.
> 
> 
> 
> I think we can do this in the introductory paragraph by adding the
> following sentence at the end:
> 
> 
> 
> In the cases 1 and 2 below, NFS4ERR_REMOVED not returned.

Okay.

> >   2.  When the list of network addresses is a subset of that previously
> >      in effect, immediate action is not needed if an address missing
> >       in the replacement list is not currently in use by the client.
> >       The client should avoid using that address in the future, whether
> >       the address is for a replica or an additional path to the server
> >       being used.
> 
> > "avoid using that address in the future" needs to be scoped to this
> > filesystem; it's not going to work if clients treat it as a global
> > blacklisting.
> 
> 
> 
> Ok.  Will replace “avoid using that address in the future” by the following;
> 
> 
> 
> avoid using that address to access that filesystem in the future

Thanks.

> 
> >   Although significant harm cannot arise from this misapprehension, it
> >   can give rise to disconcerting situations.  For example, if a lock
> >   has been revoked during the address shift, it will appear to the
> >   client as if the lock has been lost during migration, normally
> >   calling for it to be recoverable via an fs-specific grace period
> >   associated with the migration event.
> 
> >I think this example needs to be clarified more or rewritten to describe
> > what behavior fo which participant that normally happens does not happen
> > (specifically, the "normally ..." clause).
> 
> 
> 
> We could drop the “normally ..” clause and in its place add the following
> sentence:
> 
> 
> 
> When such a lock is lost, it is responsibility of the destination server to
> provide for its recovery
> 
> through use of an fs-specific grace period.

Thanks.

> >   from the current fs_name, or whose address is not server-trunkable
> >   with the one it is currently using.
> 
> > nit: does it make more sense to put the address clause first, since fs_name
> > is only valid within the scope of a given address/server?
> 
> 
> 
> I don’t think so.

Okay.

> 
> > Section 5.3
> 
> >   As mentioned above, a single file system location entry may have a
> >   server address target in the form of a DNS host name that resolves to
> >   multiple network addresses, while multiple file system location
> >   entries may have their own server address targets that reference the
> >   same server.
> 
> > nit: I'm not sure that "while" is the right word here.  Perhaps "and
> > conversely"?
> 
> 
> 
> Don’t think “and conversely” is right.  Open to other suggestions.

Rereading, I agree that "conversely" is not right.
All I can come up with right now is to split with a semicolon: "addresses;
it is also possible for multiple file system location entries to have"

> >   When server-trunkable addresses for a server exist, the client may
> >   assume that for each file system in the namespace of a given server
> >   network address, there exist file systems at corresponding namespace
> >   locations for each of the other server network addresses.  It may do
> 
> > Pretty sure you need to say "trunkable" here, too.
> 
> 
> 
> Ok.  Will change “other server network addresses” to “other
> server-trunkable  network addresses”.
> 
> >   this even in the absence of explicit listing in fs_locations.  Such
> 
> > I may be confused, but we're talking about different file systems within a
> > single server's single-server namespace, right?
> 
> 
> 
> Yes, these file systems exist within the containing server single-server
> namespace.
> 
> 
> 
> > So there is not even a way
> > for them to be listed in the fs_locations for queries on FHs in the current
> > filesystem (unless the server exports the same filesystem under different
> > paths in its namespace for some reason).
> 
> 
> 
> But they could appear in fs-locations entries for other file systems.  The
> text in question is
> 
> basically saying that they don’t have to.

Okay.

> 
> 
> > So, we should probably be saying
> > more about how these are fs_locations results returned for queries against
> > different filesystems hosted on the same server...
> 
> 
> >   corresponding file system locations can be used as alternative
> >   locations, just as those explicitly specified via the fs_locations
> >   attribute.
> >
> > ... (and possibly some related tweaks in this part too).
> 
> 
> 
> Not sure what would be needed.  Open to concrete suggestions.

It's probably okay to leave as-is; no concrete suggestions are coming to
me.

> > Section 7
> 
> > We probably need to reiterate the privacy considerations inherent in the
> > UCS approach, mentioned at the end of Section 5.6 of RFC 7931.
> 
> 
> Given the length of this portion of Section 5.6 of RFC7931,
> reiterating this material as part of
> 
> the security considerations of this document could result in undue
> attention to something that,
> 
> while worthy of note, will be, for most implementations, not a major
> concern.  After all, Section 5.6
> 
> of RFC7931 closes by stating “How to balance these considerations
> depends on implementation
> 
> goals” and this material does not appear in the security
> considerations section of RFC7931.   I think
> 
> we could reference this material without duplicating it in this document.

So maybe something like "the privacy considerations relating to uniform vs.
non-uniform client strings, discussed in Section 5.6 of RFC 7931, are also
applicable to their usage for trunking detection in NFS v4.0"?

> 
> 
> >      o  When DNS is used to convert NFS server host names to network
> >         addresses and DNSSEC [RFC4033] is not available, the validity
> >         of the network addresses returned cannot be relied upon.
> >         However, when the client uses RPCSEC_GSS [RFC7861] to access
> >         NFS servers, it is possible for mutual authentication to detect
> >         invalid server addresses.  Other forms of transport layer
> 
> > nit: It seems to only sort-of be the case that the mutual authentication
> > detects invalid addresses.  I tend to think of the property involved as
> > ensuring that I am talking to who I think I am,
> 
> 
> 
> I do too.
> 
> 
> 
> > which encompasses both the
> > intended network address and the stuff on the other end.  On the other
> > hand, one could imagine some bizzare deployments that share kerberos keys
> > across servers where GSS could succeed (if the acceptor didn't have strict
> >host name checking in place) but the address would still be unintended.
> 
> 
> 
> It  seems to me that what you are describing as a “bizzare deployment” is
> in fact a broken one,
> 
> in that the putative authentication of the server would be useless.
> 
> 
> > If I had to rephrase this (unclear that it's really necessary), I might go
> > with something like "to increase confidence in the correctness of server
> > addresses", but there are lots of valid things to say here and it's not a
> > big deal.
> 
> 
> 
> I think we should avoid entering that swamp.   I might be imagining things,
> but I worry that
> 
> alligators might be present.

Okay.  "It's not a big deal."

> >      o  Fetching file system location information SHOULD be performed
> >         using RPCSEC_GSS with integrity protection, as previously
> 
> > I forget if we have to say "integrity protection or better" or if this
> > phrasing also includes the confidentiality protection case.
> 
> 
> 
> I don’t know either but I believe this formulation follows the current
> practice for NFSv4 documents.

that works for me

> >      When a file system location attribute is fetched upon connecting
> >      with an NFSv4 server, it SHOULD, as stated above, be done using
> >      RPCSEC_GSS with integrity protection.
> 
> > It looks like this is now three places where this normative requirement is
> > stated (7530's security considerations, and earlier in this section).
> > Usually we try to stick to just one, to avoid risk of conflicting
> > interpretations, and restate requirements non-normatively when needed.
> > (It's not even clear that this duplication is needed, though.)
> 
> 
> 
> I believe that restating this non-normatively would contribute to confusion
> as it would seem inconsistent
> 
> I don’t see any danger of conflicting interpretations given that there is a
> clear reference to the original requirement, which is treated as primary.

It's your call; this is a non-blocking comment.

> 
>    >                                                            For
>    >   example, if a range of network addresses can be determined that
>    >   assure that the servers and clients using AUTH_SYS are subject to
>    >   appropriate constraints (such as physical network isolation and
>    >   the use of administrative controls within the operating systems),
>    >   then network adresses in this range can be used with others
>    >   discarded or restricted in their use of AUTH_SYS.
> 
> >I'd strongly suggest adding a comma or something here to avoid the
> > misparsing of "used with others".
> 
> 
> 
> Not sure where you want a comma or what other somethings might be added.
> Please make a concrete suggestion.

I'm looking for "then network addresses in this range can be used, with
others discarded".

> 
> >      To summarize considerations regarding the use of RPCSEC_GSS in
> >      fetching file system location information, consider the following
> >      possibilities for requests to interrogate location information,
> >      with interrogation approaches on the referring and destination
> >      servers arrived at separately:
> 
> > I don't understand what this is trying to say, especially in light of the
> >following bullet points being essentially recommendations for behavior
> 
> 
> 
> These are, as you suppose, recommendations for behavior.  I’m not clear
> exactly how that fact
> 
> make these security-oriented recommendations difficult to understand

I was trying to contrast "possibilities" with "recommendations"; even just
replacing the one word with the other might help me out.

-Benjamin

> 
> 
> > (in
> > one case, limited to a specific situation where disrecommended behavior is
> > unavoidable).
> 
> 
> 
> This is a consequence of the fact that use of AUTH_SYS, although not a very
> good idea, is currently
> 
> allowed, and realistically will never be disallowed.  As a result, we can’t
> prevent its use and have to
> 
> give the best guidance we can.
> 
> 
> 
> 
>