From owner-freebsd-net Thu Jun 21 19:58:49 2001 Delivered-To: freebsd-net@freebsd.org Received: from silby.com (cb34181-a.mdsn1.wi.home.com [24.14.173.39]) by hub.freebsd.org (Postfix) with ESMTP id 0383937B406 for ; Thu, 21 Jun 2001 19:58:37 -0700 (PDT) (envelope-from silby@silby.com) Received: (qmail 15505 invoked by uid 1000); 22 Jun 2001 02:58:35 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 22 Jun 2001 02:58:35 -0000 Date: Thu, 21 Jun 2001 21:58:35 -0500 (CDT) From: Mike Silbersack To: Bosko Milekic Cc: Subject: Re: tcp template removal / scalability patch In-Reply-To: <20010619173424.A8399@technokratis.com> Message-ID: <20010621215417.K15327-200000@achilles.silby.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1535798151-993178715=:15327" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1535798151-993178715=:15327 Content-Type: TEXT/PLAIN; charset=US-ASCII Ok, here's the updated tcp template removal patch. It's functionally the same, which is why I'm not including an updated -stable patch. Also, I did test it with IPv6, and it seems good. No IPSEC testing, but I see no reason why it would break if v4/v6 didn't. What did change: - Formatting all fixed (most of the problems were due to my hasty -stable patch. The -current patch was less quirky.) - t_template has been replaced with unused in the tcpcb to make sure nobody uses it accidently. I renamed rather than removed it because removal would probably break userland tools expecting the existing structure. - All t_templates = NULLs and checks to make sure it was null have been removed. I think it's ready for commit now, please review. Thanks, Mike "Silby" Silbersack --0-1535798151-993178715=:15327 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="tcptemplate2-current.patch" Content-Transfer-Encoding: BASE64 Content-ID: <20010621215835.Q15327@achilles.silby.com> Content-Description: Content-Disposition: attachment; filename="tcptemplate2-current.patch" ZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfaW5wdXQuYyBuZXRpbmV0L3Rj cF9pbnB1dC5jDQotLS0gbmV0aW5ldC5vbGQvdGNwX2lucHV0LmMJTW9uIEp1 biAxOCAyMDo0NTowNyAyMDAxDQorKysgbmV0aW5ldC90Y3BfaW5wdXQuYwlX ZWQgSnVuIDIwIDE1OjE3OjQzIDIwMDENCkBAIC0xMTI3LDEyICsxMTI3LDYg QEANCiAJCX0NCiAJCUZSRUUoc2luLCBNX1NPTkFNRSk7DQogCSAgICAgIH0N Ci0JCXRwLT50X3RlbXBsYXRlID0gdGNwX3RlbXBsYXRlKHRwKTsNCi0JCWlm ICh0cC0+dF90ZW1wbGF0ZSA9PSAwKSB7DQotCQkJdHAgPSB0Y3BfZHJvcCh0 cCwgRU5PQlVGUyk7DQotCQkJZHJvcHNvY2tldCA9IDA7CQkvKiBzb2NrZXQg aXMgYWxyZWFkeSBnb25lICovDQotCQkJZ290byBkcm9wOw0KLQkJfQ0KIAkJ aWYgKCh0YW9wID0gdGNwX2dldHRhb2NhY2hlKGlucCkpID09IE5VTEwpIHsN CiAJCQl0YW9wID0gJnRhb19ub25jYWNoZWQ7DQogCQkJYnplcm8odGFvcCwg c2l6ZW9mKCp0YW9wKSk7DQpkaWZmIC11IC1yIG5ldGluZXQub2xkL3RjcF9v dXRwdXQuYyBuZXRpbmV0L3RjcF9vdXRwdXQuYw0KLS0tIG5ldGluZXQub2xk L3RjcF9vdXRwdXQuYwlNb24gSnVuIDE4IDIwOjQ1OjA3IDIwMDENCisrKyBu ZXRpbmV0L3RjcF9vdXRwdXQuYwlUaHUgSnVuIDIxIDIxOjM3OjU3IDIwMDEN CkBAIC02MzIsMTYgKzYzMiwxMSBAQA0KIAkJbS0+bV9sZW4gPSBoZHJsZW47 DQogCX0NCiAJbS0+bV9wa3RoZHIucmN2aWYgPSAoc3RydWN0IGlmbmV0ICop MDsNCi0JaWYgKHRwLT50X3RlbXBsYXRlID09IDApDQotCQlwYW5pYygidGNw X291dHB1dCIpOw0KICNpZmRlZiBJTkVUNg0KIAlpZiAoaXNpcHY2KSB7DQog CQlpcDYgPSBtdG9kKG0sIHN0cnVjdCBpcDZfaGRyICopOw0KIAkJdGggPSAo c3RydWN0IHRjcGhkciAqKShpcDYgKyAxKTsNCi0JCWJjb3B5KChjYWRkcl90 KXRwLT50X3RlbXBsYXRlLT50dF9pcGdlbiwgKGNhZGRyX3QpaXA2LA0KLQkJ ICAgICAgc2l6ZW9mKHN0cnVjdCBpcDZfaGRyKSk7DQotCQliY29weSgoY2Fk ZHJfdCkmdHAtPnRfdGVtcGxhdGUtPnR0X3QsIChjYWRkcl90KXRoLA0KLQkJ ICAgICAgc2l6ZW9mKHN0cnVjdCB0Y3BoZHIpKTsNCisJCXRjcF9maWxsaGVh ZGVycyh0cCwgaXA2LCB0aCk7DQogCX0gZWxzZQ0KICNlbmRpZiAvKiBJTkVU NiAqLw0KICAgICAgIHsNCkBAIC02NDksMTAgKzY0NCw3IEBADQogCWlwb3Yg PSAoc3RydWN0IGlwb3ZseSAqKWlwOw0KIAl0aCA9IChzdHJ1Y3QgdGNwaGRy ICopKGlwICsgMSk7DQogCS8qIHRoaXMgcGlja3MgdXAgdGhlIHBzZXVkbyBo ZWFkZXIgKHcvbyB0aGUgbGVuZ3RoKSAqLw0KLQliY29weSgoY2FkZHJfdCl0 cC0+dF90ZW1wbGF0ZS0+dHRfaXBnZW4sIChjYWRkcl90KWlwLA0KLQkgICAg ICBzaXplb2Yoc3RydWN0IGlwKSk7DQotCWJjb3B5KChjYWRkcl90KSZ0cC0+ dF90ZW1wbGF0ZS0+dHRfdCwgKGNhZGRyX3QpdGgsDQotCSAgICAgIHNpemVv ZihzdHJ1Y3QgdGNwaGRyKSk7DQorCXRjcF9maWxsaGVhZGVycyh0cCwgaXAs IHRoKTsNCiAgICAgICB9DQogDQogCS8qDQpkaWZmIC11IC1yIG5ldGluZXQu b2xkL3RjcF9zdWJyLmMgbmV0aW5ldC90Y3Bfc3Vici5jDQotLS0gbmV0aW5l dC5vbGQvdGNwX3N1YnIuYwlNb24gSnVuIDE4IDIwOjQ1OjA3IDIwMDENCisr KyBuZXRpbmV0L3RjcF9zdWJyLmMJVGh1IEp1biAyMSAyMTo0MzozOSAyMDAx DQpAQCAtMjE4LDMxICsyMTgsMjQgQEANCiB9DQogDQogLyoNCi0gKiBDcmVh dGUgdGVtcGxhdGUgdG8gYmUgdXNlZCB0byBzZW5kIHRjcCBwYWNrZXRzIG9u IGEgY29ubmVjdGlvbi4NCi0gKiBDYWxsIGFmdGVyIGhvc3QgZW50cnkgY3Jl YXRlZCwgYWxsb2NhdGVzIGFuIG1idWYgYW5kIGZpbGxzDQotICogaW4gYSBz a2VsZXRhbCB0Y3AvaXAgaGVhZGVyLCBtaW5pbWl6aW5nIHRoZSBhbW91bnQg b2Ygd29yaw0KLSAqIG5lY2Vzc2FyeSB3aGVuIHRoZSBjb25uZWN0aW9uIGlz IHVzZWQuDQorICogRmlsbCBpbiB0aGUgSVAgYW5kIFRDUCBoZWFkZXJzIGZv ciBhbiBvdXRnb2luZyBwYWNrZXQsIGdpdmVuIHRoZSB0Y3BjYi4NCisgKiB0 Y3BfdGVtcGxhdGUgdXNlZCB0byBzdG9yZSB0aGlzIGRhdGEgaW4gbWJ1ZnMs IGJ1dCB3ZSBub3cgcmVjb3B5IGl0IG91dA0KKyAqIG9mIHRoZSB0Y3BjYiBl YWNoIHRpbWUgdG8gY29uc2VydmUgbWJ1ZnMuDQogICovDQotc3RydWN0IHRj cHRlbXAgKg0KLXRjcF90ZW1wbGF0ZSh0cCkNCit2b2lkDQordGNwX2ZpbGxo ZWFkZXJzKHRwLCBpcF9wdHIsIHRjcF9wdHIpDQogCXN0cnVjdCB0Y3BjYiAq dHA7DQorCXZvaWQgKmlwX3B0cjsNCisJdm9pZCAqdGNwX3B0cjsNCiB7DQot CXJlZ2lzdGVyIHN0cnVjdCBpbnBjYiAqaW5wID0gdHAtPnRfaW5wY2I7DQot CXJlZ2lzdGVyIHN0cnVjdCBtYnVmICptOw0KLQlyZWdpc3RlciBzdHJ1Y3Qg dGNwdGVtcCAqbjsNCisJc3RydWN0IGlucGNiICppbnAgPSB0cC0+dF9pbnBj YjsNCisJc3RydWN0IHRjcGhkciAqdGNwX2hkciA9IChzdHJ1Y3QgdGNwaGRy ICopdGNwX3B0cjsNCiANCi0JaWYgKChuID0gdHAtPnRfdGVtcGxhdGUpID09 IDApIHsNCi0JCW0gPSBtX2dldChNX0RPTlRXQUlULCBNVF9IRUFERVIpOw0K LQkJaWYgKG0gPT0gTlVMTCkNCi0JCQlyZXR1cm4gKDApOw0KLQkJbS0+bV9s ZW4gPSBzaXplb2YgKHN0cnVjdCB0Y3B0ZW1wKTsNCi0JCW4gPSBtdG9kKG0s IHN0cnVjdCB0Y3B0ZW1wICopOw0KLQl9DQogI2lmZGVmIElORVQ2DQogCWlm ICgoaW5wLT5pbnBfdmZsYWcgJiBJTlBfSVBWNikgIT0gMCkgew0KLQkJcmVn aXN0ZXIgc3RydWN0IGlwNl9oZHIgKmlwNjsNCisJCXN0cnVjdCBpcDZfaGRy ICppcDY7DQogDQotCQlpcDYgPSAoc3RydWN0IGlwNl9oZHIgKiluLT50dF9p cGdlbjsNCisJCWlwNiA9IChzdHJ1Y3QgaXA2X2hkciAqKWlwX3B0cjsNCiAJ CWlwNi0+aXA2X2Zsb3cgPSAoaXA2LT5pcDZfZmxvdyAmIH5JUFY2X0ZMT1dJ TkZPX01BU0spIHwNCiAJCQkoaW5wLT5pbjZwX2Zsb3dpbmZvICYgSVBWNl9G TE9XSU5GT19NQVNLKTsNCiAJCWlwNi0+aXA2X3ZmYyA9IChpcDYtPmlwNl92 ZmMgJiB+SVBWNl9WRVJTSU9OX01BU0spIHwNCkBAIC0yNTEsMjkgKzI0NCw1 MSBAQA0KIAkJaXA2LT5pcDZfcGxlbiA9IHNpemVvZihzdHJ1Y3QgdGNwaGRy KTsNCiAJCWlwNi0+aXA2X3NyYyA9IGlucC0+aW42cF9sYWRkcjsNCiAJCWlw Ni0+aXA2X2RzdCA9IGlucC0+aW42cF9mYWRkcjsNCi0JCW4tPnR0X3QudGhf c3VtID0gMDsNCisJCXRjcF9oZHItPnRoX3N1bSA9IDA7DQogCX0gZWxzZQ0K ICNlbmRpZg0KLSAgICAgIHsNCi0Jc3RydWN0IGlwICppcCA9IChzdHJ1Y3Qg aXAgKiluLT50dF9pcGdlbjsNCisJew0KKwlzdHJ1Y3QgaXAgKmlwID0gKHN0 cnVjdCBpcCAqKSBpcF9wdHI7DQogDQotCWJ6ZXJvKGlwLCBzaXplb2Yoc3Ry dWN0IGlwKSk7CQkvKiBYWFggb3ZlcmtpbGw/ICovDQorCWJ6ZXJvKGlwLCBz aXplb2Yoc3RydWN0IGlwKSk7ICAgICAgICAgICAvKiBYWFggb3ZlcmtpbGw/ ICovDQogCWlwLT5pcF92aGwgPSBJUF9WSExfQk9SSU5HOw0KIAlpcC0+aXBf cCA9IElQUFJPVE9fVENQOw0KIAlpcC0+aXBfc3JjID0gaW5wLT5pbnBfbGFk ZHI7DQogCWlwLT5pcF9kc3QgPSBpbnAtPmlucF9mYWRkcjsNCi0Jbi0+dHRf dC50aF9zdW0gPSBpbl9wc2V1ZG8oaXAtPmlwX3NyYy5zX2FkZHIsIGlwLT5p cF9kc3Quc19hZGRyLA0KLQkgICAgaHRvbnMoc2l6ZW9mKHN0cnVjdCB0Y3Bo ZHIpICsgSVBQUk9UT19UQ1ApKTsNCi0gICAgICB9DQotCW4tPnR0X3QudGhf c3BvcnQgPSBpbnAtPmlucF9scG9ydDsNCi0Jbi0+dHRfdC50aF9kcG9ydCA9 IGlucC0+aW5wX2Zwb3J0Ow0KLQluLT50dF90LnRoX3NlcSA9IDA7DQotCW4t PnR0X3QudGhfYWNrID0gMDsNCi0Jbi0+dHRfdC50aF94MiA9IDA7DQotCW4t PnR0X3QudGhfb2ZmID0gNTsNCi0Jbi0+dHRfdC50aF9mbGFncyA9IDA7DQot CW4tPnR0X3QudGhfd2luID0gMDsNCi0Jbi0+dHRfdC50aF91cnAgPSAwOw0K Kwl0Y3BfaGRyLT50aF9zdW0gPSBpbl9wc2V1ZG8oaXAtPmlwX3NyYy5zX2Fk ZHIsIGlwLT5pcF9kc3Quc19hZGRyLA0KKwkJaHRvbnMoc2l6ZW9mKHN0cnVj dCB0Y3BoZHIpICsgSVBQUk9UT19UQ1ApKTsNCisJfQ0KKw0KKwl0Y3BfaGRy LT50aF9zcG9ydCA9IGlucC0+aW5wX2xwb3J0Ow0KKwl0Y3BfaGRyLT50aF9k cG9ydCA9IGlucC0+aW5wX2Zwb3J0Ow0KKwl0Y3BfaGRyLT50aF9zZXEgPSAw Ow0KKwl0Y3BfaGRyLT50aF9hY2sgPSAwOw0KKwl0Y3BfaGRyLT50aF94MiA9 IDA7DQorCXRjcF9oZHItPnRoX29mZiA9IDU7DQorCXRjcF9oZHItPnRoX2Zs YWdzID0gMDsNCisJdGNwX2hkci0+dGhfd2luID0gMDsNCisJdGNwX2hkci0+ dGhfdXJwID0gMDsNCit9DQorDQorLyoNCisgKiBDcmVhdGUgdGVtcGxhdGUg dG8gYmUgdXNlZCB0byBzZW5kIHRjcCBwYWNrZXRzIG9uIGEgY29ubmVjdGlv bi4NCisgKiBBbGxvY2F0ZXMgYW4gbWJ1ZiBhbmQgZmlsbHMgaW4gYSBza2Vs ZXRhbCB0Y3AvaXAgaGVhZGVyLiAgVGhlIG9ubHkNCisgKiB1c2UgZm9yIHRo aXMgZnVuY3Rpb24gaXMgaW4ga2VlcGFsaXZlcywgd2hpY2ggdXNlIHRjcF9y ZXNwb25kLg0KKyAqLw0KK3N0cnVjdCB0Y3B0ZW1wICoNCit0Y3BfbWFrZXRl bXBsYXRlKHRwKQ0KKwlzdHJ1Y3QgdGNwY2IgKnRwOw0KK3sNCisJc3RydWN0 IG1idWYgKm07DQorCXN0cnVjdCB0Y3B0ZW1wICpuOw0KKw0KKwltID0gbV9n ZXQoTV9ET05UV0FJVCwgTVRfSEVBREVSKTsNCisJaWYgKG0gPT0gTlVMTCkN CisJCXJldHVybiAoMCk7DQorCW0tPm1fbGVuID0gc2l6ZW9mKHN0cnVjdCB0 Y3B0ZW1wKTsNCisJbiA9IG10b2QobSwgc3RydWN0IHRjcHRlbXAgKik7DQor DQorCXRjcF9maWxsaGVhZGVycyh0cCwgKHZvaWQgKikmbi0+dHRfaXBnZW4s ICh2b2lkICopJm4tPnR0X3QpOw0KIAlyZXR1cm4gKG4pOw0KIH0NCiANCkBA IC0yODIsMTAgKzI5Nyw5IEBADQogICogdGhlIGdpdmVuIFRDUC9JUCBoZWFk ZXIuICBJZiBtID09IDAsIHRoZW4gd2UgbWFrZSBhIGNvcHkNCiAgKiBvZiB0 aGUgdGNwaXBoZHIgYXQgdGkgYW5kIHNlbmQgZGlyZWN0bHkgdG8gdGhlIGFk ZHJlc3NlZCBob3N0Lg0KICAqIFRoaXMgaXMgdXNlZCB0byBmb3JjZSBrZWVw IGFsaXZlIG1lc3NhZ2VzIG91dCB1c2luZyB0aGUgVENQDQotICogdGVtcGxh dGUgZm9yIGEgY29ubmVjdGlvbiB0cC0+dF90ZW1wbGF0ZS4gIElmIGZsYWdz IGFyZSBnaXZlbg0KLSAqIHRoZW4gd2Ugc2VuZCBhIG1lc3NhZ2UgYmFjayB0 byB0aGUgVENQIHdoaWNoIG9yaWdpbmF0ZWQgdGhlDQotICogc2VnbWVudCB0 aSwgYW5kIGRpc2NhcmQgdGhlIG1idWYgY29udGFpbmluZyBpdCBhbmQgYW55 IG90aGVyDQotICogYXR0YWNoZWQgbWJ1ZnMuDQorICogdGVtcGxhdGUgZm9y IGEgY29ubmVjdGlvbi4gIElmIGZsYWdzIGFyZSBnaXZlbiB0aGVuIHdlIHNl bmQNCisgKiBhIG1lc3NhZ2UgYmFjayB0byB0aGUgVENQIHdoaWNoIG9yaWdp bmF0ZWQgdGhlICogc2VnbWVudCB0aSwNCisgKiBhbmQgZGlzY2FyZCB0aGUg bWJ1ZiBjb250YWluaW5nIGl0IGFuZCBhbnkgb3RoZXIgYXR0YWNoZWQgbWJ1 ZnMuDQogICoNCiAgKiBJbiBhbnkgY2FzZSB0aGUgYWNrIGFuZCBzZXF1ZW5j ZSBudW1iZXIgb2YgdGhlIHRyYW5zbWl0dGVkDQogICogc2VnbWVudCBhcmUg YXMgc3BlY2lmaWVkIGJ5IHRoZSBwYXJhbWV0ZXJzLg0KQEAgLTcwMSw4ICs3 MTUsNiBAQA0KIAkJbV9mcmVlbShxLT50cWVfbSk7DQogCQlGUkVFKHEsIE1f VFNFR1EpOw0KIAl9DQotCWlmICh0cC0+dF90ZW1wbGF0ZSkNCi0JCSh2b2lk KSBtX2ZyZWUoZHRvbSh0cC0+dF90ZW1wbGF0ZSkpOw0KIAlpbnAtPmlucF9w cGNiID0gTlVMTDsNCiAJc29pc2Rpc2Nvbm5lY3RlZChzbyk7DQogI2lmZGVm IElORVQ2DQpAQCAtMTMzOSw3ICsxMzUxLDcgQEANCiAjZW5kaWYgLyogSU5F VDYgKi8NCiAJc3RydWN0IHRjcGhkciAqdGg7DQogDQotCWlmICghdHAgfHwg IXRwLT50X3RlbXBsYXRlIHx8ICEoaW5wID0gdHAtPnRfaW5wY2IpKQ0KKwlp ZiAoKHRwID09IE5VTEwpIHx8ICgoaW5wID0gdHAtPnRfaW5wY2IpID09IE5V TEwpKQ0KIAkJcmV0dXJuIDA7DQogCU1HRVRIRFIobSwgTV9ET05UV0FJVCwg TVRfREFUQSk7DQogCWlmICghbSkNCkBAIC0xMzUxLDEwICsxMzYzLDcgQEAN CiAJCXRoID0gKHN0cnVjdCB0Y3BoZHIgKikoaXA2ICsgMSk7DQogCQltLT5t X3BrdGhkci5sZW4gPSBtLT5tX2xlbiA9DQogCQkJc2l6ZW9mKHN0cnVjdCBp cDZfaGRyKSArIHNpemVvZihzdHJ1Y3QgdGNwaGRyKTsNCi0JCWJjb3B5KChj YWRkcl90KXRwLT50X3RlbXBsYXRlLT50dF9pcGdlbiwgKGNhZGRyX3QpaXA2 LA0KLQkJICAgICAgc2l6ZW9mKHN0cnVjdCBpcDZfaGRyKSk7DQotCQliY29w eSgoY2FkZHJfdCkmdHAtPnRfdGVtcGxhdGUtPnR0X3QsIChjYWRkcl90KXRo LA0KLQkJICAgICAgc2l6ZW9mKHN0cnVjdCB0Y3BoZHIpKTsNCisJCXRjcF9m aWxsaGVhZGVycyh0cCwgaXA2LCB0aCk7DQogCQloZHJzaXogPSBpcHNlYzZf aGRyc2l6KG0sIElQU0VDX0RJUl9PVVRCT1VORCwgaW5wKTsNCiAJfSBlbHNl DQogI2VuZGlmIC8qIElORVQ2ICovDQpAQCAtMTM2MiwxMCArMTM3MSw3IEBA DQogCWlwID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7DQogCXRoID0gKHN0cnVj dCB0Y3BoZHIgKikoaXAgKyAxKTsNCiAJbS0+bV9wa3RoZHIubGVuID0gbS0+ bV9sZW4gPSBzaXplb2Yoc3RydWN0IHRjcGlwaGRyKTsNCi0JYmNvcHkoKGNh ZGRyX3QpdHAtPnRfdGVtcGxhdGUtPnR0X2lwZ2VuLCAoY2FkZHJfdClpcCwN Ci0JICAgICAgc2l6ZW9mKHN0cnVjdCBpcCkpOw0KLQliY29weSgoY2FkZHJf dCkmdHAtPnRfdGVtcGxhdGUtPnR0X3QsIChjYWRkcl90KXRoLA0KLQkgICAg ICBzaXplb2Yoc3RydWN0IHRjcGhkcikpOw0KKwl0Y3BfZmlsbGhlYWRlcnMo dHAsIGlwLCB0aCk7DQogCWlwLT5pcF92aGwgPSBJUF9WSExfQk9SSU5HOw0K IAloZHJzaXogPSBpcHNlYzRfaGRyc2l6KG0sIElQU0VDX0RJUl9PVVRCT1VO RCwgaW5wKTsNCiAgICAgICB9DQpPbmx5IGluIG5ldGluZXQub2xkLzogdGNw X3N1YnIuYy5uZXcNCmRpZmYgLXUgLXIgbmV0aW5ldC5vbGQvdGNwX3RpbWVy LmMgbmV0aW5ldC90Y3BfdGltZXIuYw0KLS0tIG5ldGluZXQub2xkL3RjcF90 aW1lci5jCU1vbiBKdW4gMTggMjA6NDU6MDcgMjAwMQ0KKysrIG5ldGluZXQv dGNwX3RpbWVyLmMJVGh1IEp1biAyMSAyMTo0Mzo1OSAyMDAxDQpAQCAtNDEs NiArNDEsNyBAQA0KICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4NCiAjaW5jbHVk ZSA8c3lzL3N5c3RtLmg+DQogI2luY2x1ZGUgPHN5cy9rZXJuZWwuaD4NCisj aW5jbHVkZSA8c3lzL21idWYuaD4NCiAjaW5jbHVkZSA8c3lzL3N5c2N0bC5o Pg0KICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+DQogI2luY2x1ZGUgPHN5cy9z b2NrZXR2YXIuaD4NCkBAIC0yMjIsNiArMjIzLDcgQEANCiAJdm9pZCAqeHRw Ow0KIHsNCiAJc3RydWN0IHRjcGNiICp0cCA9IHh0cDsNCisJc3RydWN0IHRj cHRlbXAgKnRfdGVtcGxhdGU7DQogCWludCBzOw0KICNpZmRlZiBUQ1BERUJV Rw0KIAlpbnQgb3N0YXRlOw0KQEAgLTI1OSw5ICsyNjEsMTMgQEANCiAJCSAq IGNvcnJlc3BvbmRlbnQgVENQIHRvIHJlc3BvbmQuDQogCQkgKi8NCiAJCXRj cHN0YXQudGNwc19rZWVwcHJvYmUrKzsNCi0JCXRjcF9yZXNwb25kKHRwLCB0 cC0+dF90ZW1wbGF0ZS0+dHRfaXBnZW4sDQotCQkJICAgICZ0cC0+dF90ZW1w bGF0ZS0+dHRfdCwgKHN0cnVjdCBtYnVmICopTlVMTCwNCi0JCQkgICAgdHAt PnJjdl9ueHQsIHRwLT5zbmRfdW5hIC0gMSwgMCk7DQorCQl0X3RlbXBsYXRl ID0gdGNwX21ha2V0ZW1wbGF0ZSh0cCk7DQorCQlpZiAodF90ZW1wbGF0ZSkg ew0KKwkJCXRjcF9yZXNwb25kKHRwLCB0X3RlbXBsYXRlLT50dF9pcGdlbiwN CisJCQkJICAgICZ0X3RlbXBsYXRlLT50dF90LCAoc3RydWN0IG1idWYgKilO VUxMLA0KKwkJCQkgICAgdHAtPnJjdl9ueHQsIHRwLT5zbmRfdW5hIC0gMSwg MCk7DQorCQkJKHZvaWQpIG1fZnJlZShkdG9tKHRfdGVtcGxhdGUpKTsNCisJ CX0NCiAJCWNhbGxvdXRfcmVzZXQodHAtPnR0X2tlZXAsIHRjcF9rZWVwaW50 dmwsIHRjcF90aW1lcl9rZWVwLCB0cCk7DQogCX0gZWxzZQ0KIAkJY2FsbG91 dF9yZXNldCh0cC0+dHRfa2VlcCwgdGNwX2tlZXBpZGxlLCB0Y3BfdGltZXJf a2VlcCwgdHApOw0KZGlmZiAtdSAtciBuZXRpbmV0Lm9sZC90Y3BfdXNycmVx LmMgbmV0aW5ldC90Y3BfdXNycmVxLmMNCi0tLSBuZXRpbmV0Lm9sZC90Y3Bf dXNycmVxLmMJTW9uIEp1biAxOCAyMDo0NTowNyAyMDAxDQorKysgbmV0aW5l dC90Y3BfdXNycmVxLmMJV2VkIEp1biAyMCAxNToxODozMyAyMDAxDQpAQCAt NzQ5LDEyICs3NDksNiBAQA0KIAlpbnAtPmlucF9mcG9ydCA9IHNpbi0+c2lu X3BvcnQ7DQogCWluX3BjYnJlaGFzaChpbnApOw0KIA0KLQl0cC0+dF90ZW1w bGF0ZSA9IHRjcF90ZW1wbGF0ZSh0cCk7DQotCWlmICh0cC0+dF90ZW1wbGF0 ZSA9PSAwKSB7DQotCQlpbl9wY2JkaXNjb25uZWN0KGlucCk7DQotCQlyZXR1 cm4gRU5PQlVGUzsNCi0JfQ0KLQ0KIAkvKiBDb21wdXRlIHdpbmRvdyBzY2Fs aW5nIHRvIHJlcXVlc3QuICAqLw0KIAl3aGlsZSAodHAtPnJlcXVlc3Rfcl9z Y2FsZSA8IFRDUF9NQVhfV0lOU0hJRlQgJiYNCiAJICAgIChUQ1BfTUFYV0lO IDw8IHRwLT5yZXF1ZXN0X3Jfc2NhbGUpIDwgc28tPnNvX3Jjdi5zYl9oaXdh dCkNCkBAIC04NDAsMTIgKzgzNCw2IEBADQogCWlmICgoc2luNi0+c2luNl9m bG93aW5mbyAmIElQVjZfRkxPV0lORk9fTUFTSykgIT0gTlVMTCkNCiAJCWlu cC0+aW42cF9mbG93aW5mbyA9IHNpbjYtPnNpbjZfZmxvd2luZm87DQogCWlu X3BjYnJlaGFzaChpbnApOw0KLQ0KLQl0cC0+dF90ZW1wbGF0ZSA9IHRjcF90 ZW1wbGF0ZSh0cCk7DQotCWlmICh0cC0+dF90ZW1wbGF0ZSA9PSAwKSB7DQot CQlpbjZfcGNiZGlzY29ubmVjdChpbnApOw0KLQkJcmV0dXJuIEVOT0JVRlM7 DQotCX0NCiANCiAJLyogQ29tcHV0ZSB3aW5kb3cgc2NhbGluZyB0byByZXF1 ZXN0LiAgKi8NCiAJd2hpbGUgKHRwLT5yZXF1ZXN0X3Jfc2NhbGUgPCBUQ1Bf TUFYX1dJTlNISUZUICYmDQpkaWZmIC11IC1yIG5ldGluZXQub2xkL3RjcF92 YXIuaCBuZXRpbmV0L3RjcF92YXIuaA0KLS0tIG5ldGluZXQub2xkL3RjcF92 YXIuaAlNb24gSnVuIDE4IDIwOjQ1OjA3IDIwMDENCisrKyBuZXRpbmV0L3Rj cF92YXIuaAlXZWQgSnVuIDIwIDE1OjE3OjMxIDIwMDENCkBAIC02Niw3ICs2 Niw3IEBADQogc3RydWN0IHRjcGNiIHsNCiAJc3RydWN0CXRzZWdxZV9oZWFk IHRfc2VncTsNCiAJaW50CXRfZHVwYWNrczsJCS8qIGNvbnNlY3V0aXZlIGR1 cCBhY2tzIHJlY2QgKi8NCi0Jc3RydWN0CXRjcHRlbXAJKnRfdGVtcGxhdGU7 CS8qIHNrZWxldGFsIHBhY2tldCBmb3IgdHJhbnNtaXQgKi8NCisJc3RydWN0 CXRjcHRlbXAJKnVudXNlZDsJLyogdW51c2VkICovDQogDQogCXN0cnVjdAlj YWxsb3V0ICp0dF9yZXhtdDsJLyogcmV0cmFuc21pdCB0aW1lciAqLw0KIAlz dHJ1Y3QJY2FsbG91dCAqdHRfcGVyc2lzdDsJLyogcmV0cmFuc21pdCBwZXJz aXN0ZW5jZSAqLw0KQEAgLTQwMCw3ICs0MDAsOCBAQA0KIHZvaWQJIHRjcF9z ZXRwZXJzaXN0IF9fUCgoc3RydWN0IHRjcGNiICopKTsNCiB2b2lkCSB0Y3Bf c2xvd3RpbW8gX19QKCh2b2lkKSk7DQogc3RydWN0IHRjcHRlbXAgKg0KLQkg dGNwX3RlbXBsYXRlIF9fUCgoc3RydWN0IHRjcGNiICopKTsNCisJIHRjcF9t YWtldGVtcGxhdGUgX19QKChzdHJ1Y3QgdGNwY2IgKikpOw0KK3ZvaWQJIHRj cF9maWxsaGVhZGVycyBfX1AoKHN0cnVjdCB0Y3BjYiAqLCB2b2lkICosIHZv aWQgKikpOw0KIHN0cnVjdCB0Y3BjYiAqDQogCSB0Y3BfdGltZXJzIF9fUCgo c3RydWN0IHRjcGNiICosIGludCkpOw0KIHZvaWQJIHRjcF90cmFjZSBfX1Ao KGludCwgaW50LCBzdHJ1Y3QgdGNwY2IgKiwgdm9pZCAqLCBzdHJ1Y3QgdGNw aGRyICosDQo= --0-1535798151-993178715=:15327-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message