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 924868A6AC5 for ; Thu, 2 Sep 2021 11:17:52 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=CFGgsC4f DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1630574270; 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=UJLAt+CpcJOSUZymcPM/qmFuCf83mxr54RML4d20nn0=; b=CFGgsC4fKdgjjuFzxJ968jMaMU43n8toGkKC8tjzErUCyiutKZ47ofBg5FEI4GfwYE1lzH Van/Wg6hD+1ZVD/5m1CH4MTLkg+w/XWNterHPjLW5pAz6bgtzHVk9upL3KvRttEyQNys4j 8X5zFqo9qYlZkE3UKZsspSRX+PYeq6U= Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-470-BjQJRV_pPgGhZzQiXHTEpg-1; Thu, 02 Sep 2021 05:17:48 -0400 X-MC-Unique: BjQJRV_pPgGhZzQiXHTEpg-1 Received: by mail-ed1-f70.google.com with SMTP id g4-20020a056402180400b003c2e8da869bso634421edy.13 for ; Thu, 02 Sep 2021 02:17:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:cc:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=UJLAt+CpcJOSUZymcPM/qmFuCf83mxr54RML4d20nn0=; b=BufvFmXo9/wiEo8dkQNgAAEVRbUxFiW4ad+0iPnwHOjlMxb5oksMeWfYVV2Jz4wv3g pHL+liz/grcNqeVJ+yZIsJSa5woMdO3OCoqQNZBHD+jRCIxJOfBgNSvbC7jeY+yPOuYz OCfaIDJr3ovTNLXfCwv78wDknaLRHNZtn5XTYIEjAxhJBpBD0P+whzlXRIT+3bU8duqa mE7GV2ybJU3j/nAX3ilQw8v1SvxgcIplNwSPjSL6pUtzEKwEVEBS8RCRVcHpzY4v6VJK s+4Q21i5j95yJaNdpiwhXl6PpnbHVa8ZvAy1Q4lzWQCmXnDvw61I3DpfqR2ZKRe6XK6b D9rA== X-Gm-Message-State: AOAM531jOWQK1GOIqI7ahwvI86C6RHdIsVSDJbUWfnfuEdmErPe9cU/n s/ejhTsZF1bgXbBZzX08zCGpj3OllkUds44AjG5tb3HzYMOEHzUZOCdqR38sYtoFgAdVbmcaKpA IEyQr4qnCng6XGDjOOWZS X-Received: by 2002:a05:6402:2691:: with SMTP id w17mr2470806edd.339.1630574267107; Thu, 02 Sep 2021 02:17:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxu9C8K9v/c+36bN25VCRjqBQ75YkjnpX6tgYqoJsADQcLF8U97wbjlgPO0XPuSE5xheu3oCw== X-Received: by 2002:a05:6402:2691:: with SMTP id w17mr2470739edd.339.1630574266208; Thu, 02 Sep 2021 02:17:46 -0700 (PDT) Received: from [192.168.42.238] (3-14-107-185.static.kviknet.dk. [185.107.14.3]) by smtp.gmail.com with ESMTPSA id o3sm657991eju.123.2021.09.02.02.17.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Sep 2021 02:17:45 -0700 (PDT) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Subject: Re: XDP-hints: Howto support multiple BTF types per packet basis? To: Michal Swiatkowski , =?UTF-8?Q?Toke_H=c3=b8iland-J=c3=b8rgensen?= References: <60b12897d2e3f_1cf820896@john-XPS-13-9370.notmuch> <8735u3dv2l.fsf@toke.dk> <60b6cf5b6505e_38d6d208d8@john-XPS-13-9370.notmuch> <20210602091837.65ec197a@kicinski-fedora-PC1C0HJN.hsd1.ca.comcast.net> <874kdqqfnm.fsf@toke.dk> <87mtrfmoyh.fsf@toke.dk> <8735snvjp7.fsf@toke.dk> Message-ID: <190d8d21-f11d-bb83-58aa-08e86e0006d9@redhat.com> Date: Thu, 2 Sep 2021 11:17:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=jbrouer@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Language: en-US Content-Transfer-Encoding: base64 Message-ID-Hash: TDUTDDLUFG5KF24JMCH6P2UVR5S4GVM5 X-Message-ID-Hash: TDUTDDLUFG5KF24JMCH6P2UVR5S4GVM5 X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, Jakub Kicinski , John Fastabend , Andrii Nakryiko , BPF-dev-list , Magnus Karlsson , William Tu , xdp-hints@xdp-project.net, Zaremba Larysa , Jiri Olsa X-Mailman-Version: 3.3.4 Precedence: list List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQoNCk9uIDAyLzA5LzIwMjEgMDQuNDksIE1pY2hhbCBTd2lhdGtvd3NraSB3cm90ZToNCj4gT24g RnJpLCBKdWwgMDksIDIwMjEgYXQgMTI6NTc6MDhQTSArMDIwMCwgVG9rZSBIw7hpbGFuZC1Kw7hy Z2Vuc2VuIHdyb3RlOg0KPj4gTWljaGFsIFN3aWF0a293c2tpIDxtaWNoYWwuc3dpYXRrb3dza2lA bGludXguaW50ZWwuY29tPiB3cml0ZXM6DQo+Pg0KPj4+PiBJIHdvdWxkIGV4cGVjdCB0aGF0IHRo ZSBwcm9ncmFtIHdvdWxkIGRlY2lkZSBhaGVhZC1vZi10aW1lIHdoaWNoIEJURiBJRHMNCj4+Pj4g aXQgc3VwcG9ydHMsIGJ5IHNvbWV0aGluZyBsaWtlIGluY2x1ZGluZyB0aGUgcmVsZXZhbnQgc3Ry dWN0cyBmcm9tDQo+Pj4+IHZtbGludXguaC4gQW5kIHRoZW4gd2UgbmVlZCB0aGUgQlRGIElEIGVu Y29kZWQgaW50byB0aGUgcGFja2V0IG1ldGFkYXRhDQo+Pj4+IGFzIHdlbGwsIHNvIHRoYXQgaXQg aXMgcG9zc2libGUgdG8gY2hlY2sgYXQgcnVuLXRpbWUgd2hpY2ggZHJpdmVyIHRoZQ0KPj4+PiBw YWNrZXQgY2FtZSBmcm9tIChzaW5jZSBhIHBhY2tldCBjYW4gYmUgcmVkaXJlY3RlZCwgc28geW91 IG1heSBlbmQgdXANCj4+Pj4gaGF2aW5nIHRvIGRlYWwgd2l0aCBtdWx0aXBsZSBmb3JtYXRzIGlu IHRoZSBzYW1lIFhEUCBwcm9ncmFtKS4NCj4+Pj4NCj4+Pj4gV2hpY2ggd291bGQgYWxsb3cgeW91 IHRvIHdyaXRlIGNvZGUgbGlrZToNCj4+Pj4NCj4+Pj4gaWYgKGN0eC0+aGFzX2RyaXZlcl9tZXRh KSB7DQo+Pj4+ICAgIC8qIHRoaXMgc2hvdWxkIGJlIGF0IGEgd2VsbC1rbm93biBwb3NpdGlvbiwg bGlrZSBmaXJzdCAob3IgbGFzdCkgaW4gbWV0YSBhcmVhICovDQo+Pj4+ICAgIF9fdTMyICptZXRh X2J0Zl9pZCA9IGN0eC0+ZGF0YV9tZXRhOw0KPj4+PiAgICANCj4+Pj4gICAgaWYgKCptZXRhX2J0 Zl9pZCA9PSBCVEZfSURfTUxYNSkgew0KPj4+PiAgICAgIHN0cnVjdCBtZXRhX21seDUgKm1ldGEg PSBjdHgtPmRhdGFfbWV0YTsNCj4+Pj4gICAgICAvKiBkbyBzb21ldGhpbmcgd2l0aCBtZXRhICov DQo+Pj4+ICAgIH0gZWxzZSBpZiAobWV0YV9idGZfaWQgPT0gQlRGX0lEX0k0MEUpIHsNCj4+Pj4g ICAgICBzdHJ1Y3QgbWV0YV9pNDBlICptZXRhID0gY3R4LT5kYXRhX21ldGE7DQo+Pj4+ICAgICAg LyogZG8gc29tZXRoaW5nIHdpdGggbWV0YSAqLw0KPj4+PiAgICB9IC8qIGV0YyAqLw0KPj4+PiB9 DQo+Pj4+DQo+Pj4+IGFuZCBsaWJicGYgY291bGQgZG8gcmVsb2NhdGlvbnMgYmFzZWQgb24gdGhl IGRpZmZlcmVudCBtZXRhIHN0cnVjdHMsDQo+Pj4+IGV2ZW4gcmVtb3ZpbmcgdGhlIGNvZGUgZm9y IHRoZSBvbmVzIHRoYXQgZG9uJ3QgZXhpc3Qgb24gdGhlIHJ1bm5pbmcNCj4+Pj4ga2VybmVsLg0K Pj4+DQo+Pj4gVGhpcyBsb29rcyBuaWNlLiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCBkZWZpbnRpb25z IG9mIHN0cnVjdCBtZXRhX21seDUgYW5kDQo+Pj4gc3RydWN0IG1ldGFfaTQwZSBhdCBidWlsZCB0 aW1lLiBIb3cgYXJlIHdlIGdvaW5nIHRvIGRlbGl2ZXIgdGhpcyB0byBicGYNCj4+PiBjb3JlIGFw cD8gVGhpcyB3aWxsIGJlIGF2YWlsYWJsZSBpbiAvc3lzL2tlcm5lbC9idGYvbWx4NSBhbmQNCj4+ PiAvc3lzL2tlcm5lbC9idGYvaTQwZSAoaWYgZHJpdmVycyBhcmUgbG9hZGVkKS4gU2hvdWxkIHdl IGR1bXAgdGhpcyB0bw0KPj4+IHZtbGludXguaD8gT3IgYSBkZXZlbG9wZXIgb2YgdGhlIHhkcCBw cm9ncmFtIHNob3VsZCBhZGQgdGhpcyBkZWZpbml0aW9uDQo+Pj4gdG8gaGlzIGNvZGU/DQo+Pg0K Pj4gV2VsbCwgaWYgdGhlIGRyaXZlciBqdXN0IGRlZmluZXMgdGhlIHN0cnVjdCwgdGhlIEJURiBm b3IgaXQgd2lsbCBiZQ0KPj4gYXV0b21hdGljYWxseSBwYXJ0IG9mIHRoZSBkcml2ZXIgbW9kdWxl IEJURi4gQlBGIHByb2dyYW0gZGV2ZWxvcGVycw0KPj4gd291bGQgbmVlZCB0byBpbmNsdWRlIHRo aXMgaW4gdGhlaXIgcHJvZ3JhbXMgc29tZWhvdyAoc2ltaWxhciB0byBob3cNCj4+IHlvdSdsbCBu ZWVkIHRvIGdldCB0aGUgdHlwZSBkZWZpbml0aW9ucyBmcm9tIHZtbGludXguaCB0b2RheSB0byB1 c2UNCj4+IENPLVJFKTsgaG93IHRoZXkgZG8gdGhpcyBpcyB1cCB0byB0aGVtLiBTaW5jZSB0aGlz IGlzIGEgY29tcGlsZS10aW1lDQo+PiB0aGluZyBpdCB3aWxsIHByb2JhYmx5IGRlcGVuZCBvbiB0 aGUgcHJvamVjdCAoZm9yIGluc3RhbmNlLCBCQ0MgaW5jbHVkZXMNCj4+IGEgY29weSBvZiB2bWxp bnV4LmggaW4gdGhlaXIgc291cmNlIHRyZWUsIGJ1dCB5b3UgY2FuIGFsc28ganVzdCBwaWNrIG91 dA0KPj4gdGhlIHN0cnVjdHMgeW91IG5lZWQpLg0KPj4NCj4+PiBNYXliZSBjcmVhdGUgYW5vdGhl ciAvc3lzL2tlcm5lbC9idGYvaGludHMgd2l0aCB2bWxpbnV4IGFuZCBoaW50cyBmcm9tDQo+Pj4g YWxsIGRyaXZlcnMgd2hpY2ggc3VwcG9ydCBoaW50cz8NCj4+DQo+PiBJdCBtYXkgYmUgdXNlZnVs IHRvIGhhdmUgYSB3YXkgZm9yIHRoZSBrZXJuZWwgdG8gZXhwb3J0IGFsbCB0aGUgaGludHMNCj4+ IGN1cnJlbnRseSBsb2FkZWQsIHNvIGxpYmJwZiBjYW4ganVzdCB1c2UgdGhhdCB3aGVuIHJlbG9j YXRpbmcuIFRoZQ0KPj4gcHJvYmxlbSBvZiBjb3Vyc2UgYmVpbmcgdGhhdCB0aGlzIHdpbGwgb25s eSBpbmNsdWRlIGRyaXZlcnMgdGhhdCBhcmUNCj4+IGFjdHVhbGx5IGxvYWRlZCwgc28gdXNlcnMg bmVlZCB0byBtYWtlIHN1cmUgdG8gbG9hZCBhbGwgdGhlaXIgbmV0d29yaw0KPj4gZHJpdmVycyBi ZWZvcmUgbG9hZGluZyBhbnkgWERQIHByb2dyYW1zLiBJIHRoaW5rIGl0IHdvdWxkIGJlIGJldHRl ciBpZg0KPj4gdGhlIGxvYWRlciBjb3VsZCBkaXNjb3ZlciBhbGwgbW9kdWxlcyAqYXZhaWxhYmxl KiBvbiB0aGUgc3lzdGVtLCBidXQgSSdtDQo+PiBub3Qgc3VyZSBpZiB0aGVyZSdzIGEgZ29vZCB3 YXkgdG8gZG8gdGhhdC4NCj4+DQo+Pj4gUHJldmlvdXNseSBpbiB0aGlzIHRocmVhZCBzb21lb25l IG1lbnRpb25lZCB0aGlzIF9fXyB1c2UgY2FzZSBpbiBsaWJicGYNCj4+PiBhbmQgcHJvcG9zZWQg Y3JlYXRpbmcgc29tZXRoaW5nIGxpa2UgbWVnYSB4ZHAgaGludHMgc3RydWN0dXJlIHdpdGggYWxs DQo+Pj4gYXZhaWxhYmxlIGZpZWxkcyBhY3Jvc3MgYWxsIGRyaXZlcnMuIEFzIEkgdW5kZXJzdGFu ZCB0aGlzIGNvdWxkIHNvbHZlDQo+Pj4gdGhlIHByb2JsZW0gYWJvdXQgZGVmaW5pbmcgY29ycmVj dCBzdHJ1Y3R1cmUgYXQgYnVpbGQgdGltZS4gQnV0IGhvdyB3aWxsDQo+Pj4gaXQgd29yayB3aGVu IHRoZXJlIHdpbGwgYmUgbW9yZSB0aGFuIG9uZSBzdHJ1Y3R1cmVzIHdpdGggdGhlIHNhbWUgbmFt ZQ0KPj4+IGJlZm9yZSBfX18/IEkgbWVhbjoNCj4+PiBzdHJ1Y3QgeGRwX2hpbnRzX19fbWVnYSBk ZWZpbmVkIG9ubHkgaW4gY29yZSBhcHANCj4+PiBzdHJ1Y3QgeGRwX2hpbnRzX19fbWx4NSBhdmFp bGFibGUgd2hlbiBtbHg1IGRyaXZlciBpcyBsb2FkZWQNCj4+PiBzdHJ1Y3QgeGRwX2hpbnRzX19f aTQwZSBhdmFpbGFibGUgd2hlbiBpNDBlIGRyaXZlciBpcyBsb2FkZWQNCj4+Pg0KPj4+IFdoZW4g dGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBkcml2ZXIgbG9hZGVkIHNob3VsZCBsaWJicGYgZG8gY29y cmVjdA0KPj4+IHJlYWxsb2NhdGlvbiBvZiBmaWVsZHM/IFdoYXQgd2lsbCBoYXBwZW4gd2hlbiBi b3RoIG9mIHRoZSBkcml2ZXJzIGFyZQ0KPj4+IGxvYWRlZD8NCj4+DQo+PiBJIHRoaW5rIHdlIGRl ZmluaXRlbHkgbmVlZCB0byBtYWtlIHRoaXMgZWFzeSBmb3IgZGV2ZWxvcGVycyBzbyB0aGV5DQo+ PiBkb24ndCBoYXZlIHRvIGdvIGFuZCBtYW51YWxseSB0cmFjayBkb3duIHRoZSBkcml2ZXIgc3Ry dWN0cyBhbmQgd3JpdGUNCj4+IHRoZSBkaXNhbWJpZ3VhdGlvbiBjb2RlIGV0Yy4gSS5lLiwgdGhl IGV4YW1wbGUgY29kZSBJIGluY2x1ZGVkIGFib3ZlDQo+PiB0aGF0IGNoZWNrcyB0aGUgZnJhbWUg QlRGIElEIGFuZCBkb2VzIHRoZSBsb2FkaW5nIGJhc2VkIG9uIGl0IHNob3VsZCBiZQ0KPj4gYXV0 by1nZW5lcmF0ZWQuIFdlIGFscmVhZHkgaGF2ZSBzb21lIHByZWNlZGVuY2UgZm9yIGF1dG8tZ2Vu ZXJhdGVkIGNvZGUNCj4+IGluIHZtbGludXguaCBhbmQgdGhlIGJwZnRvb2wgc2tlbGV0b25zLiBT byBtYXliZSB3ZSBjb3VsZCBoYXZlIGEgY29tbWFuZA0KPj4gbGlrZSAnYnBmdG9vbCBnZW5feGRw X21ldGEgPGZpZWxkcz4nIHdoaWNoIHdvdWxkIGdvIGFuZCBsb29rdXAgYWxsIHRoZQ0KPj4gYXZh aWxhYmxlIGRyaXZlciBzdHJ1Y3RzIGFuZCBnZW5lcmF0ZSBhIGNvZGUgaGVscGVyIGZ1bmN0aW9u IHRoYXQgd2lsbA0KPj4gZXh0cmFjdCB0aGUgZHJpdmVyIHN0cnVjdHMgYW5kIGdlbmVyYXRlIHRo ZSBsb2FkZXIgY29kZT8gU28gdGhhdCBpZiwNCj4+IHNheSwgeW91J3JlIGludGVyZXN0ZWQgaW4g cnhoYXNoIGFuZCB0c3RhbXAgeW91IGNvdWxkIGRvOg0KPj4NCj4+IGJwZnRvb2wgZ2VuX3hkcF9t ZXRhIHJ4aGFzaCB0c3RhbXAgPiBteV9tZXRhLmgNCj4+DQo+PiB3aGljaCB3b3VsZCB0aGVuIHBy b2R1Y2UgbXlfbWV0YS5oIHdpdGggY29udGVudCBsaWtlOg0KPj4NCj4+IHN0cnVjdCBteV9tZXRh IHsgLyogY29udGFpbnMgZmllbGRzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lICovDQo+ PiAgICB1MzIgcnhoYXNoOw0KPj4gICAgdTMyIHRzdGFtcDsNCj4+IH0NCj4+DQo+PiBzdHJ1Y3Qg bWV0YV9tbHg1IHsvKmdlbmVyYXRlZCBmcm9tIGtlcm5lbCBCVEYgKi99Ow0KPj4gc3RydWN0IG1l dGFfaTQwZSB7LypnZW5lcmF0ZWQgZnJvbSBrZXJuZWwgQlRGICovfTsNCj4+DQo+PiBzdGF0aWMg aW5saW5lIGludCBnZXRfeGRwX21ldGEoc3RydWN0IHhkcF9tZCAqY3R4LCBzdHJ1Y3QgbXlfbWV0 YSAqbWV0YSkNCj4+IHsNCj4+ICAgaWYgKGN0eC0+aGFzX2RyaXZlcl9tZXRhKSB7DQo+PiAgICAg LyogdGhpcyBzaG91bGQgYmUgYXQgYSB3ZWxsLWtub3duIHBvc2l0aW9uLCBsaWtlIGZpcnN0IChv ciBsYXN0KSBpbiBtZXRhIGFyZWEgKi8NCj4+ICAgICBfX3UzMiAqbWV0YV9idGZfaWQgPSBjdHgt PmRhdGFfbWV0YTsNCj4+ICAgICANCj4+ICAgICBpZiAoKm1ldGFfYnRmX2lkID09IEJURl9JRF9N TFg1KSB7DQo+PiAgICAgICBzdHJ1Y3QgbWV0YV9tbHg1ICptZXRhID0gY3R4LT5kYXRhX21ldGE7 DQo+PiAgICAgICBteV9tZXRhLT5yeGhhc2ggPSBtZXRhLT5yeGhhc2g7DQo+PiAgICAgICBteV9t ZXRhLT50c3RhbXAgPSBtZXRhLT50c3RhbXA7DQo+PiAgICAgICByZXR1cm4gMDsNCj4+ICAgICB9 IGVsc2UgaWYgKG1ldGFfYnRmX2lkID09IEJURl9JRF9JNDBFKSB7DQo+PiAgICAgICBzdHJ1Y3Qg bWV0YV9pNDBlICptZXRhID0gY3R4LT5kYXRhX21ldGE7DQo+PiAgICAgICBteV9tZXRhLT5yeGhh c2ggPSBtZXRhLT5yeGhhc2g7DQo+PiAgICAgICBteV9tZXRhLT50c3RhbXAgPSBtZXRhLT50c3Rh bXA7DQo+PiAgICAgICByZXR1cm4gMDsNCj4+ICAgICB9IC8qIGV0YyAqLw0KPj4gICB9DQo+PiAg IHJldHVybiAtRU5PRU5UOw0KPj4gfQ0KPiANCj4gQWNjb3JkaW5nIHRvIG1ldGFfYnRmX2lkLiAN Cg0KSW4gQlBGLXByb2cgKHRoYXQgZ2V0cyBsb2FkZWQgYnkgbGliYnBmKSwgdGhlIEJURl9JRF9N TFg1IGFuZCANCkJURl9JRF9JNDBFIHNob3VsZCBiZSByZXBsYWNlZCBieSBicGZfY29yZV90eXBl X2lkX2tlcm5lbCgpIGNhbGxzLg0KDQpJIGhhdmUgYSBjb2RlIGV4YW1wbGUgaGVyZVsxXSwgd2hl cmUgSSB1c2UgdGhlIHRyaXBsZS11bmRlcnNjb3JlIHRvIA0KbG9va3VwIGJ0Zl9pZCA9IGJwZl9j b3JlX3R5cGVfaWRfa2VybmVsKHN0cnVjdCBza19idWZmX19fbG9jYWwpLg0KDQpBRkFJSyAoQW5k cmlpIGNvcnJlY3RseSBtZSBpZiBJJ20gd3JvbmcpIEl0IGlzIGxpYmJwZiB0aGF0IGRvZXMgdGhl IA0KYnBmX2lkIGxvb2t1cCBiZWZvcmUgbG9hZGluZyB0aGUgQlBGLXByb2cgaW50byB0aGUga2Vy bmVsLg0KDQpGb3IgQUZfWERQIHdlIG5lZWQgdG8gY29kZSBvdXIgb3duIHNpbWlsYXIgbG9va3Vw IG9mIHRoZSBidGZfaWQuIChJbiANCnRoYXQgcHJvY2VzcyBJIGltYWdpbmUgdGhhdCB1c2Vyc3Bh Y2UgdG9vbHMgY291bGQvd291bGQgcmVhZCB0aGUgQlRGIA0KbWVtYmVyIG9mZnNldHMgYW5kIGNo ZWNrIGl0IGFnYWluc3Qgd2hhdCB0aGV5IGV4cGVjdGVkKS4NCg0KDQogIFsxXSANCmh0dHBzOi8v Z2l0aHViLmNvbS94ZHAtcHJvamVjdC9icGYtZXhhbXBsZXMvYmxvYi9tYXN0ZXIva3RyYWNlLUNP LVJFL2t0cmFjZTAxX2tlcm4uYyNMMzQtTDU3DQoNCj4gRG8gWW91IGhhdmUgYW4gaWRlYSBob3cg ZHJpdmVyIHNob3VsZCBmaWxsIHRoaXMgZmllbGQ/DQoNCihBbmRyaWkgcGxlYXNlIGNvcnJlY3Rs eSBtZSBhcyB0aGlzIGlzIGxpa2VseSB3cm9uZzopDQpJIGltYWdpbmUgdGhhdCBkcml2ZXIgd2ls bCBoYXZlIGEgcG9pbnRlciB0byBhICdzdHJ1Y3QgYnRmJyBvYmplY3QgYW5kIA0KdGhlIGJ0Zl9p ZCBjYW4gYmUgcmVhZCB2aWEgYnRmX29ial9pZCgpICh0aGF0IGp1c3QgcmV0dXJuIGJ0Zi0+aWQp Lg0KQXMgdGhpcyBhbHNvIGFsbG93cyBkcml2ZXIgdG8gdGFrZSByZWZjbnQgb24gdGhlIGJ0Zi1v YmplY3QuDQpNdWNoIGxpa2UgRWRlcnNvbiBkaWQgaW4gWzJdLg0KDQpNYXliZSBJIG1pc3VuZGVy c3Rvb2QgdGhlIHVzZSBvZiB0aGUgJ3N0cnVjdCBidGYnIG9iamVjdCA/DQoNCk1heWJlIGl0IGlz IHRoZSB3cm9uZyBhcHByb2FjaD8gQXMgdGhlIHBhdGNoc2V0WzJdIGV4cG9ydHMgYnRmX29ial9p ZCgpIA0KYW5kIGludHJvZHVjZWQgaGVscGVyIGZ1bmN0aW9ucyB0aGF0IGNhbiByZWdpc3Rlci91 bnJlZ2lzdGVyIGJ0ZiANCm9iamVjdHNbM10sIHdoaWNoIEkgc2Vuc2UgbWlnaHQgbm90IGJlIG5l ZWRlZCB0b2RheSwgYXMgbW9kdWxlcyBjYW4gZ2V0IA0KdGhlaXIgb3duIEJURiBpbmZvIGF1dG9t YXRpY2FsbHkgdG9kYXkuDQpNYXliZSB0aGlzIChidGYtPmlkKSBpcyBub3QgdGhlIElEIHdlIGFy ZSBsb29raW5nIGZvcj8NCg0KWzJdIA0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjEw ODAzMDEwMzMxLjM5NDUzLTExLWVkZXJzb24uZGVzb3V6YUBpbnRlbC5jb20vDQpbM10gDQpodHRw czovL2xvcmUua2VybmVsLm9yZy9hbGwvMjAyMTA4MDMwMTAzMzEuMzk0NTMtMi1lZGVyc29uLmRl c291emFAaW50ZWwuY29tLw0KDQo+IGhpbnRzLT5idGZfaWQgPSBidGZfaWRfYnlfbmFtZSgic3Ry dWN0IG1ldGFfaTQwZSIpOyAvKiBmaWxsIGJ0ZiBpZCBhdA0KPiBjb25maWcgdGltZSAqLw0KDQpZ ZXMsIGF0IGNvbmZpZyB0aW1lIHRoZSBidGZfaWQgY2FuIGNoYW5nZSAoYW5kIG1heWJlIHdlIHdh bnQgdG8gY2FjaGUgDQp0aGUgYnRmX29ial9pZCgpIGxvb2t1cCB0byBhdm9pZCBhIGZ1bmN0aW9u IGNhbGwpLg0KDQo+IGJ0Zl9pZF9ieV9uYW1lIHdpbGwgZ2V0IG1vZHVsZSBidGYgKG9yIHZtbGlu dXggYnRmKSBhbmQgc2VhcmNoIGZvcg0KPiBjb3JyZWN0IG5hbWUgZm9yIGVhY2ggaWRzLiBEb2Vz IHRoaXMgbG9vayBjb3JyZWN0Pw0KID4NCj4gSXMgdGhlcmUgYW55IHdheSBpbiBrZXJuZWwgdG8g Z2V0IGJ0ZiBpZCBiYXNlZCBvbiBuYW1lIG9yIHdlIGhhdmUgdG8NCj4gd3JpdGUgZnVuY3Rpb25z IGZvciB0aGlzPyBJIGhhdmVuJ3Qgc2VlbiBjb2RlIGZvciB0aGlzIGNhc2UsIGJ1dCBtYXliZSBJ DQo+IG1pc3NlZCBpdC4NCg0KVGhlcmUgaXMgYSBmdW5jdGlvbiBuYW1lZDogYnRmX2ZpbmRfYnlf bmFtZV9raW5kKCkNCg0KLS1KZXNwZXINCg0K