From owner-freebsd-net@freebsd.org Tue Aug 2 06:37:12 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B2E40BAA758 for ; Tue, 2 Aug 2016 06:37:12 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from reviews.nyi.freebsd.org (reviews.nyi.freebsd.org [IPv6:2610:1c1:1:607c::16:b]) by mx1.freebsd.org (Postfix) with ESMTP id 8D2B51A27 for ; Tue, 2 Aug 2016 06:37:12 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id 2A7AAC53B; Tue, 2 Aug 2016 06:37:12 +0000 (UTC) Date: Tue, 2 Aug 2016 06:37:12 +0000 To: freebsd-net@freebsd.org From: Phabricator Reply-to: D6689+325+6c89ed8b7a9bc66d@reviews.freebsd.org Subject: [Differential] D6689: tcp/lro: Implement hash table for LRO entries. Message-ID: <55c05f816cbae37b80111aff14f946cb@localhost.localdomain> X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , Thread-Topic: D6689: tcp/lro: Implement hash table for LRO entries. X-Herald-Rules: <64> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: ZGRkYTdkZDNmZDVlODIxOWE3MGU3NDg3NmVjIFegP5g= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_55c05f816cbae37b80111aff14f946cb" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.22 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2016 06:37:12 -0000 --b1_55c05f816cbae37b80111aff14f946cb Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 VGhpcyByZXZpc2lvbiB3YXMgYXV0b21hdGljYWxseSB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGNv bW1pdHRlZCBjaGFuZ2VzLgpDbG9zZWQgYnkgY29tbWl0IHJTMzAzNjU2OiB0Y3AvbHJvOiBJbXBs ZW1lbnQgaGFzaCB0YWJsZSBmb3IgTFJPIGVudHJpZXMuIChhdXRob3JlZCBieSBzZXBoZSkuCgpD SEFOR0VEIFBSSU9SIFRPIENPTU1JVAogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9ENjY4 OT92cz0xNzU2OSZpZD0xODk1MyN0b2MKClJFUE9TSVRPUlkKICByUyBGcmVlQlNEIHNyYyByZXBv c2l0b3J5CgpDSEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVi c2Qub3JnL0Q2Njg5P3ZzPTE3NTY5JmlkPTE4OTUzCgpSRVZJU0lPTiBERVRBSUwKICBodHRwczov L3Jldmlld3MuZnJlZWJzZC5vcmcvRDY2ODkKCkFGRkVDVEVEIEZJTEVTCiAgaGVhZC9zeXMvbmV0 aW5ldC90Y3BfbHJvLmMKICBoZWFkL3N5cy9uZXRpbmV0L3RjcF9scm8uaAoKRU1BSUwgUFJFRkVS RU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFuZWwvZW1haWxw cmVmZXJlbmNlcy8KClRvOiBzZXBoZXJvc2FfZ21haWwuY29tLCBnbGViaXVzLCBnbm4sIGJ6LCBy d2F0c29uLCBnYWxsYXRpbiwgaHNlbGFza3ksICN0cmFuc3BvcnQsIHJycwpDYzogZnJlZWJzZC1u ZXQtbGlzdAo= --b1_55c05f816cbae37b80111aff14f946cb Content-Type: text/x-patch; charset=utf-8; name="D6689.18953.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D6689.18953.patch" ZGlmZiAtLWdpdCBhL2hlYWQvc3lzL25ldGluZXQvdGNwX2xyby5oIGIvaGVhZC9zeXMvbmV0aW5l dC90Y3BfbHJvLmgKLS0tIGEvaGVhZC9zeXMvbmV0aW5ldC90Y3BfbHJvLmgKKysrIGIvaGVhZC9z eXMvbmV0aW5ldC90Y3BfbHJvLmgKQEAgLTQwLDYgKzQwLDcgQEAKIAogc3RydWN0IGxyb19lbnRy eSB7CiAJTElTVF9FTlRSWShscm9fZW50cnkpCW5leHQ7CisJTElTVF9FTlRSWShscm9fZW50cnkp CWhhc2hfbmV4dDsKIAlzdHJ1Y3QgbWJ1ZgkJKm1faGVhZDsKIAlzdHJ1Y3QgbWJ1ZgkJKm1fdGFp bDsKIAl1bmlvbiB7CkBAIC05NSw2ICs5Niw4IEBACiAJdW5zaWduZWQgc2hvcnQJbHJvX2Fja2Nu dF9saW07CQkvKiBtYXggIyBvZiBhZ2dyZWdhdGVkIEFDS3MgKi8KIAl1bnNpZ25lZCAJbHJvX2xl bmd0aF9saW07CQkvKiBtYXggbGVuIG9mIGFnZ3JlZ2F0ZWQgZGF0YSAqLwogCisJdV9sb25nCQls cm9faGFzaHN6OworCXN0cnVjdCBscm9faGVhZAkqbHJvX2hhc2g7CiAJc3RydWN0IGxyb19oZWFk CWxyb19hY3RpdmU7CiAJc3RydWN0IGxyb19oZWFkCWxyb19mcmVlOwogfTsKZGlmZiAtLWdpdCBh L2hlYWQvc3lzL25ldGluZXQvdGNwX2xyby5jIGIvaGVhZC9zeXMvbmV0aW5ldC90Y3BfbHJvLmMK LS0tIGEvaGVhZC9zeXMvbmV0aW5ldC90Y3BfbHJvLmMKKysrIGIvaGVhZC9zeXMvbmV0aW5ldC90 Y3BfbHJvLmMKQEAgLTY4LDE5ICs2OCwyNCBAQAogI2VuZGlmCiAKIHN0YXRpYyB2b2lkCXRjcF9s cm9fcnhfZG9uZShzdHJ1Y3QgbHJvX2N0cmwgKmxjKTsKK3N0YXRpYyBpbnQJdGNwX2xyb19yeDIo c3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IG1idWYgKm0sCisJCSAgICB1aW50MzJfdCBjc3Vt LCBpbnQgdXNlX2hhc2gpOwogCiBzdGF0aWMgX19pbmxpbmUgdm9pZAotdGNwX2xyb19hY3RpdmVf aW5zZXJ0KHN0cnVjdCBscm9fY3RybCAqbGMsIHN0cnVjdCBscm9fZW50cnkgKmxlKQordGNwX2xy b19hY3RpdmVfaW5zZXJ0KHN0cnVjdCBscm9fY3RybCAqbGMsIHN0cnVjdCBscm9faGVhZCAqYnVj a2V0LAorICAgIHN0cnVjdCBscm9fZW50cnkgKmxlKQogewogCiAJTElTVF9JTlNFUlRfSEVBRCgm bGMtPmxyb19hY3RpdmUsIGxlLCBuZXh0KTsKKwlMSVNUX0lOU0VSVF9IRUFEKGJ1Y2tldCwgbGUs IGhhc2hfbmV4dCk7CiB9CiAKIHN0YXRpYyBfX2lubGluZSB2b2lkCiB0Y3BfbHJvX2FjdGl2ZV9y ZW1vdmUoc3RydWN0IGxyb19lbnRyeSAqbGUpCiB7CiAKLQlMSVNUX1JFTU9WRShsZSwgbmV4dCk7 CisJTElTVF9SRU1PVkUobGUsIG5leHQpOwkJLyogYWN0aXZlIGxpc3QgKi8KKwlMSVNUX1JFTU9W RShsZSwgaGFzaF9uZXh0KTsJLyogaGFzaCBidWNrZXQgKi8KIH0KIAogaW50CkBAIC05NSw3ICsx MDAsNyBAQAogewogCXN0cnVjdCBscm9fZW50cnkgKmxlOwogCXNpemVfdCBzaXplOwotCXVuc2ln bmVkIGk7CisJdW5zaWduZWQgaSwgZWxlbWVudHM7CiAKIAlsYy0+bHJvX2JhZF9jc3VtID0gMDsK IAlsYy0+bHJvX3F1ZXVlZCA9IDA7CkBAIC0xMTAsNiArMTE1LDE4IEBACiAJTElTVF9JTklUKCZs Yy0+bHJvX2ZyZWUpOwogCUxJU1RfSU5JVCgmbGMtPmxyb19hY3RpdmUpOwogCisJLyogY3JlYXRl IGhhc2ggdGFibGUgdG8gYWNjZWxlcmF0ZSBlbnRyeSBsb29rdXAgKi8KKwlpZiAobHJvX2VudHJp ZXMgPiBscm9fbWJ1ZnMpCisJCWVsZW1lbnRzID0gbHJvX2VudHJpZXM7CisJZWxzZQorCQllbGVt ZW50cyA9IGxyb19tYnVmczsKKwlsYy0+bHJvX2hhc2ggPSBwaGFzaGluaXRfZmxhZ3MoZWxlbWVu dHMsIE1fTFJPLCAmbGMtPmxyb19oYXNoc3osCisJICAgIEhBU0hfTk9XQUlUKTsKKwlpZiAobGMt Pmxyb19oYXNoID09IE5VTEwpIHsKKwkJbWVtc2V0KGxjLCAwLCBzaXplb2YoKmxjKSk7CisJCXJl dHVybiAoRU5PTUVNKTsKKwl9CisKIAkvKiBjb21wdXRlIHNpemUgdG8gYWxsb2NhdGUgKi8KIAlz aXplID0gKGxyb19tYnVmcyAqIHNpemVvZihzdHJ1Y3QgbHJvX21idWZfc29ydCkpICsKIAkgICAg KGxyb19lbnRyaWVzICogc2l6ZW9mKCpsZSkpOwpAQCAtMTQ3LDYgKzE2NCwxMyBAQAogCQltX2Zy ZWVtKGxlLT5tX2hlYWQpOwogCX0KIAorCS8qIGZyZWUgaGFzaCB0YWJsZSAqLworCWlmIChsYy0+ bHJvX2hhc2ggIT0gTlVMTCkgeworCQlmcmVlKGxjLT5scm9faGFzaCwgTV9MUk8pOworCQlsYy0+ bHJvX2hhc2ggPSBOVUxMOworCX0KKwlsYy0+bHJvX2hhc2hzeiA9IDA7CisKIAkvKiBmcmVlIG1i dWYgYXJyYXksIGlmIGFueSAqLwogCWZvciAoeCA9IDA7IHggIT0gbGMtPmxyb19tYnVmX2NvdW50 OyB4KyspCiAJCW1fZnJlZW0obGMtPmxyb19tYnVmX2RhdGFbeF0ubWIpOwpAQCAtNDg3LDcgKzUx MSw3IEBACiAJCX0KIAogCQkvKiBhZGQgcGFja2V0IHRvIExSTyBlbmdpbmUgKi8KLQkJaWYgKHRj cF9scm9fcngobGMsIG1iLCAwKSAhPSAwKSB7CisJCWlmICh0Y3BfbHJvX3J4MihsYywgbWIsIDAs IDApICE9IDApIHsKIAkJCS8qIGlucHV0IHBhY2tldCB0byBuZXR3b3JrIGxheWVyICovCiAJCQko KmxjLT5pZnAtPmlmX2lucHV0KShsYy0+aWZwLCBtYik7CiAJCQlsYy0+bHJvX3F1ZXVlZCsrOwpA QCAtNTYxLDggKzU4NSw4IEBACiB9CiAjZW5kaWYKIAotaW50Ci10Y3BfbHJvX3J4KHN0cnVjdCBs cm9fY3RybCAqbGMsIHN0cnVjdCBtYnVmICptLCB1aW50MzJfdCBjc3VtKQorc3RhdGljIGludAor dGNwX2xyb19yeDIoc3RydWN0IGxyb19jdHJsICpsYywgc3RydWN0IG1idWYgKm0sIHVpbnQzMl90 IGNzdW0sIGludCB1c2VfaGFzaCkKIHsKIAlzdHJ1Y3QgbHJvX2VudHJ5ICpsZTsKIAlzdHJ1Y3Qg ZXRoZXJfaGVhZGVyICplaDsKQEAgLTU3OCw2ICs2MDIsNyBAQAogCXRjcF9zZXEgc2VxOwogCWlu dCBlcnJvciwgaXBfbGVuLCBsOwogCXVpbnQxNl90IGVoX3R5cGUsIHRjcF9kYXRhX2xlbjsKKwlz dHJ1Y3QgbHJvX2hlYWQgKmJ1Y2tldDsKIAogCS8qIFdlIGV4cGVjdCBhIGNvbnRpZ3VvdXMgaGVh ZGVyIFtlaCwgaXAsIHRjcF0uICovCiAKQEAgLTY3MCw4ICs2OTUsNDEgQEAKIAogCXNlcSA9IG50 b2hsKHRoLT50aF9zZXEpOwogCisJaWYgKCF1c2VfaGFzaCkgeworCQlidWNrZXQgPSAmbGMtPmxy b19oYXNoWzBdOworCX0gZWxzZSBpZiAoTV9IQVNIVFlQRV9JU0hBU0gobSkpIHsKKwkJYnVja2V0 ID0gJmxjLT5scm9faGFzaFttLT5tX3BrdGhkci5mbG93aWQgJSBsYy0+bHJvX2hhc2hzel07CisJ fSBlbHNlIHsKKwkJdWludDMyX3QgaGFzaDsKKworCQlzd2l0Y2ggKGVoX3R5cGUpIHsKKyNpZmRl ZiBJTkVUCisJCWNhc2UgRVRIRVJUWVBFX0lQOgorCQkJaGFzaCA9IGlwNC0+aXBfc3JjLnNfYWRk ciArIGlwNC0+aXBfZHN0LnNfYWRkcjsKKwkJCWJyZWFrOworI2VuZGlmCisjaWZkZWYgSU5FVDYK KwkJY2FzZSBFVEhFUlRZUEVfSVBWNjoKKwkJCWhhc2ggPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMy WzBdICsKKwkJCSAgICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzBdOworCQkJaGFzaCArPSBpcDYt PmlwNl9zcmMuczZfYWRkcjMyWzFdICsKKwkJCSAgICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzFd OworCQkJaGFzaCArPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMyWzJdICsKKwkJCSAgICBpcDYtPmlw Nl9kc3QuczZfYWRkcjMyWzJdOworCQkJaGFzaCArPSBpcDYtPmlwNl9zcmMuczZfYWRkcjMyWzNd ICsKKwkJCSAgICBpcDYtPmlwNl9kc3QuczZfYWRkcjMyWzNdOworCQkJYnJlYWs7CisjZW5kaWYK KwkJZGVmYXVsdDoKKwkJCWhhc2ggPSAwOworCQkJYnJlYWs7CisJCX0KKwkJaGFzaCArPSB0aC0+ dGhfc3BvcnQgKyB0aC0+dGhfZHBvcnQ7CisJCWJ1Y2tldCA9ICZsYy0+bHJvX2hhc2hbaGFzaCAl IGxjLT5scm9faGFzaHN6XTsKKwl9CisKIAkvKiBUcnkgdG8gZmluZCBhIG1hdGNoaW5nIHByZXZp b3VzIHNlZ21lbnQuICovCi0JTElTVF9GT1JFQUNIKGxlLCAmbGMtPmxyb19hY3RpdmUsIG5leHQp IHsKKwlMSVNUX0ZPUkVBQ0gobGUsIGJ1Y2tldCwgaGFzaF9uZXh0KSB7CiAJCWlmIChsZS0+ZWhf dHlwZSAhPSBlaF90eXBlKQogCQkJY29udGludWU7CiAJCWlmIChsZS0+c291cmNlX3BvcnQgIT0g dGgtPnRoX3Nwb3J0IHx8CkBAIC03NzksNyArODM3LDcgQEAKIAkvKiBTdGFydCBhIG5ldyBzZWdt ZW50IGNoYWluLiAqLwogCWxlID0gTElTVF9GSVJTVCgmbGMtPmxyb19mcmVlKTsKIAlMSVNUX1JF TU9WRShsZSwgbmV4dCk7Ci0JdGNwX2xyb19hY3RpdmVfaW5zZXJ0KGxjLCBsZSk7CisJdGNwX2xy b19hY3RpdmVfaW5zZXJ0KGxjLCBidWNrZXQsIGxlKTsKIAlnZXRtaWNyb3RpbWUoJmxlLT5tdGlt ZSk7CiAKIAkvKiBTdGFydCBmaWxsaW5nIGluIGRldGFpbHMuICovCkBAIC04MzcsNiArODk1LDEz IEBACiAJcmV0dXJuICgwKTsKIH0KIAoraW50Cit0Y3BfbHJvX3J4KHN0cnVjdCBscm9fY3RybCAq bGMsIHN0cnVjdCBtYnVmICptLCB1aW50MzJfdCBjc3VtKQoreworCisJcmV0dXJuIHRjcF9scm9f cngyKGxjLCBtLCBjc3VtLCAxKTsKK30KKwogdm9pZAogdGNwX2xyb19xdWV1ZV9tYnVmKHN0cnVj dCBscm9fY3RybCAqbGMsIHN0cnVjdCBtYnVmICptYikKIHsKCg== --b1_55c05f816cbae37b80111aff14f946cb--