Date: Wed, 27 May 2015 13:51:28 +0000 From: "hselasky (Hans Petter Selasky)" <phabric-noreply@FreeBSD.org> To: freebsd-net@freebsd.org Subject: [Differential] [Updated, 87 lines] D1761: Extend LRO support to accumulate more than 65535 bytes Message-ID: <f7e9182c216193742db0a3516da431bc@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-wifan4aus5qtbwh2gnxc-req@FreeBSD.org> References: <differential-rev-PHID-DREV-wifan4aus5qtbwh2gnxc-req@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_f7e9182c216193742db0a3516da431bc Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit hselasky updated this revision to Diff 5720. hselasky added a comment. Herald added a subscriber: imp. Minor fix for computing correct ip6_plen in ip6_input(). Previously only the first 64K of the payload was consumed. REPOSITORY rS FreeBSD src repository CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D1761?vs=3630&id=5720 REVISION DETAIL https://reviews.freebsd.org/D1761 AFFECTED FILES sys/conf/options sys/netinet/ip_input.c sys/netinet/ip_output.c sys/netinet/tcp_input.c sys/netinet/tcp_lro.c sys/netinet6/ip6_input.c sys/sys/mbuf.h EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: hselasky, rrs, glebius, gnn, emaste, lstewart, rwatson, bz, imp, np, jfv, adrian Cc: imp, freebsd-net --b1_f7e9182c216193742db0a3516da431bc Content-Type: text/x-patch; charset=utf-8; name="D1761.5720.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D1761.5720.patch" ZGlmZiAtLWdpdCBhL3N5cy9zeXMvbWJ1Zi5oIGIvc3lzL3N5cy9tYnVmLmgKLS0tIGEvc3lzL3N5 cy9tYnVmLmgKKysrIGIvc3lzL3N5cy9tYnVmLmgKQEAgLTMwNiw2ICszMDYsNyBAQAogI2RlZmlu ZQlNX0hBU0hUWVBFX1JTU19VRFBfSVBWNgkJOQkvKiBJUHY2IFVEUCA0LXR1cGxlICovCiAjZGVm aW5lCU1fSEFTSFRZUEVfUlNTX1VEUF9JUFY2X0VYCTEwCS8qIElQdjYgVURQIDQtdHVwbGUgKyBl eHQgaGRycyAqLwogCisjZGVmaW5lCU1fSEFTSFRZUEVfTFJPX1RDUAkJMjU0CS8qIFRDUCBsYXJn ZSByZWNlaXZlIG9mZmxvYWQgKi8KICNkZWZpbmUJTV9IQVNIVFlQRV9PUEFRVUUJCTI1NQkvKiBv cmRlcmluZywgbm90IGFmZmluaXR5ICovCiAKICNkZWZpbmUJTV9IQVNIVFlQRV9DTEVBUihtKQko KG0pLT5tX3BrdGhkci5yc3N0eXBlID0gMCkKZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9pcDZf aW5wdXQuYyBiL3N5cy9uZXRpbmV0Ni9pcDZfaW5wdXQuYwotLS0gYS9zeXMvbmV0aW5ldDYvaXA2 X2lucHV0LmMKKysrIGIvc3lzL25ldGluZXQ2L2lwNl9pbnB1dC5jCkBAIC02OTQsNyArNjk0LDEz IEBACiAJICogbSBtYXkgYmUgbW9kaWZpZWQgaW4gaXA2X2hvcG9wdHNfaW5wdXQoKS4KIAkgKiBJ ZiBhIEp1bWJvUGF5bG9hZCBvcHRpb24gaXMgaW5jbHVkZWQsIHBsZW4gd2lsbCBhbHNvIGJlIG1v ZGlmaWVkLgogCSAqLwotCXBsZW4gPSAodV9pbnQzMl90KW50b2hzKGlwNi0+aXA2X3BsZW4pOwor CWlmIChNX0hBU0hUWVBFX0dFVChtKSA9PSBNX0hBU0hUWVBFX0xST19UQ1ApIHsKKwkJaWYgKG0t Pm1fcGt0aGRyLmxlbiA8IHNpemVvZihzdHJ1Y3QgaXA2X2hkcikpCisJCQlwbGVuID0gMDsKKwkJ ZWxzZQorCQkJcGxlbiA9IG0tPm1fcGt0aGRyLmxlbiAtIHNpemVvZihzdHJ1Y3QgaXA2X2hkcik7 CisJfSBlbHNlCisJCXBsZW4gPSAodV9pbnQzMl90KW50b2hzKGlwNi0+aXA2X3BsZW4pOwogCWlm IChpcDYtPmlwNl9ueHQgPT0gSVBQUk9UT19IT1BPUFRTKSB7CiAJCWlmIChpcDZfaW5wdXRfaGJo KG0sICZwbGVuLCAmcnRhbGVydCwgJm9mZiwgJm54dCwgJm91cnMpICE9IDApCiAJCQlyZXR1cm47 CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC90Y3BfbHJvLmMgYi9zeXMvbmV0aW5ldC90Y3BfbHJv LmMKLS0tIGEvc3lzL25ldGluZXQvdGNwX2xyby5jCisrKyBiL3N5cy9uZXRpbmV0L3RjcF9scm8u YwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgogX19GQlNESUQoIiRG cmVlQlNEJCIpOwogCisjaW5jbHVkZSAib3B0X2xyby5oIgogI2luY2x1ZGUgIm9wdF9pbmV0Lmgi CiAjaW5jbHVkZSAib3B0X2luZXQ2LmgiCiAKQEAgLTYyLDYgKzYzLDE0IEBACiAjZGVmaW5lCUxS T19FTlRSSUVTCTgJLyogIyBvZiBMUk8gZW50cmllcyBwZXIgUlggcXVldWUuICovCiAjZW5kaWYK IAorI2lmbmRlZglMUk9fUEFZTE9BRF9NQVgKKyNkZWZpbmUJTFJPX1BBWUxPQURfTUFYCUlQX01B WFBBQ0tFVAorI2VuZGlmCisKKyNpZiAoTFJPX1BBWUxPQURfTUFYIDwgNjU1MzUpCisjZXJyb3Ig IkxST19QQVlMT0FEX01BWCBtdXN0IGJlIGF0IGxlYXN0IDY1NTM1IGJ5dGVzIgorI2VuZGlmCisK ICNkZWZpbmUJVENQX0xST19VUERBVEVfQ1NVTQkxCiAjaWZuZGVmCVRDUF9MUk9fVVBEQVRFX0NT VU0KICNkZWZpbmUJVENQX0xST19JTlZBTElEX0NTVU0JMHgwMDAwCkBAIC0yMTksOCArMjI4LDIw IEBACiAJaWYgKGxlLT5hcHBlbmRfY250ID4gMCkgewogCQlzdHJ1Y3QgdGNwaGRyICp0aDsKIAkJ dWludDE2X3QgcF9sZW47Ci0KLQkJcF9sZW4gPSBodG9ucyhsZS0+cF9sZW4pOworCQkvKgorCQkg KiBUaGUgVENQL0lQIHN0YWNrIHNob3VsZCB1c2UgdGhlICJtX3BrdGhkci5sZW4iCisJCSAqIGZp ZWxkIGluc3RlYWQgb2YgdGhlIElQLXBheWxvYWQgbGVuZ3RoIGZpZWxkIHRvCisJCSAqIGNvbXB1 dGUgdGhlIHRvdGFsIFRDUCBwYXlsb2FkIGxlbmd0aCB3aGVuIGl0CisJCSAqIHJlY29nbml6ZXMg dGhlIE1fSEFTSFRZUEVfTFJPX1RDUCBoYXNoIHR5cGUuIFRoaXMKKwkJICogYWxsb3dzIGFjY3Vt dWxhdGlvbiBvZiBtb3JlIHRoYW4gNjRLYnl0ZXMgd29ydGggb2YKKwkJICogcGF5bG9hZCBkYXRh LgorCQkgKi8KKwkJaWYgKGxlLT5wX2xlbiA+IElQX01BWFBBQ0tFVCkgeworCQkJTV9IQVNIVFlQ RV9TRVQobGUtPm1faGVhZCwgTV9IQVNIVFlQRV9MUk9fVENQKTsKKwkJCXBfbGVuID0gaHRvbnMo SVBfTUFYUEFDS0VUKTsKKwkJfSBlbHNlIHsKKwkJCXBfbGVuID0gaHRvbnMobGUtPnBfbGVuKTsK KwkJfQogCQlzd2l0Y2ggKGxlLT5laF90eXBlKSB7CiAjaWZkZWYgSU5FVDYKIAkJY2FzZSBFVEhF UlRZUEVfSVBWNjoKQEAgLTUwMSw3ICs1MjIsNyBAQAogCQl9CiAKIAkJLyogRmx1c2ggbm93IGlm IGFwcGVuZGluZyB3aWxsIHJlc3VsdCBpbiBvdmVyZmxvdy4gKi8KLQkJaWYgKGxlLT5wX2xlbiA+ ICg2NTUzNSAtIHRjcF9kYXRhX2xlbikpIHsKKwkJaWYgKGxlLT5wX2xlbiA+IChMUk9fUEFZTE9B RF9NQVggLSB0Y3BfZGF0YV9sZW4pKSB7CiAJCQlTTElTVF9SRU1PVkUoJmxjLT5scm9fYWN0aXZl LCBsZSwgbHJvX2VudHJ5LCBuZXh0KTsKIAkJCXRjcF9scm9fZmx1c2gobGMsIGxlKTsKIAkJCWJy ZWFrOwpAQCAtNTU5LDcgKzU4MCw3IEBACiAJCSAqIElmIGEgcG9zc2libGUgbmV4dCBmdWxsIGxl bmd0aCBwYWNrZXQgd291bGQgY2F1c2UgYW4KIAkJICogb3ZlcmZsb3csIHByby1hY3RpdmVseSBm bHVzaCBub3cuCiAJCSAqLwotCQlpZiAobGUtPnBfbGVuID4gKDY1NTM1IC0gbGMtPmlmcC0+aWZf bXR1KSkgeworCQlpZiAobGUtPnBfbGVuID4gKExST19QQVlMT0FEX01BWCAtIGxjLT5pZnAtPmlm X210dSkpIHsKIAkJCVNMSVNUX1JFTU9WRSgmbGMtPmxyb19hY3RpdmUsIGxlLCBscm9fZW50cnks IG5leHQpOwogCQkJdGNwX2xyb19mbHVzaChsYywgbGUpOwogCQl9IGVsc2UKZGlmZiAtLWdpdCBh L3N5cy9uZXRpbmV0L3RjcF9pbnB1dC5jIGIvc3lzL25ldGluZXQvdGNwX2lucHV0LmMKLS0tIGEv c3lzL25ldGluZXQvdGNwX2lucHV0LmMKKysrIGIvc3lzL25ldGluZXQvdGNwX2lucHV0LmMKQEAg LTY0NCw3ICs2NDQsMTAgQEAKIAogCQlpcDYgPSBtdG9kKG0sIHN0cnVjdCBpcDZfaGRyICopOwog CQl0aCA9IChzdHJ1Y3QgdGNwaGRyICopKChjYWRkcl90KWlwNiArIG9mZjApOwotCQl0bGVuID0g c2l6ZW9mKCppcDYpICsgbnRvaHMoaXA2LT5pcDZfcGxlbikgLSBvZmYwOworCQlpZiAoTV9IQVNI VFlQRV9HRVQobSkgPT0gTV9IQVNIVFlQRV9MUk9fVENQKQorCQkJdGxlbiA9IG0tPm1fcGt0aGRy LmxlbiAtIG9mZjA7CisJCWVsc2UKKwkJCXRsZW4gPSBzaXplb2YoKmlwNikgKyBudG9ocyhpcDYt PmlwNl9wbGVuKSAtIG9mZjA7CiAJCWlmIChtLT5tX3BrdGhkci5jc3VtX2ZsYWdzICYgQ1NVTV9E QVRBX1ZBTElEX0lQVjYpIHsKIAkJCWlmIChtLT5tX3BrdGhkci5jc3VtX2ZsYWdzICYgQ1NVTV9Q U0VVRE9fSERSKQogCQkJCXRoLT50aF9zdW0gPSBtLT5tX3BrdGhkci5jc3VtX2RhdGE7CkBAIC02 OTUsOCArNjk4LDEwIEBACiAJCX0KIAkJaXAgPSBtdG9kKG0sIHN0cnVjdCBpcCAqKTsKIAkJdGgg PSAoc3RydWN0IHRjcGhkciAqKSgoY2FkZHJfdClpcCArIG9mZjApOwotCQl0bGVuID0gbnRvaHMo aXAtPmlwX2xlbikgLSBvZmYwOwotCisJCWlmIChNX0hBU0hUWVBFX0dFVChtKSA9PSBNX0hBU0hU WVBFX0xST19UQ1ApCisJCQl0bGVuID0gbS0+bV9wa3RoZHIubGVuIC0gb2ZmMDsKKwkJZWxzZQor CQkJdGxlbiA9IG50b2hzKGlwLT5pcF9sZW4pIC0gb2ZmMDsKIAkJaWYgKG0tPm1fcGt0aGRyLmNz dW1fZmxhZ3MgJiBDU1VNX0RBVEFfVkFMSUQpIHsKIAkJCWlmIChtLT5tX3BrdGhkci5jc3VtX2Zs YWdzICYgQ1NVTV9QU0VVRE9fSERSKQogCQkJCXRoLT50aF9zdW0gPSBtLT5tX3BrdGhkci5jc3Vt X2RhdGE7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYyBiL3N5cy9uZXRpbmV0 L2lwX291dHB1dC5jCi0tLSBhL3N5cy9uZXRpbmV0L2lwX291dHB1dC5jCisrKyBiL3N5cy9uZXRp bmV0L2lwX291dHB1dC5jCkBAIC0xMjQsMTMgKzEyNCwxNCBAQAogCXN0cnVjdCBpZm5ldCAqaWZw ID0gTlVMTDsJLyoga2VlcCBjb21waWxlciBoYXBweSAqLwogCXN0cnVjdCBtYnVmICptMDsKIAlp bnQgaGxlbiA9IHNpemVvZiAoc3RydWN0IGlwKTsKKwlpbnQgaXBfbGVuOwogCWludCBtdHU7CiAJ aW50IGVycm9yID0gMDsKIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gKmRzdDsKIAljb25zdCBzdHJ1Y3Qg c29ja2FkZHJfaW4gKmd3OwogCXN0cnVjdCBpbl9pZmFkZHIgKmlhOwogCWludCBpc2Jyb2FkY2Fz dDsKLQl1aW50MTZfdCBpcF9sZW4sIGlwX29mZjsKKwl1aW50MTZfdCBpcF9vZmY7CiAJc3RydWN0 IHJvdXRlIGlwcm91dGU7CiAJc3RydWN0IHJ0ZW50cnkgKnJ0ZTsJLyogY2FjaGUgZm9yIHJvLT5y b19ydCAqLwogCXN0cnVjdCBpbl9hZGRyIG9kc3Q7CkBAIC0xNjksNyArMTcwLDExIEBACiAJCQlo bGVuID0gbGVuOyAvKiBpcC0+aXBfaGwgaXMgdXBkYXRlZCBhYm92ZSAqLwogCX0KIAlpcCA9IG10 b2QobSwgc3RydWN0IGlwICopOwotCWlwX2xlbiA9IG50b2hzKGlwLT5pcF9sZW4pOworCisJaWYg KE1fSEFTSFRZUEVfR0VUKG0pID09IE1fSEFTSFRZUEVfTFJPX1RDUCkKKwkJaXBfbGVuID0gbS0+ bV9wa3RoZHIubGVuOworCWVsc2UKKwkJaXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CiAJaXBf b2ZmID0gbnRvaHMoaXAtPmlwX29mZik7CiAKIAlpZiAoKGZsYWdzICYgKElQX0ZPUldBUkRJTkd8 SVBfUkFXT1VUUFVUKSkgPT0gMCkgewpAQCAtNjg4LDkgKzY5MywxMyBAQAogCWludCBmaXJzdGxl bjsKIAlzdHJ1Y3QgbWJ1ZiAqKm1uZXh0OwogCWludCBuZnJhZ3M7Ci0JdWludDE2X3QgaXBfbGVu LCBpcF9vZmY7CisJaW50IGlwX2xlbjsKKwl1aW50MTZfdCBpcF9vZmY7CiAKLQlpcF9sZW4gPSBu dG9ocyhpcC0+aXBfbGVuKTsKKwlpZiAoTV9IQVNIVFlQRV9HRVQobTApID09IE1fSEFTSFRZUEVf TFJPX1RDUCkKKwkJaXBfbGVuID0gbTAtPm1fcGt0aGRyLmxlbjsKKwllbHNlCisJCWlwX2xlbiA9 IG50b2hzKGlwLT5pcF9sZW4pOwogCWlwX29mZiA9IG50b2hzKGlwLT5pcF9vZmYpOwogCiAJaWYg KGlwX29mZiAmIElQX0RGKSB7CS8qIEZyYWdtZW50YXRpb24gbm90IGFsbG93ZWQgKi8KZGlmZiAt LWdpdCBhL3N5cy9uZXRpbmV0L2lwX2lucHV0LmMgYi9zeXMvbmV0aW5ldC9pcF9pbnB1dC5jCi0t LSBhL3N5cy9uZXRpbmV0L2lwX2lucHV0LmMKKysrIGIvc3lzL25ldGluZXQvaXBfaW5wdXQuYwpA QCAtMzk3LDcgKzM5Nyw4IEBACiAJc3RydWN0IGlmYWRkciAqaWZhOwogCXN0cnVjdCBpZm5ldCAq aWZwOwogCWludCAgICBjaGVja2lmLCBobGVuID0gMDsKLQl1aW50MTZfdCBzdW0sIGlwX2xlbjsK Kwl1aW50MzJfdCBpcF9sZW47CisJdWludDE2X3Qgc3VtOwogCWludCBkY2hnID0gMDsJCQkJLyog ZGVzdCBjaGFuZ2VkIGFmdGVyIGZ3ICovCiAJc3RydWN0IGluX2FkZHIgb2RzdDsJCQkvKiBvcmln aW5hbCBkc3QgYWRkcmVzcyAqLwogCkBAIC00NzQsNyArNDc1LDEwIEBACiAJCXJldHVybjsKICNl bmRpZgogCi0JaXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CisJaWYgKE1fSEFTSFRZUEVfR0VU KG0pID09IE1fSEFTSFRZUEVfTFJPX1RDUCkKKwkJaXBfbGVuID0gbS0+bV9wa3RoZHIubGVuOwor CWVsc2UKKwkJaXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CiAJaWYgKGlwX2xlbiA8IGhsZW4p IHsKIAkJSVBTVEFUX0lOQyhpcHNfYmFkbGVuKTsKIAkJZ290byBiYWQ7CkBAIC05MDAsNiArOTA0 LDcgQEAKIAlzdHJ1Y3QgaW5fYWRkciBkZXN0OwogCXN0cnVjdCByb3V0ZSBybzsKIAlpbnQgZXJy b3IsIHR5cGUgPSAwLCBjb2RlID0gMCwgbXR1ID0gMDsKKwlpbnQgaXBfbGVuOwogCiAJaWYgKG0t Pm1fZmxhZ3MgJiAoTV9CQ0FTVHxNX01DQVNUKSB8fCBpbl9jYW5mb3J3YXJkKGlwLT5pcF9kc3Qp ID09IDApIHsKIAkJSVBTVEFUX0lOQyhpcHNfY2FudGZvcndhcmQpOwpAQCAtOTY1LDggKzk3MCwx NCBAQAogCQltX2ZyZWUobWNvcHkpOwogCQltY29weSA9IE5VTEw7CiAJfQorCisJaWYgKE1fSEFT SFRZUEVfR0VUKG0pID09IE1fSEFTSFRZUEVfTFJPX1RDUCkKKwkJaXBfbGVuID0gbS0+bV9wa3Ro ZHIubGVuOworCWVsc2UKKwkJaXBfbGVuID0gbnRvaHMoaXAtPmlwX2xlbik7CisKIAlpZiAobWNv cHkgIT0gTlVMTCkgewotCQltY29weS0+bV9sZW4gPSBtaW4obnRvaHMoaXAtPmlwX2xlbiksIE1f VFJBSUxJTkdTUEFDRShtY29weSkpOworCQltY29weS0+bV9sZW4gPSBtaW4oaXBfbGVuLCBNX1RS QUlMSU5HU1BBQ0UobWNvcHkpKTsKIAkJbWNvcHktPm1fcGt0aGRyLmxlbiA9IG1jb3B5LT5tX2xl bjsKIAkJbV9jb3B5ZGF0YShtLCAwLCBtY29weS0+bV9sZW4sIG10b2QobWNvcHksIGNhZGRyX3Qp KTsKIAl9CkBAIC0xMDk0LDcgKzExMDUsNyBAQAogCQkJaWYgKGlhICE9IE5VTEwpCiAJCQkJbXR1 ID0gaWEtPmlhX2lmcC0+aWZfbXR1OwogCQkJZWxzZQotCQkJCW10dSA9IGlwX25leHRfbXR1KG50 b2hzKGlwLT5pcF9sZW4pLCAwKTsKKwkJCQltdHUgPSBpcF9uZXh0X210dShpcF9sZW4sIDApOwog CQl9CiAJCUlQU1RBVF9JTkMoaXBzX2NhbnRmcmFnKTsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9z eXMvY29uZi9vcHRpb25zIGIvc3lzL2NvbmYvb3B0aW9ucwotLS0gYS9zeXMvY29uZi9vcHRpb25z CisrKyBiL3N5cy9jb25mL29wdGlvbnMKQEAgLTQwMiw2ICs0MDIsOCBAQAogRFVNTVlORVQJCW9w dF9pcGRuLmgKIElORVQJCQlvcHRfaW5ldC5oCiBJTkVUNgkJCW9wdF9pbmV0Ni5oCitMUk9fRU5U UklFUwkJb3B0X2xyby5oCitMUk9fUEFZTE9BRF9NQVgJCW9wdF9scm8uaAogSVBESVZFUlQKIElQ RklMVEVSCQlvcHRfaXBmaWx0ZXIuaAogSVBGSUxURVJfREVGQVVMVF9CTE9DSwlvcHRfaXBmaWx0 ZXIuaAoK --b1_f7e9182c216193742db0a3516da431bc--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f7e9182c216193742db0a3516da431bc>