From owner-svn-src-head@freebsd.org Fri Nov 13 23:02:06 2015 Return-Path: Delivered-To: svn-src-head@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 5109CA2E69E for ; Fri, 13 Nov 2015 23:02:06 +0000 (UTC) (envelope-from Cheng.Cui@netapp.com) Received: from mx144.netapp.com (mx144.netapp.com [216.240.21.25]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (Client CN "mx144.netapp.com", Issuer "Symantec Class 3 Secure Server CA - G4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2B2C418E8 for ; Fri, 13 Nov 2015 23:02:04 +0000 (UTC) (envelope-from Cheng.Cui@netapp.com) X-IronPort-AV: E=Sophos;i="5.20,289,1444719600"; d="pcap'?zip'48?scan'48,48,208";a="80197906" Received: from hioexcmbx05-prd.hq.netapp.com ([10.122.105.38]) by mx144-out.netapp.com with ESMTP; 13 Nov 2015 15:00:38 -0800 Received: from HIOEXCMBX03-PRD.hq.netapp.com (10.122.105.36) by hioexcmbx05-prd.hq.netapp.com (10.122.105.38) with Microsoft SMTP Server (TLS) id 15.0.1104.5; Fri, 13 Nov 2015 15:00:37 -0800 Received: from HIOEXCMBX03-PRD.hq.netapp.com ([::1]) by hioexcmbx03-prd.hq.netapp.com ([fe80::652e:2f89:cba3:5531%21]) with mapi id 15.00.1130.005; Fri, 13 Nov 2015 15:00:37 -0800 From: "Cui, Cheng" To: Hans Petter Selasky CC: "svn-src-head@freebsd.org" Subject: Re: question about trimning data "len" conditions in TSO in tcp_output.c Thread-Topic: question about trimning data "len" conditions in TSO in tcp_output.c Thread-Index: AQHRGNRH3ZqdnMKQ9kSAjiggGnHKap6QBSEAgAALXQCAAAv6AIAKslAA Date: Fri, 13 Nov 2015 23:00:37 +0000 Message-ID: References: <563D1892.3050406@selasky.org> <563D2C26.2070300@selasky.org> In-Reply-To: <563D2C26.2070300@selasky.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.122.56.79] MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Nov 2015 23:02:06 -0000 T24gMTEvNi8xNSwgNTozOSBQTSwgIkhhbnMgUGV0dGVyIFNlbGFza3kiIDxocHNAc2VsYXNreS5v cmc+IHdyb3RlOg0KDQoNCj5PbiAxMS8wNi8xNSAyMjo1NiwgQ3VpLCBDaGVuZyB3cm90ZToNCj4+ IE9uIE5vdiA2LCAyMDE1LCBhdCA0OjE2IFBNLCBIYW5zIFBldHRlciBTZWxhc2t5IDxocHNAc2Vs YXNreS5vcmc+IHdyb3RlOg0KPj4NCj4+PiBPbiAxMS8wNi8xNSAyMTo0NiwgQ3VpLCBDaGVuZyB3 cm90ZToNCj4+Pj4gSGVsbG8gSGFucywNCj4+Pj4NCj4+Pj4gU29ycnkgaWYgbXkgcHJldmlvdXMg ZW1haWwgZG9lcyBub3QgcmVhY2ggeW91IGJlY2F1c2Ugb2YgYSBiYWQNCj4+Pj5zdWJqZWN0Lg0K Pj4+Pg0KPj4+PiBUaGlzIGlzIENoZW5nIEN1aS4gSSBhbSByZWFkaW5nIHRoZSBDVVJSRU5UIEZy ZWVCU0QgY29kZSBpbg0KPj4+PnRjcF9vdXRwdXQuYywgYW5kIGZpbmQgdGhpcyBxdWVzdGlvbiBy ZWdhcmRpbmcgeW91ciBjaGFuZ2UgaW4gcmV2aXNpb24NCj4+Pj4yNzE5NDYuDQo+Pj4+IA0KPj4+ Pmh0dHBzOi8vc3Zud2ViLmZyZWVic2Qub3JnL2Jhc2UvaGVhZC9zeXMvbmV0aW5ldC90Y3Bfb3V0 cHV0LmM/cjE9MjcxOTQ2DQo+Pj4+JnIyPTI3MTk0NSZwYXRocmV2PTI3MTk0Ng0KPj4+Pg0KPj4+ PiB0cmltIGRhdGEgImxlbiIgdW5kZXIgVFNPOg0KPj4+Pg0KPj4+PiA4ODUJICAgICAgICAgICAg ICAgICAgICAgICAgLyoNCj4+Pj4gODg2CSAgICAgICAgICAgICAgICAgICAgICAgICAqIFByZXZl bnQgdGhlIGxhc3Qgc2VnbWVudCBmcm9tIGJlaW5nDQo+Pj4+IDg4NwkgICAgICAgICAgICAgICAg ICAgICAgICAgKiBmcmFjdGlvbmFsIHVubGVzcyB0aGUgc2VuZCBzb2NrYnVmIGNhbg0KPj4+PmJl DQo+Pj4+IDg4OAkgICAgICAgICAgICAgICAgICAgICAgICAgKiBlbXB0aWVkOg0KPj4+PiA4ODkJ ICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+Pj4+IDg5MAkgICAgICAgICAgICAgICAgICAg ICAgICBtYXhfbGVuID0gKHRwLT50X21heG9wZCAtIG9wdGxlbik7DQo+Pj4+IDg5MQkgICAgICAg ICAgICAgICAgICAgICAgICBpZiAoKG9mZiArIGxlbikgPCBzYmF2YWlsKCZzby0+c29fc25kKSkg ew0KPj4+PiAgIDw9PQ0KPj4+PiA4OTIJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt b2ZmID0gbGVuICUgbWF4X2xlbjsNCj4+Pj4gODkzCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKG1vZmYgIT0gMCkgew0KPj4+PiA4OTQJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxlbiAtPSBtb2ZmOw0KPj4+PiA4OTUJICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbmRhbG90ID0gMTsNCj4+Pj4gODk2CSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KPj4+PiA4OTcJICAgICAgICAgICAgICAgICAgICAgICAg fQ0KPj4+Pg0KPj4+PiBJcyB0aGVyZSBhIHNwZWNpZmljIHJlYXNvbiB0aGF0IGl0IHNob3VsZCBz a2lwIHRyaW1taW5nIHRoZSBkYXRhDQo+Pj4+ImxlbiIgdW5kZXIgdGhlIGNvbmRpdGlvbiBvZiAi KG9mZiArIGxlbikgPT0gc2JhdmFpbCgmc28tPnNvX3NuZCkiIGluDQo+Pj4+VFNPPw0KPj4+PiBC ZWNhdXNlIEkgYW0gd29uZGVyaW5nIGlmIHdlIGNhbiB0cmltIHRoZSBkYXRhICJsZW4iIGRpcmVj dGx5IHdpdGhvdXQNCj4+Pj5jaGVja2luZyB0aGUgIihvZmYgKyBsZW4pIiBjb25kaXRpb24uDQo+ Pj4NCj4+PiBIaSBDaGVuZywNCj4+Pg0KPj4+IEkgYmVsaWV2ZSB0aGUgcmVhc29uIGlzIHRvIGF2 b2lkIGxvb3Bpbmcgb25lIG1vcmUgdGltZSBvdXRwdXR0aW5nIGENCj4+PnNpbmdsZSBwYWNrZXQg Y29udGFpbmluZyB0aGUgcmVtYWluZGVyIG9mIHRoZSBhdmFpbGFibGUgZGF0YSwgd2l0aA0KPj4+ cmVnYXJkIHRvIG1heF9sZW4uDQo+ID4gSG93IGRpZCB5b3UgZW52aXNpb24gdGhlIHJlbW92YWwg b2YgdGhpcyBjaGVjayB3b3VsZCBpbmZsdWVuY2UgdGhlDQo+Z2VuZXJhdGVkIHBhY2tldCBzZXF1 ZW5jZT8NCj4+Pg0KPj4+IC0tSFBTDQo+Pj4NCj4+IEhpIEhhbnMsDQo+Pg0KPj4gSSBtYXkgYmUg d3JvbmcgYnV0IG15IGFzc3VtcHRpb24gaXMgdGhhdCB0aGUgcmVtYWluZGVyIG9mIHRoZSBhdmFp bGFibGUNCj4+ZGF0YSBtYXkgYmUgbGFyZ2VyIHRoYW4gb25lIHNpbmdsZSBwYWNrZXQuDQo+Pg0K Pj4gU3VwcG9zZSBtYXhfbGVuPT0xNTAwLCBzYl9hY2M9PTMwMDEsIG9mZj09MiwgYW5kIChvZmYr bGVuKT09MzAwMS4gSW4NCj4+dGhpcyBjYXNlLCB0aGUgY3VycmVudCBjb2RlIHdpbGwgbm90IHRy aW0gdGhlICJsZW4iDQo+PiBhbmQgbGV0IGl0IGdvIGRpcmVjdGx5IHRvIHRoZSBOSUMuIEkgdGhp bmsgaXQgc2tpcHMgdGhlIE5hZ2xlJ3MNCj4+YWxnb3JpdGhtLiBBcyBsZW49PTI5OTksIHRoZSBs YXN0IHBhY2tldCBpcyAxNDk5LA0KPj4gaXQgaXMgc3VwcG9zZWQgdG8gYmUgaGVsZCB1bnRpbCBh bGwgb3V0c3RhbmRpbmcgZGF0YSBhcmUgQUNLZWQsIGJ1dCBpdA0KPj5oYXMgYmVlbiBzZW50IG91 dC4NCj4NCj5IaSBDaGVuZywNCj4NCj5UaGF0IGlzIGNvcnJlY3QuIE5hZ2xlJ3MgYWxnb3JpdGht IGlzIG5vdCBhY3RpdmUgd2hlbiAiKG9mZitsZW4pID09DQo+c2JfYWNjIi4gQW55aG93LCB0aGUg Y2hlY2sgZm9yICIob2ZmK2xlbikgPT0gc2JfYWNjIiBkb2VzIG5vdCBnbyBhd2F5Lg0KPkl0IGhh cyB0byBiZSBwdXQgYmVmb3JlIHNlbmRhbG90ID0gMSB0byBhdm9pZCBzZW5kaW5nIHRoZSBzby1j YWxsZWQNCj4ic21hbGwgcGFja2V0IiBpbiB0aGUgbmV4dCBpdGVyYXRpb24uIFBvc3NpYmx5IHlv dSB3aWxsIG5lZWQgdG8gYWRkIGENCj5jaGVjayBmb3IgVENQIG5vZGVsYXkgYmVpbmcgYWN0aXZl LCB3aGljaCBkaXNhYmxlIE5hZ2xlJ3MgYWxnb3JpdGhtLg0KPkhhdmUgeW91IGRvbmUgYW55IHRl c3RzIHJlbW92aW5nIHRoaXMgY2hlY2s/DQo+DQo+LS1IUFMNCkhpIEhhbnMsDQoNClNvcnJ5IGZv ciB0aGUgZGVsYXkgdG8gY29udGludWUgdGhpcyBkaXNjdXNzaW9uLiBJIGRpZCBzb21lIHRlc3Rz IGFuZA0KY29sbGVjdGVkIA0Kc29tZSB0cmFjZSBmaWxlcyBieSB1c2luZyBpcGVyZiBhbmQgdGNw ZHVtcC4NCg0KV2VsbCwgSSBkaWQgbm90IGZpbmQgYW55dGhpbmcgd3Jvbmcgd2l0aCB0aGUgTmFn bGUncyBhbGdvcml0aG0uIEJ1dCBJDQpmb3VuZCB0aGUgDQpyZW1haW5kZXIgY2h1bmsgb2YgZGF0 YSBjb3VsZCBiZSBsYXJnZXIgdGhhbiBhIHNpbmdsZSBwYWNrZXQsIHdoaWNoIHdpbGwNCnB1c2gg DQpOSUMgdG8gc2VuZCBleHRyYSBmcmFjdGlvbmFsIHBhY2tldCwgaWYgdGhlIHNlbmQgYnVmIHNp emUgaXMgdW5kZXIgYQ0KY2VydGFpbiANCmNvbmRpdGlvbi4NCg0KSGVyZSBpcyBteSB0ZXN0LiBU aGUgaXBlcmYgY29tbWFuZCBJIGNob29zZSBwdXNoZXMgNTc5MyBieXRlcyBkYXRhIHRvIHRoZQ0K NzI0MGJ5dGVzIHdyaXRlIGJ1ZmZlciBieSBzZXR0aW5nIHRoZSAiLWwiIG9wdGlvbiBhbmQgdGhl ICItdyIgb3B0aW9uLiBJDQp0ZXN0ZWQgdGhpcyBUQ1AgY29ubmVjdGlvbiBwZXJmb3JtYW5jZSBv biBhIHBhaXIgb2YgRnJlZUJTRCAxMC4yIG5vZGVzIChzMQ0KYW5kIA0KcjEpIHdpdGggYSBzd2l0 Y2ggaW4gYmV0d2Vlbi4gQm90aCBub2RlcyBoYXZlIFRTTyBhbmQgZGVsYXllZCBBQ0sgZW5hYmxl ZC4NCg0Kcm9vdEBzMTp+ICMgcGluZyAtYyAzIHIxDQpQSU5HIHIxLWxpbmsxICgxMC4xLjIuMyk6 IDU2IGRhdGEgYnl0ZXMNCjY0IGJ5dGVzIGZyb20gMTAuMS4yLjM6IGljbXBfc2VxPTAgdHRsPTY0 IHRpbWU9MC4xNTQgbXMNCjY0IGJ5dGVzIGZyb20gMTAuMS4yLjM6IGljbXBfc2VxPTEgdHRsPTY0 IHRpbWU9MC4xNDQgbXMNCjY0IGJ5dGVzIGZyb20gMTAuMS4yLjM6IGljbXBfc2VxPTIgdHRsPTY0 IHRpbWU9MC4xNDIgbXMNCg0KLS0tIHIxLWxpbmsxIHBpbmcgc3RhdGlzdGljcyAtLS0NCjMgcGFj a2V0cyB0cmFuc21pdHRlZCwgMyBwYWNrZXRzIHJlY2VpdmVkLCAwLjAlIHBhY2tldCBsb3NzDQpy b3VuZC10cmlwIG1pbi9hdmcvbWF4L3N0ZGRldiA9IDAuMTQyLzAuMTQ3LzAuMTU0LzAuMDA1IG1z DQoNCnJvb3RAcjE6fiAjIHBpbmcgLWMgMyBzMQ0KUElORyBzMS1saW5rMSAoMTAuMS4yLjIpOiA1 NiBkYXRhIGJ5dGVzDQo2NCBieXRlcyBmcm9tIDEwLjEuMi4yOiBpY21wX3NlcT0wIHR0bD02NCB0 aW1lPTAuMTYzIG1zDQo2NCBieXRlcyBmcm9tIDEwLjEuMi4yOiBpY21wX3NlcT0xIHR0bD02NCB0 aW1lPTAuMTQ1IG1zDQo2NCBieXRlcyBmcm9tIDEwLjEuMi4yOiBpY21wX3NlcT0yIHR0bD02NCB0 aW1lPTAuMTQzIG1zDQoNCi0tLSBzMS1saW5rMSBwaW5nIHN0YXRpc3RpY3MgLS0tDQozIHBhY2tl dHMgdHJhbnNtaXR0ZWQsIDMgcGFja2V0cyByZWNlaXZlZCwgMC4wJSBwYWNrZXQgbG9zcw0Kcm91 bmQtdHJpcCBtaW4vYXZnL21heC9zdGRkZXYgPSAwLjE0My8wLjE1MC8wLjE2My8wLjAwOSBtcw0K DQppcGVyZiAtcyAgPD09IGlwZXJmIGNvbW1hbmRAcmVjZWl2ZXINCmlwZXJmIC1jIDEwLjEuMi4z IC1sIDU3OTMgLXcgNTc5MyAtbiAxME0gLW0gLWYgQiAgPD09IGlwZXJmIGNvbW1hbmRAc2VuZGVy DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KQ2xpZW50IGNvbm5lY3RpbmcgdG8gMTAuMS4yLjMsIFRDUCBwb3J0IDUwMDENClRD UCB3aW5kb3cgc2l6ZTogNzI0MCBCeXRlIChXQVJOSU5HOiByZXF1ZXN0ZWQgNTc5MyBCeXRlKQ0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQpbICAzXSBsb2NhbCAxMC4xLjIuMiBwb3J0IDE2MzM4IGNvbm5lY3RlZCB3aXRoIDEwLjEu Mi4zIHBvcnQgNTAwMQ0KWyBJRF0gSW50ZXJ2YWwgICAgICAgVHJhbnNmZXIgICAgIEJhbmR3aWR0 aA0KWyAgM10gIDAuMC0gMC41IHNlYyAgMTA0OTExMjMgQnl0ZXMgIDIyNjE1NTg5IEJ5dGVzL3Nl Yw0KWyAgM10gTVNTIHNpemUgMTQ0OCBieXRlcyAoTVRVIDE1MDAgYnl0ZXMsIGV0aGVybmV0KQ0K DQpJIHNlbnQgMTBNQnl0ZXMgb2YgZGF0YSwgYW5kIGNvbGxlY3RlZCB0aGUgcGFja2V0IHRyYWNl IGZyb20gYm90aCBub2RlcyBieQ0KdGNwZHVtcC4gSSBkaWQgdGhpcyB0ZXN0IHR3aWNlIHRvIGNv bmZpcm0gdGhlIHJlc3VsdCBjYW4gYmUgcmVwcm9kdWNlZC4NCg0KRnJvbSB0aGUgdHJhY2UgZmls ZXMgb2YgYm90aCBub2RlcyBiZWZvcmUgbXkgY29kZSBjaGFuZ2UsIEkgc2VlIGEgbG90IG9mDQpm cmFjdGlvbmFsIHBhY2tldHMuIFNlZSB0aGUgYXR0YWNoZWQgdHJhY2UgZmlsZXMgaW4NCiJiZWZv cmVfY29kZV9jaGFuZ2UuemlwIi4NCg0KVGhlbiwgSSBkaWQgbXkgY29kZSBjaGFuZ2UgaW4gMTAu MiBzcmMgYnkgY29tbWVudGluZyBvdXQgdGhlIGRhdGEgdHJpbQ0KY29uZGl0aW9uIA0KYmVsb3c6 DQo4NjggICAgICAgICAgICAgICAgICAgICAgICAgLyoNCiA4NjkgKiBQcmV2ZW50IHRoZSBsYXN0 IHNlZ21lbnQgZnJvbSBiZWluZw0KIDg3MCAgICAgICAgICAgICAgICAgICAgICAgICAgKiBmcmFj dGlvbmFsIHVubGVzcyB0aGUgc2VuZCBzb2NrYnVmIGNhbiBiZQ0KIDg3MSAgICAgICAgICAgICAg ICAgICAgICAgICAgKiBlbXB0aWVkOg0KIDg3MiAgICAgICAgICAgICAgICAgICAgICAgICAgKi8N CiA4NzMgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbiA9ICh0cC0+dF9tYXhvcGQgLSBv cHRsZW4pOw0KIDg3NCAvLyAgICAgICAgICAgICAgICAgICAgICBpZiAoKG9mZiArIGxlbikgPCBz by0+c29fc25kLnNiX2NjKSB7DQogODc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bW9mZiA9IGxlbiAlIG1heF9sZW47DQogODc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKG1vZmYgIT0gMCkgew0KIDg3NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGVuIC09IG1vZmY7DQogODc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZW5kYWxvdCA9IDE7DQogODc5ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQ0KIDg4MCAvLyAgICAgICAgICAgICAgICAgICAgICB9DQoNCg0KQW5kIEkgZGlkIHRo ZSBzYW1lIGlwZXJmIHRlc3QgYW5kIGdhdGhlcmVkIHRyYWNlIGZpbGVzLiBJIGRpZCBub3QgZmlu ZA0KbWFueSANCmZyYWN0aW9uYWwgcGFja2V0cyB0aGlzIHRpbWUuIFNlZSB0aGUgYXR0YWNoZWQg dHJhY2UgZmlsZXMgaW4NCiJhZnRlcl9jb2RlX2NoYW5nZS56aXAiLg0KDQpDb21wYXJlZCB3aXRo IHRoZSByZWNlaXZlciB0cmFjZXMsIEkgc2VlIHJlY2VpdmVyIGdvdCB0aGUgc2FtZSA3MjUxDQpw YWNrZXRzIGluIA0KdGhlIHR3byB0ZXN0cywgaW5zdGVhZCBvZiA5MDYwIHBhY2tldHMgYmVmb3Jl IHRoZSBjaGFuZ2UuIFRoYXQncyBhIHNhdmUgb2YNCjIwJQ0Kb24gdGhlIHdpcmUuDQoNCkNvbXBh cmVkIHdpdGggdGhlIHNlbmRlciB0cmFjZXMsIEkgc2VlIHNlbmRlcidzIFRTTyBoYW5kbGVkIDIx ODUgcGFja2V0cw0KYW5kIA0KMTgzOSBwYWNrZXRzIGluIHRoZSB0d28gdGVzdHMsIGluc3RlYWQg b2YgNDQ5OCBwYWNrZXRzIGFuZCA0NDczIHBhY2tldHMNCmJlZm9yZSANCnRoZSBjaGFuZ2UuIFRo YXQncyBhbHNvIGEgc2F2ZSBvZiByb3VnaGx5IG1vcmUgdGhhbiA0MCUgb24gdGhlIGhhbmRsaW5n IG9mDQpUU08NCmNodW5rcy4NCg0KVGhlcmUgbWF5IGJlIG90aGVyIGNvbmRpdGlvbnMgSSBkaWQg bm90IGNvdmVyLCBidXQgSSB0aGluayB0aGUgY3VycmVudA0KZGF0YSANCnRyaW1lIGNhbiBiZSBp bXByb3ZlZCBpbiBUU08gYnkgcmVtb3ZpbmcgdGhlIGFib3ZlIGNvbmRpdGlvbi4NCg0KVHJhY2Ug ZmlsZXMgYmVmb3JlL2FmdGVyIGNvZGUgY2hhbmdlIGFyZSBhdHRhY2hlZC4NCg0KDQoNCg0KDQoN Cg==