From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mail.toke.dk (Postfix) with ESMTPS id E51499A7162 for ; Mon, 3 Oct 2022 12:56:39 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=Bkwcgb34 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664794597; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMVkFT4x8jWNDeFLa8kUXRspdKdufP7yINpWL81y0Xs=; b=Bkwcgb34y3k+wP6z3fstBcbsG3GBWSPNCWEXxNiwffCcXe8/I8iS7YctlZsTcwrQLfK3vx AzrR31ERMtSYNd5cNqDyAquihHKste2LlB46LOtGnP4BkM/52Ihd0UXKZWT2UpO1cSseG4 PfNE3de7PF0Hofuo4R1TC5MB/K1+bKc= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-180-WTc_JYgoNMG0fjeciO1h3g-1; Mon, 03 Oct 2022 06:56:36 -0400 X-MC-Unique: WTc_JYgoNMG0fjeciO1h3g-1 Received: by mail-ed1-f72.google.com with SMTP id b16-20020a056402279000b0044f1102e6e2so8732685ede.20 for ; Mon, 03 Oct 2022 03:56:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:cc:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date; bh=OMVkFT4x8jWNDeFLa8kUXRspdKdufP7yINpWL81y0Xs=; b=xVp5Ujrixd+F7cm1+8pUm80dv4drW5LNeF9M3Ydu41ool6BoFOqfaRZ6R/ALm1m9Az lQ6j43TKU8aVO1qz8CPB3DLBWrp8hl1PEzgw2omdFe/JtSqi5dgclSr5P7SKdByWboPx SbPwQvU1X8EWCApmVR/yiFZSemWfz+RjBZYLE27BmFvrh9T0qkBMaG/BeNbScIA7swzg 8jl37hTWSTyZoYgHw33Byb72+EQfi32YXPzoIEkeyZ0hAoVtYQb35lnz0GeCPpxucjAR wOeOrAWLMcMAEH+Gd7iKYrMjsf66nWmuz5QTNHwxpY+Mm6EJzvRJumUisfTQ1Wr0sPRZ LFIw== X-Gm-Message-State: ACrzQf3GxNdKECZvQsLmwl5268JvbZG3a9SduYk+8R/WxO+KJ5Mfah+e h1d11JZ7s9um/Dswng09VMlCQIiCkj5A6l/Tn+3DbCyX6OEmkE9lnkMP5ZVAeSpWCDUZMc+9q42 r86Vup/o7jcmOxaE= X-Received: by 2002:a17:906:8a74:b0:78b:9df5:f5c6 with SMTP id hy20-20020a1709068a7400b0078b9df5f5c6mr2907241ejc.63.1664794594732; Mon, 03 Oct 2022 03:56:34 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5F4xmqwxkSTaD6KvT5xd+xnjZWGwWn6/0UN9o2toH2uUSLY/4v+8cw6GHz8C77693EgZAzHQ== X-Received: by 2002:a17:906:8a74:b0:78b:9df5:f5c6 with SMTP id hy20-20020a1709068a7400b0078b9df5f5c6mr2907223ejc.63.1664794594452; Mon, 03 Oct 2022 03:56:34 -0700 (PDT) Received: from [192.168.41.81] (83-90-141-187-cable.dk.customer.tdc.net. [83.90.141.187]) by smtp.gmail.com with ESMTPSA id k11-20020a17090632cb00b007030c97ae62sm5231839ejk.191.2022.10.03.03.56.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 03 Oct 2022 03:56:33 -0700 (PDT) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: Date: Mon, 3 Oct 2022 12:56:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 To: Marcus Wichelmann , Jesper Dangaard Brouer , xdp-newbies@vger.kernel.org, cloud@xdp-project.net References: <30dd392b-ff2f-1e25-175a-6666dde200ed@hetzner-cloud.de> <0b48f291-e957-9ef0-5870-4c0e6df1a8eb@hetzner-cloud.de> In-Reply-To: <0b48f291-e957-9ef0-5870-4c0e6df1a8eb@hetzner-cloud.de> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation Message-ID-Hash: CEDQB65OLGMDXDVTWXBPEDV3MAJAFQMV X-Message-ID-Hash: CEDQB65OLGMDXDVTWXBPEDV3MAJAFQMV X-Mailman-Approved-At: Mon, 03 Oct 2022 13:01:30 +0200 CC: brouer@redhat.com, Lorenzo Bianconi , David Ahern , Anton Protopopov , Kumar Kartikeya Dwivedi , Jason Wang , "Karlsson, Magnus" X-Mailman-Version: 3.3.5 Precedence: list Subject: [xdp-cloud] Re: Questions about Offloads and XDP-Hints regarding a Cloud-Provider Use-Case List-Id: XDP in the cloud Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQooQW5zd2VyZWQgaW5saW5lLCBiZWxvdykNCg0KT24gMjkvMDkvMjAyMiAxNS4xNiwgTWFyY3Vz IFdpY2hlbG1hbm4gd3JvdGU6DQo+IEFtIDI4LjA5LjIyIHVtIDIwOjA3IHNjaHJpZWIgSmVzcGVy IERhbmdhYXJkIEJyb3VlcjoNCj4+DQo+PiBPbiAyOC8wOS8yMDIyIDE1LjU0LCBNYXJjdXMgV2lj aGVsbWFubiB3cm90ZToNCj4+Pg0KPj4+IEknbSB3b3JraW5nIGZvciBhIGNsb3VkIGhvc3Rpbmcg cHJvdmlkZXIgYW5kIHdlJ3JlIHdvcmtpbmcgb24gYSBuZXcgDQo+Pj4gWERQLWJhc2VkIG5ldHdv cmtpbmcgc3RhY2sgZm9yIG91ciBWTS1Ib3N0cyB0aGF0IHVzZXMgWERQIHRvIA0KPj4+IGFjY2Vs ZXJhdGUgdGhlIGNvbm5lY3Rpdml0eSBvZiBvdXIgcWVtdS9LVk0gVk1zIHRvIHRoZSBvdXRzaWRl Lg0KPj4+DQo+Pg0KPj4gV2VsY29tZSB0byB0aGUgY29tbXVuaXR5IQ0KPiANCj4gVGhhbmsgeW91 IQ0KPiANCj4+IFNvdW5kcyBsaWtlIGFuIGV4Y2VsbGVudCB1c2UtY2FzZSBhbmQNCj4+IG9wcG9y dHVuaXR5IGZvciBzcGVlZGluZyB1cCB0aGUgUlggcGFja2V0cyBmcm9tIHBoeXNpY2FsIE5JQyBp bnRvIHRoZQ0KPj4gVk0uwqAgR29vZCB0byBoZWFyIHNvbWVvbmUgKGFnYWluKSBoYXZpbmcgdGhp cyB1c2UtY2FzZS4gSSd2ZSBwZXJzb25hbGx5DQo+PiBub3QgYmVlbiBmb2N1c2VkIG9uIHRoaXMg dXNlLWNhc2UgbGF0ZWx5LCBtb3N0bHkgYmVjYXVzZSBjb21tdW5pdHkNCj4+IG1lbWJlcnMgdGhh dCBJIHdhcyBpbnRlcmFjdGluZyB3aXRoIGNoYW5nZWQgam9icywgYXdheSBmcm9tIGNsb3VkDQo+ PiBob3N0aW5nIGNvbXBhbmllcy4gR29vZCB0byBoYXZlIGEgdXNlciBiYWNrIGluIHRoaXMgYXJl YSENCj4gDQo+IEdvb2QgdG8gaGVhciEgQWxzbywgd2UnbGwgcHJvYmFibHkgbm90IGJlIHRoZSBs YXN0IG9uZXMgY29taW5nIHVwIHdpdGggDQo+IHRoaXMgdXNlLWNhc2UuIDspDQo+IA0KDQpZZXMs IGFuZCByZW1lbWJlciB0byBsb29rIGF0IHRoZSBlZmZvcnQgZG9uZSBieSBwZW9wbGUgYmVmb3Jl Li4uDQoNCkkgdXJnZSB5b3UgdG8gcmVhZCBEYXZpZCBBaGVybidzIHNsaWRlczoNCiANCmh0dHBz Oi8vbGVnYWN5Lm5ldGRldmNvbmYuaW5mby8weDE0L3B1Yi9zbGlkZXMvMjQvbmV0ZGV2LTB4MTQt WERQLWFuZC10aGUtY2xvdWQucGRmDQoNCkl0IGlzIGEgZGV0YWlscyBzdGVwLWJ5LXN0ZXAgZXhw bGFuYXRpb24gb2YgeW91ciB1c2UtY2FzZSwgYWxvbmcgd2l0aA0KdGhlIHBpdGZhbGxzIGFuZCBn b3RjaGFzLiAgSWYgeW91IGhpdCBhbiBpc3N1ZSwgZG8gcmVtZW1iZXIgdG8gYnJpbmcgaXQNCnRv IHRoZSBhdHRlbnRpb24gb2YgdGhlIGNvbW11bml0eSAoZS5nLiB4ZHAtbmV3YmllcyksIHRoZW4g bHVya2luZw0Ka2VybmVsIGVuZ2luZWVycyBsaWtlbHkgd2lsbCBnZXQgbW90aXZhdGVkIHRvIGZp eCB0aGVzZSBpc3N1ZXMgdXBzdHJlYW0uDQooTGlrZSBzbGlkZXMgZXhwbGFpbiBpbXByb3ZlbWVu dHMgZm9yIHJlZGlyZWN0cyBpbiBrZXJuZWwgdjUuNCArIHY1LjYgKyANCnY1LjgpDQoNCj4+PiBG b3IgdGhpcywgd2UgdXNlIFhEUF9SRURJUkVDVCB0byBmb3J3YXJkIHBhY2tldHMgYmV0d2VlbiB0 aGUgcGh5c2ljYWwgDQo+Pj4gaG9zdCBOSUMgYW5kIHRoZSBWTSB0YXAgZGV2aWNlcy4gVGhlIG1h aW4gaXNzdWUgd2UgaGF2ZSBub3cgaXMsIHRoYXQgDQo+Pj4gb3VyIFZNIGd1ZXN0cyBoYXZlIHNv bWUgdmlydGlvIE5JQyBvZmZsb2FkcyBlbmFibGVkOiByeC90eCANCj4+PiBjaGVja3N1bW1pbmcs IFRTTy9HU08sIEdSTyBhbmQgU2NhdHRlci1HYXRoZXIuDQo+Pg0KPj4gU3VwcG9ydGluZyBSWC1j aGVja3N1bW1pbmcgaXMgcGFydCBvZiB0aGUgcGxhbnMgZm9yIFhEUC1oaW50cywgYWx0aG91Z2gN Cj4+IHZpcnRpb19uZXQgaXMgbm90IHBhcnQgb2YgbXkgaW5pdGlhbCBwYXRjaHNldC4NCj4gDQo+ IEdyZWF0IQ0KDQpJdCBzaG91bGQgYmUgdHJpdmlhbCB0byBhZGQgdG8gdmlydGlvX25ldC4NCg0K Pj4gWERQLXJlZGlyZWN0IHdpdGggR1JPIGFuZCBTY2F0dGVyLUdhdGhlciBmcmFtZXMgYXJlIHBh cnQgb2YgdGhlDQo+PiBtdWx0aS1idWZmIGVmZm9ydCAoQ2MgTG9yZW56byksIGJ1dCBjdXJyZW50 bHkgWERQX1JFRElSRUNUIHdpdGgNCj4+IG11bHRpLWJ1ZmYgaXMgZGlzYWJsZWQgKGV4Y2VwdCBm b3IgY3B1bWFwKSwgYmVjYXVzZSB0aGUgbGFjayBvZg0KPj4gWERQLWZlYXR1cmUgYml0cywgbWVh bmluZyB3ZSBjYW5ub3QgZGV0ZXJtaW5lIChpbiBrZXJuZWwpIGlmIHJlY2VpdmluZw0KPj4gbmV0 X2RldmljZSBzdXBwb3J0cyBtdWx0aS1idWZmIChDYyBLdW1hcikuDQo+IA0KPiBDYW4gdGhpcyBh bHNvIGJlIHNvbHZlZCB3aXRoIFhEUC1IaW50cyBvciBpcyB0aGlzIGFuIHVucmVsYXRlZCBpc3N1 ZT8NCj4gDQoNClRoaXMgaXMgdW5yZWxhdGVkIHRvIFhEUC1oaW50cy4NCg0KPj4+IFRoZSBYRFAg bXVsdGktYnVmZmVyIHN1cHBvcnQgbmVlZGVkIGZvciBUU08vR1NPIHNlZW1zIHRvIGJlIG1vc3Rs eSB0aGVyZSANCj4+DQo+PiBBIHN1YnRsZSBkZXRhaWwgaXMgdGhhdCBib3RoIFhEUC1oaW50cyBh bmQgWERQIG11bHRpLWJ1ZmYgYXJlIG5lZWRlZCB0bw0KPj4gZ2V0IEdSTy9HU08ga2VybmVsIGlu ZnJhIHdvcmtpbmcuwqAgRm9yIHRoZSBrZXJuZWwgdG8gY29uc3RydWN0IEdSTy1TS0INCj4+IGJh c2VkIHBhY2tldHMgb24gWERQLXJlZGlyZWN0ZWQgaW5jb21pbmcgeGRwX2ZyYW1lJ3MsIHRoZSBr ZXJuZWwgY29kZQ0KPj4gcmVxdWlyZXMgYm90aCBSWC1jc3VtIGFuZCBSWC1oYXNoIGJlZm9yZSBj b2FsZXNjaW5nIEdSTyBmcmFtZXMuDQo+Pg0KPj4+IGFscmVhZHksIGJ1dCwgdG8gb3VyIHVuZGVy c3RhbmRpbmcsIHRoZSBsYXN0IG1pc3NpbmcgcGFydCBmb3IgZnVsbCANCj4+PiBUU08vR1NPIHN1 cHBvcnQgaXMgYSB3YXkgdG8gdGVsbCB0aGUgcGh5c2ljYWwgTklDIHRvIHBlcmZvcm0gdGhlIA0K Pj4+IFRTTy9HU08gb2ZmbG9hZC4NCj4+Pg0KPj4NCj4+IFRoZSBUU08vR1NPIHNpZGUgaXMgdXN1 YWxseSB0aGUgVFggc2lkZS7CoCBUaGUgVk0gc2hvdWxkIGJlIGFibGUgdG8gc2VuZA0KPj4gb3V0 IG5vcm1hbCBUU08vR1NPIChtdWx0aS1idWZmZXIpIHBhY2tldHMuDQo+IA0KPiBDdXJyZW50bHkg dGhlIFZNIHNlbmRzIG91dCBtdWx0aS1idWZmZXIgcGFja2V0cywgYnV0IGFmdGVyIHJlZGlyZWN0 aW5nIA0KPiB0aGVtLCB0aGV5IGFyZSBwcm9iYWJseSBub3QgZ2V0dGluZyBzZWdtZW50ZWQgb24g dGhlIHdheSBvdXQgb2YgdGhlIA0KPiBwaHlzaWNhbCBOSUMuIE9yLCBhcyB5b3Ugd3JvdGUgZWFy bGllciwgdGhlIFhEUCBtdWx0aS1idWZmZXIgc3VwcG9ydCANCj4gaXNuJ3QgZXZlbiB1c2VkIHRo ZXJlIGFuZCB0aGUgcGFja2V0IGp1c3QgZ2V0cyB0cnVuY2F0ZWQgb24gdGhlIHdheSBpbnRvIA0K PiBYRFAuDQo+IEkndmUgbm90IGV4YWN0bHkgdHJhY2VkIHRoYXQgZG93biB5ZXQsIGJ1dCB5b3Ug cHJvYmFibHkga25vdyBiZXR0ZXIgdGhhbiANCj4gbWUgd2hhdCdzIGhhcHBlbmluZyB0aGVyZS4N Cg0KWERQIHByb2dyYW0gb24gdGFwLWRldmljZSB3aWxsIGxpa2VseSBjYXVzZSBkcm9wcyBvZiBt dWx0aS1idWZmZXIgDQpwYWNrZXRzIChzZW5kIG91dCBieSBWTSkuDQoNCigxKSBGaXJzdCBvZiBh bGwgdGhpcyBYRFAtdGFwIHByb2dyYW0gbmVlZCB0byB1c2UgdGhlIG5ld2VyIFhEUCBwcm9ncmFt IA0Kc3ViLXR5cGUgdGhhdCBrbm93biBhYm91dCBtdWx0aS1idWZmZXIgcGFja2V0cy4NCg0KKDIp IEknbSBub3Qgc3VyZSBYRFAtdGFwICh2aXJpb19uZXQpIGdvdCBtdWx0aS1idWZmZXIgc3VwcG9y dC4NCiAgTG9yZW56byBvciBKYXNvbiBkbyB5b3Uga25vdz8NCg0KPiBCZWNhdXNlIG9mIHRoYXQs IHRoZSBUWCBzaWRlIG9mZmxvYWRzIGFyZSBtb3JlIGNyaXRpY2FsIHRvIHVzIGJlY2F1c2Ugd2Ug DQo+IGNhbm5vdCBlYXNpbHkgZGlzYWJsZSB0aGVtIGluIHRoZSBWTXMuIFRoZSBSWCBzaWRlIGlz IGxlc3Mgb2YgYW4gaXNzdWUsIA0KPiBiZWNhdXNlIHdlIGhhdmUgY29udHJvbCBvdmVyIHRoZSBw aHlzaWNhbCBOSUMgY29uZmlndXJhdGlvbiBhbmQgY291bGQgDQo+IHRlbXBvcmFyaWx5IGRpc2Fi bGUgYWxsIG9mZmxvYWRzIHRoZXJlLCB1bnRpbCBYRFAgc3VwcG9ydHMgdGhlbSAod2hpY2ggDQo+ IHdvdWxkIG9mIGNvdXJzZSBiZSBiZXR0ZXIpLiBTbyBSWCBvZmZsb2FkcyBhcmUgdmVyeSBuaWNl IHRvIGhhdmUsIGJ1dCANCj4gbWlzc2luZyBUWCBvZmZsb2FkcyBhcmUgYSBzaG93LXN0b3BwZXIg Zm9yIHRoaXMgdXNlLWNhc2UsIGlmIHdlIGRvbid0IA0KPiBmaW5kIGEgd2F5IHRvIGRpc2FibGUg dGhlIG9mZmxvYWRzIG9uIGFsbCBjdXN0b21lciBWTXMuDQo+IA0KPiAgPiBPciBhcmUgeW91IHNh eWluZyB0aGlzIGFsc28gZ2V0cyBkaXNhYmxlZCB3aGVuIGVuYWJsaW5nIFhEUCBvbiB0aGUNCj4g ID4gdmlydGlvX25ldCBSWCBzaWRlPw0KPiANCj4gSSdtIG5vdCBzdXJlIHdoYXQgeW91IG1lYW4g d2l0aCB0aGF0LiBXaGF0IGdldHMgZGlzYWJsZWQ/DQo+IA0KDQpTZWUgQWhlcm4ncyBzbGlkZSAi UmVkaXJlY3RpbmcgVk0gRWdyZXNzIFRyYWZmaWMiLg0KDQpUaGUgbGlidmlydCBjb25maWcgKG9y IFFlbXUva3ZtIHBhcmFtcykgY3VycmVudGx5IG5lZWQgdG8gZGlzYWJsZXMgbWFueQ0Kb2YgdGhl IG9mZmxvYWRzIGZvciBYRFAtb24tdGFwIHRvIHdvcmsuDQoNCklNSE8gdGhpcyBpcyBzb21ldGhp bmcgd2Uga2VybmVsIGRldmVsb3BlcnMgbmVlZCB0byBmaXgvaW1wcm92ZS4NCihDYyBKYXNvbiAr IExvcmVuem8pDQoNCj4+PiBJJ3ZlIHNlZW7CoCB0aGUgbGF0ZXN0IExQQyAyMDIyIHRhbGsgZnJv bSBKZXNwZXIgRGFuZ2FhcmQgQnJvdWVyIA0KPj4+IHJlZ2FyZGluZyB0aGUgcGxhbm5lZCBYRFAt SGludHMgZmVhdHVyZS4gQnV0IHRoaXMgd2FzIG1haW5seSBhYm91dCANCj4+PiBDaGVja3N1bSBh bmQgVkxBTiBvZmZsb2Fkcy4gSXMgc3VwcG9ydGluZyBUU08vR1NPIGFsc28gb25lIG9mIHRoZSAN Cj4+PiBnb2FscyB5b3UgaGF2ZSBpbiBtaW5kIHdpdGggdGhlc2UgWERQLUhpbnRzIHByb3Bvc2Fs cz8NCj4+Pg0KPj4NCj4+IEFzIG1lbnRpb25lZCBUU08vR1NPIGlzIFRYIHNpZGUuIFdlIChDYyBN YWdudXMpIGFsc28gd2FudCB0byBleHRlbmQNCj4+IFhEUC1oaW50cyB0byBUWC1zaWRlLCB0byBh bGxvdyBhc2tpbmcgdGhlIEhXIHRvIHBlcmZvcm0gZGlmZmVyZW50DQo+PiBvZmZsb2Fkcy4gTGV0 cyBsYW5kIFJYLXNpZGUgZmlyc3QuDQo+IA0KPiBNYWtlcyBzZW5zZSwgdGhhbmtzIGZvciBjbGFy aWZ5aW5nIHlvdXIgcm9hZG1hcCENCj4gDQoNCkZvciB5b3VyIG93biByb2FkbWFwLCB3YWl0aW5n IGZvciAiVFgtWERQLWhpbnRzIiBpcyBsaWtlbHkgcHJvYmxlbWF0aWMuDQoNClRodXMsIEkgd291 bGQgbGlrZWx5IHJlY29tbWVuZCBOT1QgWERQLXJlZGlyZWN0aW5nIChUQ1ApIHRyYWZmaWMgY29t aW5nDQpmcm9tIHRoZSBWTXMsIHdoaWNoIHdpbGwgaGl0IHRoZSBYRFAtdGFwIEJQRiBwcm9ncmFt LiAgVGhlIFhEUC10YXANCnByb2dyYW0gY291bGQgc2VsZWN0aXZlbHkgWERQLXJlZGlyZWN0IHRo ZSBVRFAgcGFja2V0cyAoaWYgeW91cg0KbWVhc3VyZW1lbnRzIHNob3cgaXQgdG8gYmUgZmFzdGVy KS4NCg0KU3RhcnQgd2l0aCBYRFAgcmVkaXJlY3RpbmcgZnJvbSB0aGUgcGh5c2ljYWwgTklDIGRl dmljZSBpbnRvIHRoZSBWTXMuDQpUaGUgWERQLWhpbnRzIGNvbWluZyBmcm9tIHBoeXNpY2FsIE5J QyBkZXZpY2Ugc2hvdWxkIGJlIHRyaXZpYWxseSB0bw0KY29udmVydCBpbnRvIHRoZSBmb3JtYXQg S1ZNIG5lZWRzLg0KTG9va2luZyBhdCBrZXJuZWwgY29kZSB3ZSBuZWVkIHRvIHBvcHVsYXRlIHN0 cnVjdCB2aXJ0aW9fbmV0X2hkciAod2hpY2gNCmlzIGluc2lkZSBzdHJ1Y3QgdHVuX3hkcF9oZHIp Lg0KDQoNCj4+PiBUaGUgIlhEUCBDbG91ZC1Qcm92aWRlciIgcHJvamVjdCBwYWdlIGRlc2NyaWJl cyBhIHZlcnkgc2ltaWxhciANCj4+PiB1c2UtY2FzZSB0byB3aGF0IHdlIHBsYW4gdG8gZG8uIFdo YXQncyB0aGUgZ29hbCBvZiB0aGlzIHByb2plY3Q/DQo+Pj4NCj4+DQo+PiBZZXMsIHRoaXMgc291 bmRzIFZFUlkgc2ltaWxhciB0byB5b3VyIHVzZS1jYXNlLg0KPj4NCj4+IEkgdGhpbmsgeW91IGFy ZSByZWZlcnJpbmcgdG8gdGhpczoNCj4+IMKgwqBbMV0gaHR0cHM6Ly94ZHAtcHJvamVjdC5uZXQv YXJlYXMveGRwLWNsb3VkLXByb3ZpZGVyLmh0bWwNCj4+IMKgwqBbMl0gaHR0cHM6Ly9naXRodWIu Y29tL3hkcC1wcm9qZWN0L3hkcC1jbG91ZA0KPiANCj4gVGhlIEdpdEh1YiBMaW5rIGlzIGEgNDA0 LiBNYXliZSB0aGlzIHJlcG9zaXRvcnkgaXMgcHJpdmF0ZS1vbmx5Pw0KDQpZZXMsIHNvcnJ5IGFi b3V0IHRoYXQgZ2l0IHJlcG8gaXMgbWFya2VkIHByaXZhdGUsIGJlY2F1c2UgdGhlIHByb2plY3Qg DQpkaWRuJ3QgdGFrZSBvZmYuDQoNCg0KPj4gV2UgaGFkIHR3byBDbG91ZCBIb3N0aW5nIGNvbXBh bmllcyBpbnRlcmVzdGVkIGluIHRoaXMgdXNlLWNhc2UgYW5kDQo+PiBzdGFydGVkIGEgInN1YiIg eGRwLXByb2plY3QsIHdpdGggdGhlIGludGVudCBvZiB3b3JraW5nIHRvZ2V0aGVyIG9uDQo+PiBj b2RlWzJdIHRoYXQgaW1wbGVtZW50cyBjb25jcmV0ZSBCUEYgdG9vbHMsIHRoYXQgZnVuY3Rpb25z IGFzIGJ1aWxkaW5nDQo+PiBibG9ja3MgdGhhdCB0aGUgaW5kaXZpZHVhbCBjb21wYW5pZXMgY2Fu IGludGVncmF0ZSBpbnRvIHRoZWlyIHN5c3RlbXMsDQo+PiBzZXBhcmF0aW5nIG91dCBjdXN0b21l ciBwcm92aXNpb25pbmcgdG8gdGhlIGNvbXBhbmllcy4NCj4+IChwLnMuIHRoaXMgYXBwcm9hY2gg aGF2ZSB3b3JrZWQgd2VsbCBmb3IgeGRwLWNwdW1hcC10Y1szXSBzY2FsaW5nIHRvb2wpDQo+IA0K PiBJIHdvbmRlciB3aGF0IHRoZXNlIGNvbW1vbiBidWlsZGluZyBibG9ja3MgY291bGQgYmUuIEkg dGhpbmsgdGhpcyB3b3VsZCANCj4gYmUgbW9zdGx5IGp1c3QgYSBwcm9ncmFtIHRoYXQgY2FsbHMg WERQLVJlZGlyZWN0IGFuZCBhbHNvIHNvbWUgWERQLUhpbnRzIA0KPiBoYW5kbGluZyBpbiB0aGUg ZnV0dXJlLiBUaGlzIGNvdWxkIGFsc28gYmUgZGVtb25zdHJhdGVkIGFzIGFuIGV4YW1wbGUgDQo+ IHByb2dyYW0uDQoNClN1cmUuDQpJIHJlY29tbWVuZCB5b3Ugc3RhcnQgd2l0aCBjb2RpbmcgYW4g ZUJQRiBleGFtcGxlIHByb2dyYW0sIGFuZCBpZiB5b3UNCndhbnQgbXkgaGVscCBwbGVhc2UgYmFz ZSBpdCBvbiBodHRwczovL2dpdGh1Yi5jb20veGRwLXByb2plY3QvYnBmLWV4YW1wbGVzDQoNCj4g V2hpbGUgbG9va2luZyBhdCBvdXIgY3VycmVudCBYRFAtU3RhY2sgZGVzaWduIGRyYWZ0LCBJIHRo aW5rIGV2ZXJ5dGhpbmcgDQo+IGJleW9uZCB0aGF0IGlzIGhpZ2hseSBzcGVjaWZpYyB0byBob3cg dGhlIG5ldHdvcmsgaW5mcmFzdHJ1Y3R1cmUgb2YgdGhlIA0KPiBjbG91ZCBob3N0aW5nIGVudmly b25tZW50IGlzIGRlc2lnbmVkIGFuZCB3aWxsIHByb2JhYmx5IGJlIGhhcmQgdG8gYXBwbHkgDQo+ IHRvIHRoZSByZXF1aXJlbWVudHMgb2Ygb3RoZXIgcHJvdmlkZXJzLg0KPiANCg0KSG1tLi4uIEkg a2luZCBvZiBkaXNhZ3JlZSwgYnV0IHRoYXQgc2hvdWxkIG5vdCBzdG9wIHlvdS4NCkkgc3RpbGwg ZW5jb3VyYWdlIHRvIGRlY291cGxlIGN1c3RvbWVyL1ZNIHByb3Zpc2lvbmluZyBpbiB5b3VyIGRl c2lnbi4NCg0KPiBCdXQgb2YgY291cnNlLCBoYXZpbmcgYSBzaW1wbGUgcmVmZXJlbmNlIGltcGxl bWVudGF0aW9uIG9mIGEgWERQIA0KPiBkYXRhcGF0aCB0aGF0IGRlbW9uc3RyYXRlcyBob3cgWERQ IGNhbiBiZSB1c2VkIHRvIGNvbm5lY3QgVk1zIHRvIHRoZSANCj4gb3V0c2lkZSwgd291bGQgc3Rp bGwgYmUgdmVyeSB1c2VmdWwuIEZvciBkb2N1bWVudGF0aW9uIHB1cnBvc2VzLCBtYXliZSANCj4g bm90IHN1IG11Y2ggYXMgYSBmcmFtZXdvcmsuDQoNCkdyZWF0LCBsZXRzIHN0YXJ0IHdpdGggUG9D L01WUCBhcyBzdWItZGlyIHVuZGVyOg0KICBodHRwczovL2dpdGh1Yi5jb20veGRwLXByb2plY3Qv YnBmLWV4YW1wbGVzDQoNCklmIHdlIGNhbiBpdGVyYXRlIG92ZXIgYSBwdWJsaWMgJ3hkcC1jbG91 ZCcgYnBmLWV4YW1wbGUsIHRoZW4gdGhlDQpjb21tdW5pdHkgY2FuIGVhc2llciByZXByb2R1Y2Ug dGhlIGlzc3VlcyB0aGF0IGRldmVsIHByb2Nlc3MgYnJpbmdzIHVwLg0KDQotLUplc3Blcg0KDQo=