Re: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state

"Frank Brockners (fbrockne)" <fbrockne@cisco.com> Tue, 17 November 2020 16:36 UTC

Return-Path: <fbrockne@cisco.com>
X-Original-To: ippm@ietfa.amsl.com
Delivered-To: ippm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27CBA3A149B; Tue, 17 Nov 2020 08:36:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.597
X-Spam-Level:
X-Spam-Status: No, score=-9.597 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, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=LvTfhWYW; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=FtIQJb/j
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 E4lEhWfhQ4Bw; Tue, 17 Nov 2020 08:36:07 -0800 (PST)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 410893A14B2; Tue, 17 Nov 2020 08:36:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=32338; q=dns/txt; s=iport; t=1605630961; x=1606840561; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=kdUX9qdyfRmp/Agvhvy+dBBKHTKsm5joJx6Woa3vs0M=; b=LvTfhWYWKQ76tzYEkBObQAQURsRv7RdEA93vBN5B1zTSKFoaglOhzB/e 0lVH/rdpgU3BPVeUWVqSntdvFIKWptQNYH49GYa4nK/SUuiCyG1jh5VY0 ZTd8vzDRiC7auTSDe5QWIdyhlC0mIX+WWJYs5WIydHIGyHTFkCMD3ierL Q=;
X-IPAS-Result: =?us-ascii?q?A0BMCQCH+rNffZtdJa1cBh4BAQsSDIMyL1F7WS8uCoQyg?= =?us-ascii?q?0kDjVuZBIFCgREDVAsBAQENAQEYAQ4GAgQBAYRKAheCCwIlOBMCAwEBAQMCA?= =?us-ascii?q?wEBAQEFAQEBAgEGBBQBAYY8AQuFcgEBAQQBARALBgoTAQEsCwEPAgEGAhABB?= =?us-ascii?q?AEBIQcDAgICJQsUCQgCBA4FCBqDBYF+VwMuAQ6STpBrAoE8iGh2gTKDBAEBB?= =?us-ascii?q?YEzAQMCAg8Pgy0YghADBoE4gnOCZk5ChlcbgUE/gRFDgk8+gjsiAQECAYEnA?= =?us-ascii?q?RIBCQgSDB8JgmEzgiyQdYJ1hx6dLwqCbYkRkiqDGYoWlEqTU4p/kSGENgIEA?= =?us-ascii?q?gQFAg4BAQWBayFpcHAVO4JpUBcCDY18I4NxhRSFRHQCNQIGAQkBAQMJfIw7A?= =?us-ascii?q?YEQAQE?=
IronPort-PHdr: =?us-ascii?q?9a23=3AERuMSR8T5FDIAf9uRHGN82YQeigqvan1NQcJ65?= =?us-ascii?q?0hzqhDabmn44+7ZRKN9+lgylTOWMPQ7aEMh+nXtvXmXmoNqdaEvWsZeZNBHx?= =?us-ascii?q?kClY0NngMmDcLEbC+zLPPjYyEgWsgXUlhj8iKpLUUTE8H7IVbU8TW+6DcIEU?= =?us-ascii?q?D5Mgx4bu3+Bo/ViZGx0Oa/s53eaglFnnyze7R3eR63tg7W8MIRhNhv?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.77,485,1596499200"; d="scan'208,217";a="613929798"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 17 Nov 2020 16:36:00 +0000
Received: from XCH-ALN-001.cisco.com (xch-aln-001.cisco.com [173.36.7.11]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id 0AHGZxLJ020774 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 17 Nov 2020 16:35:59 GMT
Received: from xhs-rcd-001.cisco.com (173.37.227.246) by XCH-ALN-001.cisco.com (173.36.7.11) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 17 Nov 2020 10:35:59 -0600
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by xhs-rcd-001.cisco.com (173.37.227.246) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 17 Nov 2020 10:35:59 -0600
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (72.163.14.9) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 17 Nov 2020 10:35:59 -0600
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=alBvFj3IQXv79fRP++g7FJAb0wxb7BmbunqXPP8wG45wa/rA86Pei0CJwtUHc5oPmZzE68hrTY95u7RKNu25OeGTgahtwtdrODlhxQ6uh+TO0NtMglvf3OrVUGGjW1gQM2qYiEgAiFhT9b0fsuqByg08yit+ZGc8nfbwgBZna/X1aw+aTg73Uxbew88S2Xxp8IUEj2z7MAz+8l2Tec5bFpuGMOJK4czTYJW5c9/6t6pcHQLPh+I+JnBrxYM99+ZxAGOHYbdIO1UzPltWpkCK0awM2Q8+9Pr2usE8BlHIrPP3v4NwbEtNKEdbBGq/mFGcwYjeqen2zsuSwYbKU5h+Dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kdUX9qdyfRmp/Agvhvy+dBBKHTKsm5joJx6Woa3vs0M=; b=cbgDhl9DM0McuOWRIT+/PY/hpyF/7O/JxHmuHDedZQ7yCJAHPrjPMTQiTLpMK+fjIUbL78TU/IfzMCMFeMUO7/HSSGclKhj0c22XUIXAna6C96CbMKPxnUlUw0qk/s/2CvzMGGTtO9WdMdI2vkN1W6q8vpml0G0NF/AyqfIxlC9EM49qvsHMQZGf5yN8ALUzp2dJQTQ5qTZmSC/hLyy2h5Vsig299ED01hr7K5TL9bu4ShjEJx29BDQdNhRZC5HBDvCe/o+VL5x+PzsPLgZJFtz7xFp6SLOvZk3weTbFJunhvfAO58RT4g+LqVo10zN+w8cbbZPfr0j9r+ShAQNA6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kdUX9qdyfRmp/Agvhvy+dBBKHTKsm5joJx6Woa3vs0M=; b=FtIQJb/j8SdWTiFjfxfUIxTnbYaerQ2YZ+164sUYYcfr2U3edwSYttbOIhdYVMwXtEIFf7bN0kP5y8oW2B7l2TufNcApnEnIPYRO4EVklH36bxZ6M8SDwNYhNW2delFNIFdT3UpavGWdkt5YK0SecxjrVu0y9oMnUdtV1SLiE2k=
Received: from BYAPR11MB2584.namprd11.prod.outlook.com (2603:10b6:a02:c8::31) by BYAPR11MB2792.namprd11.prod.outlook.com (2603:10b6:a02:c3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.28; Tue, 17 Nov 2020 16:35:58 +0000
Received: from BYAPR11MB2584.namprd11.prod.outlook.com ([fe80::30d2:219f:465c:a9b8]) by BYAPR11MB2584.namprd11.prod.outlook.com ([fe80::30d2:219f:465c:a9b8%6]) with mapi id 15.20.3564.028; Tue, 17 Nov 2020 16:35:58 +0000
From: "Frank Brockners (fbrockne)" <fbrockne@cisco.com>
To: "xiao.min2@zte.com.cn" <xiao.min2@zte.com.cn>
CC: "ippm-chairs@ietf.org" <ippm-chairs@ietf.org>, "tpauly=40apple.com@dmarc.ietf.org" <tpauly=40apple.com@dmarc.ietf.org>, "ippm@ietf.org" <ippm@ietf.org>
Thread-Topic: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state
Thread-Index: AQHWvLOo/5oxjve5/0uTYwL9LuuwL6nMJcDQ
Date: Tue, 17 Nov 2020 16:35:58 +0000
Message-ID: <BYAPR11MB2584D7BEFFA2A75DF4F5F9A6DAE20@BYAPR11MB2584.namprd11.prod.outlook.com>
References: 5E408E0E-862E-480B-88FD-890098340EBC@apple.com, BYAPR11MB25847ACE60112CE82761253CDAE30@BYAPR11MB2584.namprd11.prod.outlook.com <202011171530476922234@zte.com.cn>
In-Reply-To: <202011171530476922234@zte.com.cn>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: zte.com.cn; dkim=none (message not signed) header.d=none;zte.com.cn; dmarc=none action=none header.from=cisco.com;
x-originating-ip: [173.38.220.56]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 20557c8f-db35-4b0e-b2be-08d88b16dcbc
x-ms-traffictypediagnostic: BYAPR11MB2792:
x-microsoft-antispam-prvs: <BYAPR11MB279255B0662A4C042C2437A8DAE20@BYAPR11MB2792.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: R5sOQ3pqbs76qKnnCo5OmJWCK13aQQgQ7eRVEJ8rn3wzFDDDzzlkd46zsDG6FqB/MoWMcEtuQhDbRDM3qZzkJVYbTCl+ICBMGditLaoF7JPoCAAWPa8+u6hXeWv+1UQ+kVaImYGWVPIEKgSmkKx7vqwHbZ2L1pXb+klv0odvTcgcSI7Qi3PmeDCkLe2PQ9Oj50VKW/P2x/YvBSNAn7Tzas70juFf/gjX+R5qfx3X4ucHgA+DXMWLQ7iPN//96W7EYKmWUtDsGfvOa9tDYwiMBZDCCLeqZWJPEIeYFQYqF0b3/0cwQoDdNSVwYbCWbZJCa/7o5sHJfL42EO6d6WLyzsOXfkxEwFCe7vYTFS3poK2Rl37jU8YVcKg1roy3nM/cqKgON1phjZZVNM6iUYDV+g==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2584.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(346002)(396003)(366004)(136003)(376002)(39860400002)(9686003)(966005)(478600001)(53546011)(26005)(83380400001)(7696005)(6506007)(55016002)(33656002)(76116006)(8936002)(6916009)(8676002)(66556008)(166002)(66946007)(2906002)(66476007)(52536014)(66446008)(316002)(4326008)(71200400001)(64756008)(86362001)(186003)(54906003)(5660300002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: BhYpjwWReIda7aY5+8N8pF6r17BU94PybINx8tMOjr5EVguyNaBL6Ni2nJDVbP2OdghqX1llYdvZIBILqAlSDUvSvM7dISseYKFtXUhFI+fIuXFxrAzzixh2IsaGYeBuxoSGIgIQQex2acIVy/HnlGohuUJVNjthdUXkTr0RTNMHgy9n35wDBiCsuiaTze0Nlnuss6LP+kFJBzJJ1gpuDbje29eGQ8HvYRbOU0jcj2Lkb3Djlb0e4qFs6AnwJ1JgGlxiwvYHnLg/OECJAZ92gR4sd5n3I9tLZcVlE6chlRKGxKcm89UP6UG+9gui0gvsKPfyjxvkXbU7o3MU6ymoZ6uMJngem/C7FVPssDZ3qwhZ3unLwtXz12u1O7fCiqDnVqL//bvQRDoptkyb1aqhy4HROxNI1b1/SUoBpYrL40/YOlIg2ytZLuqL0SOEbvmRi5tseEpQa7BdiyR2T9mO4bVMLApW8zTtglW7h2KJA/P2XUoV4yfvrIeYpSVeIjRGMNG/7U3gJ81nYUbJSIrpXNFNF/GYlJ+zbX2QtQm8ozr3UkVxGqu7L4iq4xuuBnPh3T4686c/QLYLoa/unK+IDR2uNn/Dufdwk+Qu7lqzEPkgkJHwudJwEoLmLrcc8Z4VO9XfuAOBy2IJfjvE+Jf0Fw==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_BYAPR11MB2584D7BEFFA2A75DF4F5F9A6DAE20BYAPR11MB2584namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2584.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20557c8f-db35-4b0e-b2be-08d88b16dcbc
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2020 16:35:58.0491 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HKtF+zdUuzFeCocbIK17/Lk8nW/D4JBHinjOvdoNpp1fWm/8SnmY7H8mIucFu59Hqz8f1jsD9Td8IcaXqSOCJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2792
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.11, xch-aln-001.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/ippm/8fZOeQYVFOyNKzZ6lYamfWqZhDY>
Subject: Re: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state
X-BeenThere: ippm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: IETF IP Performance Metrics Working Group <ippm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ippm>, <mailto:ippm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ippm/>
List-Post: <mailto:ippm@ietf.org>
List-Help: <mailto:ippm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ippm>, <mailto:ippm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 17 Nov 2020 16:36:10 -0000

Hi Xiao Min,

Please see inline… (“..FB”)

From: ippm <ippm-bounces@ietf.org> On Behalf Of xiao.min2@zte.com.cn
Sent: Dienstag, 17. November 2020 08:31
To: fbrockne=40cisco.com@dmarc.ietf.org
Cc: ippm-chairs@ietf.org; tpauly=40apple.com@dmarc.ietf.org; ippm@ietf.org
Subject: Re: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state


Hello Frank,



Please see inline my response tagged with <XM>.



Best Regards,

Xiao Min
原始邮件
发件人:FrankBrockners(fbrockne)
收件人:Tommy Pauly;IETF IPPM WG (ippm@ietf.org<mailto:ippm@ietf.org>);
抄送人:IPPM Chairs;
日 期 :2020年11月16日 15:13
主 题 :Re: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state
_______________________________________________
ippm mailing list
ippm@ietf.org<mailto:ippm@ietf.org>
https://www.ietf.org/mailman/listinfo/ippm
Hello IPPM,

per what I mentioned during the IPPM WG meeting today, I don’t think we should adopt the document before we have a couple of key questions resolved:
<XM> Considering you're the key proponent of In-situ OAM, I believe your concerns if any must be addressed, and that's why I had a face to face discussion with you on -01 version of this draft about two years ago. I thought I've convinced you of the intention of this draft, by some major updates, however it seems it's still not that case, hope we can converge through the on-list discussion.

* Why can’t we use Netconf/YANG (with the existing capabilities discovery process – a la RFC 6241) to retrieve the IOAM capabilities of IOAM nodes? E.g. the encapsulating node (as a NC client) could retrieve the IOAM capabilities from other IOAM nodes  (acting as a NC server). Plus there is already a YANG model in flight for IOAM (draft-zhou-ippm-ioam-yang-08). At a minimum I would have expected that the draft discusses why NC/YANG is not suitable for the scenario that the authors have in mind. The slides (https://datatracker.ietf.org/meeting/109/materials/slides-109-ippm-echo-requestreply-for-enabled-ioam-capabilities-00) that were presented in the IPPM WG meeting today, mention “Changed from “IOAM Configuration Data” to “Enabled IOAM Capabilities” since the former is too associated with NETCONF/YANG.” IMHO we need a bit more than just wordsmithing.
<XM> Although it's a little bit unusual to compare Echo Request/Reply with Netconf/Yang, I'd like to share my thoughts with you and seek your understanding. In my mind, there are several different methods for the IOAM encapsulating node to know the enabled IOAM capabilities of the IOAM transit nodes/decapsulating node as follows.

* In the deployment scenario there is a centralized Controller/NMS, the IOAM transit nodes/decapsulating node can report their enabled IOAM capabilities directly to the centralized Controller/NMS, and then the IOAM encapsulating node can get these capabilites via configuration by the centralized Controller/NMS, or by means of querying the centralized Controller/NMS for these capabilities. In this scenario, Netconf/Yang is not the only candidate, PCEP or BGP can also be used here.

* In the deployment scenario there is no centralized Controller/NMS, the IOAM encapsulating node can query the IOAM transit nodes/decapsulating node for their enabled IOAM capabilities. In this draft in question, Echo Request/Reply is proposed as the query mechanism because it's a native on-path traceroute method. In this scenario, I agree as you mentioned that Netconf/Yang can also be used, actually PCEP or BGP can be used too. Nevertheless, whether Netconf/Yang, PCEP or BGP are not native on-path traceroute method, further considering that the IOAM encapsulating node can be a host too, so using Netconf/Yang, PCEP or BGP as the IOAM capabilities discovery mechanism is not proposed in this draft.

…FB: Hmm – I still don’t follow what the use-case you have in mind would be. Most routers already implement a Netconf server. Any node can take the role of a Netconf client – as you note yourself above. And with the YANG model for IOAM becoming finalized, we have all the ingredients already available. Plus Netconf is built as a protocol for management operations – thus you also have the security part figured out if you use NC/Y (see the related discussion on the IPPM mailer). Why would anyone spend the effort to reimplement everything that is available with NC/Y into e.g. ICMPv6?

* While the draft uses IOAM capabilities discovery as the use-case, in more general terms, it proposes to add management/ops capabilities to echo-request/reply protocols like ICMP, which is a much broader topic. The TLV structures which are proposed to be added to echo-requests and echo-replies could obviously be leveraged for other use-cases. Does the work really fit the scope of the IPPM WG?
<XM> During this presentation, I've asked for guidance from the IPPM WG chairs on this question. My personal suggestion is to separate the IOAM capabilities definition and the extensions on ICMPv6, LSP-Ping and SFC-Ping, just like to separate IOAM-Data from IOAM-over-IPv6, IOAM-over-NSH, IOAM-over-MPLS, because it's possible to fall into egg-chicken loops if we bind them together. After rough consensus is reached on the IOAM capabilities definition in IPPM WG, respective proposals can be brought up in the WGs that are in charge of ICMPv6, LSP-Ping and SFC-Ping, and if the WGs are not interested to take up these IOAM related protocol extensions, which can be pushed back to the IPPM WG with their authorizations.
…FB: IMHO there are no real circular dependencies: Your approach requires that ICMPv6 would be able to carry TLVs in echo request and reply messages. Once that capability would be there, you could use those TLVs to carry the particular IOAM capability data. This means you’d need to evolve ICMPv6 first. If and only if TLVs would already exist in ICMPv6 echo request/reply messages, then one could assume that you’d specify code-points for specific types (like the “Type = IOAM Capabilities” that you have in your draft), so that it would be worthwhile to focus on defining data types etc. So IMHO you’re really taking the second step before the first one.

Cheers, Frank

Thanks, Frank

From: ippm <ippm-bounces@ietf.org<mailto:ippm-bounces@ietf.org>> On Behalf Of Tommy Pauly
Sent: Freitag, 30. Oktober 2020 19:46
To: IETF IPPM WG (ippm@ietf.org<mailto:ippm@ietf.org>) <ippm@ietf.org<mailto:ippm@ietf.org>>
Cc: IPPM Chairs <ippm-chairs@ietf.org<mailto:ippm-chairs@ietf.org>>
Subject: [ippm] Call for adoption: draft-xiao-ippm-ioam-conf-state

Hello IPPM,

This email starts a Working Group call for adoption for draft-xiao-ippm-ioam-conf-state. This document has been presented several times and discussed within the working group in the context of our overall IOAM work.

The document can be found here:

https://tools.ietf.org/html/draft-xiao-ippm-ioam-conf-state-07<https://tools.ietf.org/html/draft-zhou-ippm-ioam-yang-08>

Please provide your feedback on these document, and state whether or not you believe the IPPM WG should adopt this work by replying to this email. Please provide your feedback by the start of the IETF 109 meeting week, on Monday, November 16.

Best,
Tommy & Ian