From owner-freebsd-net@FreeBSD.ORG Fri Nov 4 22:05:12 2005 Return-Path: X-Original-To: freebsd-net@FreeBSD.ORG Delivered-To: freebsd-net@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 983D116A41F for ; Fri, 4 Nov 2005 22:05:12 +0000 (GMT) (envelope-from henrysu@huisu.net) Received: from huisu.huisu.net (c-24-16-122-178.hsd1.wa.comcast.net [24.16.122.178]) by mx1.FreeBSD.org (Postfix) with ESMTP id CC9F943D46 for ; Fri, 4 Nov 2005 22:05:11 +0000 (GMT) (envelope-from henrysu@huisu.net) Received: from huisu.net (localhost [127.0.0.1]) by huisu.huisu.net (8.13.4/8.12.6) with ESMTP id jA4M5Aac077292 for ; Fri, 4 Nov 2005 14:05:10 -0800 (PST) (envelope-from henrysu@huisu.net) Received: from localhost (henrysu@localhost) by huisu.net (8.13.4/8.12.6/Submit) with ESMTP id jA4M597b077289 for ; Fri, 4 Nov 2005 14:05:09 -0800 (PST) Date: Fri, 4 Nov 2005 14:05:09 -0800 (PST) From: henrysu To: freebsd-net@FreeBSD.ORG Message-ID: <20051104140016.A77009@huisu.net> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-484166887-1131141909=:77009" Cc: Subject: vlan Qos patch for 4.11 stable X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Nov 2005 22:05:12 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-484166887-1131141909=:77009 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed I recently tried to set up a freebsd 4.11 stable box to do vlan Qos, and got one patch from earlier post, but it did not work well. I did a little update, and like to contribute it, in case some people want it. You need to patch /usr/src/sbin/ifconfig and /usr/src/sys/net. Then rebuild the kernel and ifconfig. Thanks. ************************** Hui Su * H: 425-644-2251 * ************************** --0-484166887-1131141909=:77009 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=ifconfig.diff Content-Transfer-Encoding: BASE64 Content-ID: <20051104140509.N77009@huisu.net> Content-Description: Content-Disposition: attachment; filename=ifconfig.diff ZGlmZiAtcnVOIGlmY29uZmlnL2lmY29uZmlnLjggL3Vzci9zcmMvc2Jpbi9p ZmNvbmZpZy9pZmNvbmZpZy44DQotLS0gaWZjb25maWcvaWZjb25maWcuOAlU aHUgT2N0IDIwIDEzOjIzOjA4IDIwMDUNCisrKyAvdXNyL3NyYy9zYmluL2lm Y29uZmlnL2lmY29uZmlnLjgJVGh1IE9jdCAyMCAxMzoyMzo0OSAyMDA1DQpA QCAtMzUyLDQxICszNTIsMjEgQEANCiBJbmNsdWRlZCBmb3INCiAuVG4gU29s YXJpcw0KIGNvbXBhdGliaWxpdHkuDQotLkl0IENtIHZsYW4gQXIgdmxhbl90 YWdbMC00MDk1XQ0KKy5JdCBDbSB2bGFuIEFyIHZsYW5fdGFnDQogSWYgdGhl IGludGVyZmFjZSBpcyBhDQogLlhyIHZsYW4gNA0KIHBzZXVkbyBpbnRlcmZh Y2UsIHNldCB0aGUgVkxBTiB0YWcgdmFsdWUNCiB0bw0KIC5BciB2bGFuX3Rh ZyAuDQotVGhpcyB2YWx1ZSBpcyBhIDEyLWJpdCBudW1iZXIgd2hpY2ggaXMg dXNlZCB0byBjcmVhdGUgYW4gODAyLjFRIA0KK1RoaXMgdmFsdWUgaXMgYSAx Ni1iaXQgbnVtYmVyIHdoaWNoIGlzIHVzZWQgdG8gY3JlYXRlIGFuIDgwMi4x UQ0KIFZMQU4gaGVhZGVyIGZvciBwYWNrZXRzIHNlbnQgZnJvbSB0aGUNCiAu WHIgdmxhbiA0DQogaW50ZXJmYWNlLg0KIE5vdGUgdGhhdA0KLS5DbSB2bGFu LCB2bGFucHJpLCB2bGFuY2ZpDQorLkNtIHZsYW4NCiBhbmQNCiAuQ20gdmxh bmRldg0KLW11c3QgYmUgc2V0IGF0IHRoZSBzYW1lIHRpbWUuIA0KLS5JdCAg Q20gdmxhbnByaSBBciBudW1bMC03XSANCi1JZiB0aGUgaW50ZXJmYWNlIGlz IGEgDQotLlhyIHZsYW4gNCANCi1wc2V1ZG8gaW50ZXJmYWNlLCBzZXQgdGhl IDgwMi4xcCBwcmlvcml0eSB2YWx1ZSANCi10byANCi0uQXIgdmxhbl9wcmkg LiANCi1UaGlzIHZhbHVlIGlzIGEgMy1iaXQgbnVtYmVyIHdoaWNoIGlzIHVz ZWQgdG8gdGFnIG91dGdvaW5nIA0KLVZMQU4gcGFja3RlcyB3aXRoIGFwcm9w cmlhdGUgcHJpb3JpdHkuIElmIA0KLS5DbSB2bGFucHJpIA0KLWlzIG9taXR0 ZWQgaXQgZGVmYXVsdCB0byAwLiANCi0uSXQgQ20gdmxhbmNmaSAgQXIgbnVt WzAtMV0NCi1JZiB0aGUgaW50ZXJmYWNlIGlzIGEgDQotLlhyIHZsYW4gNCAN Ci1wc2V1ZG8gaW50ZXJmYWNlLCBzZXQgdGhlIENGSSB2YWx1ZSANCi10byAN Ci0uQXIgdmxhbl9jZmkgLiANCi1UaGlzIHZhbHVlIGlzIGEgMS1iaXQgbnVt YmVyIHdoaWNoIGlzIHVzZWQgdG8gdGFnIG91dGdvaW5nIA0KLVZMQU4gcGFj a3RlcyB3aXRoIGFwcm9wcmlhdGUgQ0ZJIHZhbHVlLiBJZiANCi0uQ20gdmxh bmNmaSANCi1pcyBvbWl0dGVkIGl0IGRlZmF1bHQgdG8gMC4NCittdXN0IGJv dGggYmUgc2V0IGF0IHRoZSBzYW1lIHRpbWUuDQogLkl0IENtIHZsYW5kZXYg QXIgaWZhY2UNCiBJZiB0aGUgaW50ZXJmYWNlIGlzIGENCiAuWHIgdmxhbiA0 DQpkaWZmIC1ydU4gaWZjb25maWcvaWZjb25maWcuOC5yZWogL3Vzci9zcmMv c2Jpbi9pZmNvbmZpZy9pZmNvbmZpZy44LnJlag0KLS0tIGlmY29uZmlnL2lm Y29uZmlnLjgucmVqCVRodSBPY3QgMjAgMTM6Mjg6NDAgMjAwNQ0KKysrIC91 c3Ivc3JjL3NiaW4vaWZjb25maWcvaWZjb25maWcuOC5yZWoJV2VkIERlYyAz MSAxNjowMDowMCAxOTY5DQpAQCAtMSw2NSArMCwwIEBADQotKioqKioqKioq KioqKioqDQotKioqIDM1MiwzNzIgKioqKg0KLSAgSW5jbHVkZWQgZm9yDQot ICAuVG4gU29sYXJpcw0KLSAgY29tcGF0aWJpbGl0eS4NCi0tIC5JdCBDbSB2 bGFuIEFyIHZsYW5fdGFnDQotICBJZiB0aGUgaW50ZXJmYWNlIGlzIGENCi0g IC5YciB2bGFuIDQNCi0gIHBzZXVkbyBpbnRlcmZhY2UsIHNldCB0aGUgVkxB TiB0YWcgdmFsdWUNCi0gIHRvDQotICAuQXIgdmxhbl90YWcgLg0KLS0gVGhp cyB2YWx1ZSBpcyBhIDE2LWJpdCBudW1iZXIgd2hpY2ggaXMgdXNlZCB0byBj cmVhdGUgYW4gODAyLjFRDQotICBWTEFOIGhlYWRlciBmb3IgcGFja2V0cyBz ZW50IGZyb20gdGhlDQotICAuWHIgdmxhbiA0DQotICBpbnRlcmZhY2UuDQot ICBOb3RlIHRoYXQNCi0tIC5DbSB2bGFuDQotICBhbmQNCi0gIC5DbSB2bGFu ZGV2DQotLSBtdXN0IGJvdGggYmUgc2V0IGF0IHRoZSBzYW1lIHRpbWUuDQot ICAuSXQgQ20gdmxhbmRldiBBciBpZmFjZQ0KLSAgSWYgdGhlIGludGVyZmFj ZSBpcyBhDQotICAuWHIgdmxhbiA0DQotLS0tIDM1MiwzOTIgLS0tLQ0KLSAg SW5jbHVkZWQgZm9yDQotICAuVG4gU29sYXJpcw0KLSAgY29tcGF0aWJpbGl0 eS4NCi0rIC5JdCBDbSB2bGFuIEFyIHZsYW5fdGFnWzAtNDA5NV0NCi0gIElm IHRoZSBpbnRlcmZhY2UgaXMgYQ0KLSAgLlhyIHZsYW4gNA0KLSAgcHNldWRv IGludGVyZmFjZSwgc2V0IHRoZSBWTEFOIHRhZyB2YWx1ZQ0KLSAgdG8NCi0g IC5BciB2bGFuX3RhZyAuDQotKyBUaGlzIHZhbHVlIGlzIGEgMTItYml0IG51 bWJlciB3aGljaCBpcyB1c2VkIHRvIGNyZWF0ZSBhbiA4MDIuMVEgDQotICBW TEFOIGhlYWRlciBmb3IgcGFja2V0cyBzZW50IGZyb20gdGhlDQotICAuWHIg dmxhbiA0DQotICBpbnRlcmZhY2UuDQotICBOb3RlIHRoYXQNCi0rIC5DbSB2 bGFuLCB2bGFucHJpLCB2bGFuY2ZpDQotICBhbmQNCi0gIC5DbSB2bGFuZGV2 DQotKyBtdXN0IGJlIHNldCBhdCB0aGUgc2FtZSB0aW1lLiANCi0rIC5JdCAg Q20gdmxhbnByaSBBciBudW1bMC03XSANCi0rIElmIHRoZSBpbnRlcmZhY2Ug aXMgYSANCi0rIC5YciB2bGFuIDQgDQotKyBwc2V1ZG8gaW50ZXJmYWNlLCBz ZXQgdGhlIDgwMi4xcCBwcmlvcml0eSB2YWx1ZSANCi0rIHRvIA0KLSsgLkFy IHZsYW5fcHJpIC4gDQotKyBUaGlzIHZhbHVlIGlzIGEgMy1iaXQgbnVtYmVy IHdoaWNoIGlzIHVzZWQgdG8gdGFnIG91dGdvaW5nIA0KLSsgVkxBTiBwYWNr dGVzIHdpdGggYXByb3ByaWF0ZSBwcmlvcml0eS4gSWYgDQotKyAuQ20gdmxh bnByaSANCi0rIGlzIG9taXR0ZWQgaXQgZGVmYXVsdCB0byAwLiANCi0rIC5J dCBDbSB2bGFuY2ZpICBBciBudW1bMC0xXQ0KLSsgSWYgdGhlIGludGVyZmFj ZSBpcyBhIA0KLSsgLlhyIHZsYW4gNCANCi0rIHBzZXVkbyBpbnRlcmZhY2Us IHNldCB0aGUgQ0ZJIHZhbHVlIA0KLSsgdG8gDQotKyAuQXIgdmxhbl9jZmkg LiANCi0rIFRoaXMgdmFsdWUgaXMgYSAxLWJpdCBudW1iZXIgd2hpY2ggaXMg dXNlZCB0byB0YWcgb3V0Z29pbmcgDQotKyBWTEFOIHBhY2t0ZXMgd2l0aCBh cHJvcHJpYXRlIENGSSB2YWx1ZS4gSWYgDQotKyAuQ20gdmxhbmNmaSANCi0r IGlzIG9taXR0ZWQgaXQgZGVmYXVsdCB0byAwLg0KLSAgLkl0IENtIHZsYW5k ZXYgQXIgaWZhY2UNCi0gIElmIHRoZSBpbnRlcmZhY2UgaXMgYQ0KLSAgLlhy IHZsYW4gNA0KZGlmZiAtcnVOIGlmY29uZmlnL2lmY29uZmlnLmggL3Vzci9z cmMvc2Jpbi9pZmNvbmZpZy9pZmNvbmZpZy5oDQotLS0gaWZjb25maWcvaWZj b25maWcuaAlUaHUgT2N0IDIwIDEzOjIzOjA4IDIwMDUNCisrKyAvdXNyL3Ny Yy9zYmluL2lmY29uZmlnL2lmY29uZmlnLmgJVGh1IE9jdCAyMCAxMzoyMzoz OCAyMDA1DQpAQCAtNDcsOCArNDcsNiBAQA0KIGV4dGVybiB2b2lkIG1lZGlh X3N0YXR1cyhpbnQgcywgc3RydWN0IHJ0X2FkZHJpbmZvICopOw0KIA0KIGV4 dGVybiB2b2lkIHNldHZsYW50YWcoY29uc3QgY2hhciAqLCBpbnQsIGludCwg Y29uc3Qgc3RydWN0IGFmc3d0Y2ggKnJhZnApOw0KLWV4dGVybiB2b2lkIHNl dHZsYW5wcmkoY29uc3QgY2hhciAqLCBpbnQsIGludCwgY29uc3Qgc3RydWN0 IGFmc3d0Y2ggKnJhZnApOw0KLWV4dGVybiB2b2lkIHNldHZsYW5jZmkoY29u c3QgY2hhciAqLCBpbnQsIGludCwgY29uc3Qgc3RydWN0IGFmc3d0Y2ggKnJh ZnApOyANCiBleHRlcm4gdm9pZCBzZXR2bGFuZGV2KGNvbnN0IGNoYXIgKiwg aW50LCBpbnQsIGNvbnN0IHN0cnVjdCBhZnN3dGNoICpyYWZwKTsNCiBleHRl cm4gdm9pZCB1bnNldHZsYW5kZXYoY29uc3QgY2hhciAqLCBpbnQsIGludCwg Y29uc3Qgc3RydWN0IGFmc3d0Y2ggKnJhZnApOw0KIGV4dGVybiB2b2lkIHZs YW5fc3RhdHVzKGludCBzLCBzdHJ1Y3QgcnRfYWRkcmluZm8gKik7DQpkaWZm IC1ydU4gaWZjb25maWcvaWZjb25maWcuaC5yZWogL3Vzci9zcmMvc2Jpbi9p ZmNvbmZpZy9pZmNvbmZpZy5oLnJlag0KLS0tIGlmY29uZmlnL2lmY29uZmln LmgucmVqCVRodSBPY3QgMjAgMTM6Mjg6NDMgMjAwNQ0KKysrIC91c3Ivc3Jj L3NiaW4vaWZjb25maWcvaWZjb25maWcuaC5yZWoJV2VkIERlYyAzMSAxNjow MDowMCAxOTY5DQpAQCAtMSwxNyArMCwwIEBADQotKioqKioqKioqKioqKioq DQotKioqIDQ3LDUyICoqKioNCi0gIGV4dGVybiB2b2lkIG1lZGlhX3N0YXR1 cyhpbnQgcywgc3RydWN0IHJ0X2FkZHJpbmZvICopOw0KLSAgDQotICBleHRl cm4gdm9pZCBzZXR2bGFudGFnKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIGNv bnN0IHN0cnVjdCBhZnN3dGNoICpyYWZwKTsNCi0gIGV4dGVybiB2b2lkIHNl dHZsYW5kZXYoY29uc3QgY2hhciAqLCBpbnQsIGludCwgY29uc3Qgc3RydWN0 IGFmc3d0Y2ggKnJhZnApOw0KLSAgZXh0ZXJuIHZvaWQgdW5zZXR2bGFuZGV2 KGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIGNvbnN0IHN0cnVjdCBhZnN3dGNo ICpyYWZwKTsNCi0gIGV4dGVybiB2b2lkIHZsYW5fc3RhdHVzKGludCBzLCBz dHJ1Y3QgcnRfYWRkcmluZm8gKik7DQotLS0tIDQ3LDU0IC0tLS0NCi0gIGV4 dGVybiB2b2lkIG1lZGlhX3N0YXR1cyhpbnQgcywgc3RydWN0IHJ0X2FkZHJp bmZvICopOw0KLSAgDQotICBleHRlcm4gdm9pZCBzZXR2bGFudGFnKGNvbnN0 IGNoYXIgKiwgaW50LCBpbnQsIGNvbnN0IHN0cnVjdCBhZnN3dGNoICpyYWZw KTsNCi0rIGV4dGVybiB2b2lkIHNldHZsYW5wcmkoY29uc3QgY2hhciAqLCBp bnQsIGludCwgY29uc3Qgc3RydWN0IGFmc3d0Y2ggKnJhZnApOw0KLSsgZXh0 ZXJuIHZvaWQgc2V0dmxhbmNmaShjb25zdCBjaGFyICosIGludCwgaW50LCBj b25zdCBzdHJ1Y3QgYWZzd3RjaCAqcmFmcCk7IA0KLSAgZXh0ZXJuIHZvaWQg c2V0dmxhbmRldihjb25zdCBjaGFyICosIGludCwgaW50LCBjb25zdCBzdHJ1 Y3QgYWZzd3RjaCAqcmFmcCk7DQotICBleHRlcm4gdm9pZCB1bnNldHZsYW5k ZXYoY29uc3QgY2hhciAqLCBpbnQsIGludCwgY29uc3Qgc3RydWN0IGFmc3d0 Y2ggKnJhZnApOw0KLSAgZXh0ZXJuIHZvaWQgdmxhbl9zdGF0dXMoaW50IHMs IHN0cnVjdCBydF9hZGRyaW5mbyAqKTsNCmRpZmYgLXJ1TiBpZmNvbmZpZy9p ZnZsYW4uYyAvdXNyL3NyYy9zYmluL2lmY29uZmlnL2lmdmxhbi5jDQotLS0g aWZjb25maWcvaWZ2bGFuLmMJVGh1IE9jdCAyMCAxMzoyMzowOCAyMDA1DQor KysgL3Vzci9zcmMvc2Jpbi9pZmNvbmZpZy9pZnZsYW4uYwlUaHUgT2N0IDIw IDEzOjI0OjI3IDIwMDUNCkBAIC02Myw5ICs2Myw2IEBADQogI2VuZGlmDQog c3RhdGljIGludAkJCV9fdGFnID0gMDsNCiBzdGF0aWMgaW50CQkJX19oYXZl X3RhZyA9IDA7DQotc3RhdGljIGludAkJCV9fcHJpID0gMDsNCi1zdGF0aWMg aW50ICAgICAgICAgICAgICAgICAgICAgCV9fY2ZpID0gMDsgDQotDQogDQog dm9pZCB2bGFuX3N0YXR1cyhzLCBpbmZvKQ0KIAlpbnQJCQlzOw0KQEAgLTc5 LDEyICs3Niw5IEBADQogCWlmIChpb2N0bChzLCBTSU9DR0VUVkxBTiwgKGNh ZGRyX3QpJmlmcikgPT0gLTEpDQogCQlyZXR1cm47DQogDQotCV9fcHJpID0g RVZMX1BSSU9GVEFHKHZyZXEudmxyX3RhZyk7DQotCV9fY2ZpID0gRVZMX0NG SU9GVEFHKHZyZXEudmxyX3RhZyk7DQotCXByaW50ZigiXHR2bGFuOiAlZCA4 MDIuMXA6ICVkIENGSTogJWQgcGFyZW50IGludGVyZmFjZTogJXMgXG4iLCAN Ci0gICAgICAgICAgIEVWTF9WTEFOT0ZUQUcodnJlcS52bHJfdGFnKSwgRVZM X1BSSU9GVEFHKHZyZXEudmxyX3RhZyksIA0KLSAgICAgICAgICAgRVZMX0NG SU9GVEFHKHZyZXEudmxyX3RhZyksIA0KLSAgICAgICAgICAgdnJlcS52bHJf cGFyZW50WzBdID09ICdcMCcgPyAiPG5vbmU+IiA6IHZyZXEudmxyX3BhcmVu dCApOyANCisJcHJpbnRmKCJcdHZsYW46ICVkIHBhcmVudCBpbnRlcmZhY2U6 ICVzXG4iLA0KKwkgICAgdnJlcS52bHJfdGFnLCB2cmVxLnZscl9wYXJlbnRb MF0gPT0gJ1wwJyA/DQorCSAgICAiPG5vbmU+IiA6IHZyZXEudmxyX3BhcmVu dCk7DQogDQogCXJldHVybjsNCiB9DQpAQCAtMTAwLDkxICs5NCwxNiBAQA0K IAlfX3RhZyA9IHRhZyA9IGF0b2kodmFsKTsNCiAJX19oYXZlX3RhZyA9IDE7 DQogDQotICAgICAgIGlmICh0YWcgPCAxIHx8IHRhZyA+IDQwOTQpIA0KLSAg ICAgICAgICAgZXJyeCgxLCAiVkxBTiBJRCBzaG91ZCBiZSBpbiByYW5nZSAx Li40MDk0Iik7IA0KLSANCiAJYnplcm8oKGNoYXIgKikmdnJlcSwgc2l6ZW9m KHN0cnVjdCB2bGFucmVxKSk7DQogCWlmci5pZnJfZGF0YSA9IChjYWRkcl90 KSZ2cmVxOw0KIA0KIAlpZiAoaW9jdGwocywgU0lPQ0dFVFZMQU4sIChjYWRk cl90KSZpZnIpID09IC0xKQ0KIAkJZXJyKDEsICJTSU9DR0VUVkxBTiIpOw0K IA0KLQkvKiBDbGVhciBvbGQgdGFnICovDQotCXByaW50ZigiJXM6IHZyZXEu dmxyX3RhZzogJWRcbiIsIF9fZnVuY19fLCB2cmVxLnZscl90YWcpOw0KLQl2 cmVxLnZscl90YWcgJj0gMHhGMDAwOw0KLQl2cmVxLnZscl90YWcgfD0gdGFn Ow0KLQlfX3RhZyA9IHZyZXEudmxyX3RhZzsNCi0NCi0gICAgICAgaWYgKGlv Y3RsKHMsIFNJT0NTRVRWTEFOLCAoY2FkZHJfdCkmaWZyKSA9PSAtMSkNCi0g ICAgICAgICAgICAgICBlcnIoMSwgIlNJT0NTRVRWTEFOIik7DQotDQotCXJl dHVybjsNCi19DQotDQotdm9pZCANCi1zZXR2bGFucHJpKGNvbnN0IGNoYXIg KnZhbCwgaW50IGQsIGludCBzLCBjb25zdCBzdHJ1Y3QgYWZzd3RjaCAqYWZw KSANCi17IA0KLSAgICAgICB1X2ludDE2X3QgICAgICAgICAgICAgICBwcmk7 IA0KLSAgICAgICBzdHJ1Y3QgdmxhbnJlcSAgICAgICAgICB2cmVxOyANCi0g DQotICAgICAgIF9fcHJpID0gcHJpID0gYXRvaSh2YWwpOyANCi0gDQotICAg ICAgIGlmIChwcmkgPiA3KSANCi0JCWVycngoMSwgIlZMQU4gODAyLjFwIHNo b3VkIGJlIGluIHJhbmdlIDAuLjciKTsgDQotIA0KLSAgICAgICBiemVybygo Y2hhciAqKSZ2cmVxLCBzaXplb2Yoc3RydWN0IHZsYW5yZXEpKTsgDQotICAg ICAgIGlmci5pZnJfZGF0YSA9IChjYWRkcl90KSZ2cmVxOyANCi0gDQotICAg ICAgIGlmIChpb2N0bChzLCBTSU9DR0VUVkxBTiwgKGNhZGRyX3QpJmlmcikg PT0gLTEpIA0KLSAgICAgICAgICAgICAgIGVycigxLCAiU0lPQ0dFVFZMQU4i KTsgDQotIA0KLQlwcmkgPSBwcmkgPDwgMTM7DQotCQ0KLQkvKiBDbGVhciBw cmkgYml0cyAqLw0KLQl2cmVxLnZscl90YWcgJj0gMHgxRkZGOw0KLQkvKiBT ZXQgcHJpIGJpdHMgKi8NCi0JdnJlcS52bHJfdGFnIHw9ICBwcmk7IA0KLQkN Ci0gICAgICAgaWYgKGlvY3RsKHMsIFNJT0NTRVRWTEFOLCAoY2FkZHJfdCkm aWZyKSA9PSAtMSkgDQotICAgICAgICAgICAgICAgZXJyKDEsICJBZnRlciBF VkxfTUFLRVRBRyBTSU9DU0VUVkxBTiIpOyANCi0gDQotICAgICAgIHJldHVy bjsgDQotfSANCi0NCi12b2lkIA0KLXNldHZsYW5jZmkoY29uc3QgY2hhciAq dmFsLCBpbnQgZCwgaW50IHMsIGNvbnN0IHN0cnVjdCBhZnN3dGNoICphZnAp IA0KLXsgDQotICAgICAgIHVfaW50MTZfdCAgICAgICAgICAgICAgIGNmaTsg DQotICAgICAgIHN0cnVjdCB2bGFucmVxICAgICAgICAgIHZyZXE7IA0KLSAN Ci0gICAgICAgX19jZmkgPSBjZmkgPSBhdG9pKHZhbCk7IA0KLSANCi0JaWYg KGNmaSA+IDEpIA0KLSAgICAgICAgICAgZXJyeCgxLCAiVkxBTiBDRkkgc2hv dWQgYmUgMCBvciAxIik7IA0KLSANCi0gICAgICAgIGJ6ZXJvKChjaGFyICop JnZyZXEsIHNpemVvZihzdHJ1Y3QgdmxhbnJlcSkpOyANCi0gICAgICAgIGlm ci5pZnJfZGF0YSA9IChjYWRkcl90KSZ2cmVxOyANCi0NCi0NCi0gICAgICAg IGlmIChpb2N0bChzLCBTSU9DR0VUVkxBTiwgKGNhZGRyX3QpJmlmcikgPT0g LTEpIA0KLSAgICAgICAgICAgICAgICBlcnIoMSwgIlNJT0NTRVRWTEFOIik7 IA0KLQ0KLQkvKg0KLSAgICAgICAgdnJlcS52bHJfdGFnID0gRVZMX01BS0VU QUcoX190YWcsIF9fcHJpLCBfX2NmaSk7IA0KLQkqLw0KLQ0KLQlpZiAodnJl cS52bHJfcGFyZW50KQ0KLQkJcHJpbnRmKCIlczogdnJlcS52bHJfcGFyZW50 OiAlc1xuIiwgX19mdW5jX18sIHZyZXEudmxyX3BhcmVudCk7DQotCWVsc2UN Ci0JCXByaW50ZigidnJlcS52bHJfcGFyZW50IGlzIE5VTExcbiIpOw0KLQlj ZmkgPSBjZmkgPDwgMTI7DQotCS8qIENsZWFyIGNmaSBiaXQgKi8NCi0JdnJl cS52bHJfdGFnICY9IDB4RUZGRjsNCi0JLyogU2V0IGNmaSBiaXQgKi8NCi0J dnJlcS52bHJfdGFnIHw9ICBjZmk7IA0KKwl2cmVxLnZscl90YWcgPSB0YWc7 DQogDQotICAgICAgICBpZiAoaW9jdGwocywgU0lPQ1NFVFZMQU4sIChjYWRk cl90KSZpZnIpID09IC0xKSANCi0gICAgICAgICAgICAgICAgZXJyKDEsICJT SU9DU0VUVkxBTiIpOyANCisJaWYgKGlvY3RsKHMsIFNJT0NTRVRWTEFOLCAo Y2FkZHJfdCkmaWZyKSA9PSAtMSkNCisJCWVycigxLCAiU0lPQ1NFVFZMQU4i KTsNCiANCiAJcmV0dXJuOw0KIH0NCmRpZmYgLXJ1TiBpZmNvbmZpZy9pZnZs YW4uYy5yZWogL3Vzci9zcmMvc2Jpbi9pZmNvbmZpZy9pZnZsYW4uYy5yZWoN Ci0tLSBpZmNvbmZpZy9pZnZsYW4uYy5yZWoJVGh1IE9jdCAyMCAxMzoyODo0 NCAyMDA1DQorKysgL3Vzci9zcmMvc2Jpbi9pZmNvbmZpZy9pZnZsYW4uYy5y ZWoJV2VkIERlYyAzMSAxNjowMDowMCAxOTY5DQpAQCAtMSwxNTIgKzAsMCBA QA0KLSoqKioqKioqKioqKioqKg0KLSoqKiA2Myw2OCAqKioqDQotICAjZW5k aWYNCi0gIHN0YXRpYyBpbnQJCQlfX3RhZyA9IDA7DQotICBzdGF0aWMgaW50 CQkJX19oYXZlX3RhZyA9IDA7DQotICANCi0gIHZvaWQgdmxhbl9zdGF0dXMo cywgaW5mbykNCi0gIAlpbnQJCQlzOw0KLS0tLSA2Myw3MSAtLS0tDQotICAj ZW5kaWYNCi0gIHN0YXRpYyBpbnQJCQlfX3RhZyA9IDA7DQotICBzdGF0aWMg aW50CQkJX19oYXZlX3RhZyA9IDA7DQotKyBzdGF0aWMgaW50CQkJX19wcmkg PSAwOw0KLSsgc3RhdGljIGludCAgICAgICAgICAgICAgICAgICAgIAlfX2Nm aSA9IDA7IA0KLSsgDQotICANCi0gIHZvaWQgdmxhbl9zdGF0dXMocywgaW5m bykNCi0gIAlpbnQJCQlzOw0KLSoqKioqKioqKioqKioqKg0KLSoqKiA3Niw4 NCAqKioqDQotICAJaWYgKGlvY3RsKHMsIFNJT0NHRVRWTEFOLCAoY2FkZHJf dCkmaWZyKSA9PSAtMSkNCi0gIAkJcmV0dXJuOw0KLSAgDQotLSAJcHJpbnRm KCJcdHZsYW46ICVkIHBhcmVudCBpbnRlcmZhY2U6ICVzXG4iLA0KLS0gCSAg ICB2cmVxLnZscl90YWcsIHZyZXEudmxyX3BhcmVudFswXSA9PSAnXDAnID8N Ci0tIAkgICAgIjxub25lPiIgOiB2cmVxLnZscl9wYXJlbnQpOw0KLSAgDQot ICAJcmV0dXJuOw0KLSAgfQ0KLS0tLSA3OSw5MCAtLS0tDQotICAJaWYgKGlv Y3RsKHMsIFNJT0NHRVRWTEFOLCAoY2FkZHJfdCkmaWZyKSA9PSAtMSkNCi0g IAkJcmV0dXJuOw0KLSAgDQotKyAJX19wcmkgPSBFVkxfUFJJT0ZUQUcodnJl cS52bHJfdGFnKTsNCi0rIAlfX2NmaSA9IEVWTF9DRklPRlRBRyh2cmVxLnZs cl90YWcpOw0KLSsgCXByaW50ZigiXHR2bGFuOiAlZCA4MDIuMXA6ICVkIENG STogJWQgcGFyZW50IGludGVyZmFjZTogJXMgXG4iLCANCi0rICAgICAgICAg ICAgRVZMX1ZMQU5PRlRBRyh2cmVxLnZscl90YWcpLCBFVkxfUFJJT0ZUQUco dnJlcS52bHJfdGFnKSwgDQotKyAgICAgICAgICAgIEVWTF9DRklPRlRBRyh2 cmVxLnZscl90YWcpLCANCi0rICAgICAgICAgICAgdnJlcS52bHJfcGFyZW50 WzBdID09ICdcMCcgPyAiPG5vbmU+IiA6IHZyZXEudmxyX3BhcmVudCApOyAN Ci0gIA0KLSAgCXJldHVybjsNCi0gIH0NCi0qKioqKioqKioqKioqKioNCi0q KiogOTQsMTA5ICoqKioNCi0gIAlfX3RhZyA9IHRhZyA9IGF0b2kodmFsKTsN Ci0gIAlfX2hhdmVfdGFnID0gMTsNCi0gIA0KLSAgCWJ6ZXJvKChjaGFyICop JnZyZXEsIHNpemVvZihzdHJ1Y3QgdmxhbnJlcSkpOw0KLSAgCWlmci5pZnJf ZGF0YSA9IChjYWRkcl90KSZ2cmVxOw0KLSAgDQotICAJaWYgKGlvY3RsKHMs IFNJT0NHRVRWTEFOLCAoY2FkZHJfdCkmaWZyKSA9PSAtMSkNCi0gIAkJZXJy KDEsICJTSU9DR0VUVkxBTiIpOw0KLSAgDQotLSAJdnJlcS52bHJfdGFnID0g dGFnOw0KLSAgDQotLSAJaWYgKGlvY3RsKHMsIFNJT0NTRVRWTEFOLCAoY2Fk ZHJfdCkmaWZyKSA9PSAtMSkNCi0tIAkJZXJyKDEsICJTSU9DU0VUVkxBTiIp Ow0KLSAgDQotICAJcmV0dXJuOw0KLSAgfQ0KLS0tLSAxMDAsMTkwIC0tLS0N Ci0gIAlfX3RhZyA9IHRhZyA9IGF0b2kodmFsKTsNCi0gIAlfX2hhdmVfdGFn ID0gMTsNCi0gIA0KLSsgICAgICAgIGlmICh0YWcgPCAxIHx8IHRhZyA+IDQw OTQpIA0KLSsgICAgICAgICAgICBlcnJ4KDEsICJWTEFOIElEIHNob3VkIGJl IGluIHJhbmdlIDEuLjQwOTQiKTsgDQotKyAgDQotICAJYnplcm8oKGNoYXIg KikmdnJlcSwgc2l6ZW9mKHN0cnVjdCB2bGFucmVxKSk7DQotICAJaWZyLmlm cl9kYXRhID0gKGNhZGRyX3QpJnZyZXE7DQotICANCi0gIAlpZiAoaW9jdGwo cywgU0lPQ0dFVFZMQU4sIChjYWRkcl90KSZpZnIpID09IC0xKQ0KLSAgCQll cnIoMSwgIlNJT0NHRVRWTEFOIik7DQotICANCi0rIAkvKiBDbGVhciBvbGQg dGFnICovDQotKyAJcHJpbnRmKCIlczogdnJlcS52bHJfdGFnOiAlZFxuIiwg X19mdW5jX18sIHZyZXEudmxyX3RhZyk7DQotKyAJdnJlcS52bHJfdGFnICY9 IDB4RjAwMDsNCi0rIAl2cmVxLnZscl90YWcgfD0gdGFnOw0KLSsgCV9fdGFn ID0gdnJlcS52bHJfdGFnOw0KLSsgDQotKyAgICAgICAgaWYgKGlvY3RsKHMs IFNJT0NTRVRWTEFOLCAoY2FkZHJfdCkmaWZyKSA9PSAtMSkNCi0rICAgICAg ICAgICAgICAgIGVycigxLCAiU0lPQ1NFVFZMQU4iKTsNCi0rIA0KLSsgCXJl dHVybjsNCi0rIH0NCi0rIA0KLSsgdm9pZCANCi0rIHNldHZsYW5wcmkoY29u c3QgY2hhciAqdmFsLCBpbnQgZCwgaW50IHMsIGNvbnN0IHN0cnVjdCBhZnN3 dGNoICphZnApIA0KLSsgeyANCi0rICAgICAgICB1X2ludDE2X3QgICAgICAg ICAgICAgICBwcmk7IA0KLSsgICAgICAgIHN0cnVjdCB2bGFucmVxICAgICAg ICAgIHZyZXE7IA0KLSsgIA0KLSsgICAgICAgIF9fcHJpID0gcHJpID0gYXRv aSh2YWwpOyANCi0rICANCi0rICAgICAgICBpZiAocHJpID4gNykgDQotKyAJ CWVycngoMSwgIlZMQU4gODAyLjFwIHNob3VkIGJlIGluIHJhbmdlIDAuLjci KTsgDQotKyAgDQotKyAgICAgICAgYnplcm8oKGNoYXIgKikmdnJlcSwgc2l6 ZW9mKHN0cnVjdCB2bGFucmVxKSk7IA0KLSsgICAgICAgIGlmci5pZnJfZGF0 YSA9IChjYWRkcl90KSZ2cmVxOyANCi0rICANCi0rICAgICAgICBpZiAoaW9j dGwocywgU0lPQ0dFVFZMQU4sIChjYWRkcl90KSZpZnIpID09IC0xKSANCi0r ICAgICAgICAgICAgICAgIGVycigxLCAiU0lPQ0dFVFZMQU4iKTsgDQotKyAg DQotKyAJcHJpID0gcHJpIDw8IDEzOw0KLSsgCQ0KLSsgCS8qIENsZWFyIHBy aSBiaXRzICovDQotKyAJdnJlcS52bHJfdGFnICY9IDB4MUZGRjsNCi0rIAkv KiBTZXQgcHJpIGJpdHMgKi8NCi0rIAl2cmVxLnZscl90YWcgfD0gIHByaTsg DQotKyAJDQotKyAgICAgICAgaWYgKGlvY3RsKHMsIFNJT0NTRVRWTEFOLCAo Y2FkZHJfdCkmaWZyKSA9PSAtMSkgDQotKyAgICAgICAgICAgICAgICBlcnIo MSwgIkFmdGVyIEVWTF9NQUtFVEFHIFNJT0NTRVRWTEFOIik7IA0KLSsgIA0K LSsgICAgICAgIHJldHVybjsgDQotKyB9IA0KLSsgDQotKyB2b2lkIA0KLSsg c2V0dmxhbmNmaShjb25zdCBjaGFyICp2YWwsIGludCBkLCBpbnQgcywgY29u c3Qgc3RydWN0IGFmc3d0Y2ggKmFmcCkgDQotKyB7IA0KLSsgICAgICAgIHVf aW50MTZfdCAgICAgICAgICAgICAgIGNmaTsgDQotKyAgICAgICAgc3RydWN0 IHZsYW5yZXEgICAgICAgICAgdnJlcTsgDQotKyAgDQotKyAgICAgICAgX19j ZmkgPSBjZmkgPSBhdG9pKHZhbCk7IA0KLSsgIA0KLSsgCWlmIChjZmkgPiAx KSANCi0rICAgICAgICAgICAgZXJyeCgxLCAiVkxBTiBDRkkgc2hvdWQgYmUg MCBvciAxIik7IA0KLSsgIA0KLSsgICAgICAgICBiemVybygoY2hhciAqKSZ2 cmVxLCBzaXplb2Yoc3RydWN0IHZsYW5yZXEpKTsgDQotKyAgICAgICAgIGlm ci5pZnJfZGF0YSA9IChjYWRkcl90KSZ2cmVxOyANCi0rIA0KLSsgDQotKyAg ICAgICAgIGlmIChpb2N0bChzLCBTSU9DR0VUVkxBTiwgKGNhZGRyX3QpJmlm cikgPT0gLTEpIA0KLSsgICAgICAgICAgICAgICAgIGVycigxLCAiU0lPQ1NF VFZMQU4iKTsgDQotKyANCi0rIAkvKg0KLSsgICAgICAgICB2cmVxLnZscl90 YWcgPSBFVkxfTUFLRVRBRyhfX3RhZywgX19wcmksIF9fY2ZpKTsgDQotKyAJ Ki8NCi0rIA0KLSsgCWlmICh2cmVxLnZscl9wYXJlbnQpDQotKyAJCXByaW50 ZigiJXM6IHZyZXEudmxyX3BhcmVudDogJXNcbiIsIF9fZnVuY19fLCB2cmVx LnZscl9wYXJlbnQpOw0KLSsgCWVsc2UNCi0rIAkJcHJpbnRmKCJ2cmVxLnZs cl9wYXJlbnQgaXMgTlVMTFxuIik7DQotKyAJY2ZpID0gY2ZpIDw8IDEyOw0K LSsgCS8qIENsZWFyIGNmaSBiaXQgKi8NCi0rIAl2cmVxLnZscl90YWcgJj0g MHhFRkZGOw0KLSsgCS8qIFNldCBjZmkgYml0ICovDQotKyAJdnJlcS52bHJf dGFnIHw9ICBjZmk7IA0KLSAgDQotKyAgICAgICAgIGlmIChpb2N0bChzLCBT SU9DU0VUVkxBTiwgKGNhZGRyX3QpJmlmcikgPT0gLTEpIA0KLSsgICAgICAg ICAgICAgICAgIGVycigxLCAiU0lPQ1NFVFZMQU4iKTsgDQotICANCi0gIAly ZXR1cm47DQotICB9DQo= --0-484166887-1131141909=:77009 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=net.diff Content-Transfer-Encoding: BASE64 Content-ID: <20051104140509.O77009@huisu.net> Content-Description: Content-Disposition: attachment; filename=net.diff ZGlmZiAtcnVOIC91c3Ivc3JjL3N5cy9uZXQvaWZfdmxhbi5jIG5ldC5wYXRj aC9pZl92bGFuLmMNCi0tLSAvdXNyL3NyYy9zeXMvbmV0L2lmX3ZsYW4uYwlU aHUgT2N0IDIwIDE0OjIxOjA1IDIwMDUNCisrKyBuZXQucGF0Y2gvaWZfdmxh bi5jCVRodSBPY3QgMjAgMTQ6MjA6NDkgMjAwNQ0KQEAgLTQ0Myw3ICs0NDMs NyBAQA0KIAlmb3IgKGlmdiA9IExJU1RfRklSU1QoJmlmdl9saXN0KTsgaWZ2 ICE9IE5VTEw7DQogCSAgICBpZnYgPSBMSVNUX05FWFQoaWZ2LCBpZnZfbGlz dCkpIHsNCiAJCWlmIChtLT5tX3BrdGhkci5yY3ZpZiA9PSBpZnYtPmlmdl9w DQotCQkgICAgJiYgaWZ2LT5pZnZfdGFnID09IEVWTF9WTEFOT0ZUQUcodCkp DQorCQkgICAgJiYgRVZMX1ZMQU5PRlRBRyhpZnYtPmlmdl90YWcpID09IEVW TF9WTEFOT0ZUQUcodCkpDQogCQkJYnJlYWs7DQogCX0NCiANCkBAIC00NzMs NyArNDczLDcgQEANCiAJICAgIGlmdiA9IExJU1RfTkVYVChpZnYsIGlmdl9s aXN0KSkgew0KIAkJaWYgKG0tPm1fcGt0aGRyLnJjdmlmID09IGlmdi0+aWZ2 X3ANCiAJCSAgICAmJiAoRVZMX1ZMQU5PRlRBRyhudG9ocygqbXRvZChtLCB1 X2ludDE2X3QgKikpKQ0KLQkJCT09IGlmdi0+aWZ2X3RhZykpDQorCQkJPT0g RVZMX1ZMQU5PRlRBRyhpZnYtPmlmdl90YWcpKSkgLyogTXVzdCBtYXNrIGl0 LCBzaW5jZSB3ZSBoYXZlIHByaW9yaXR5IGJpdCBhbmQgY2ZpICovDQogCQkJ YnJlYWs7DQogCX0NCiANCkBAIC01MDksNyArNTA5LDggQEANCiANCiAJaWYg KHAtPmlmX2RhdGEuaWZpX3R5cGUgIT0gSUZUX0VUSEVSKQ0KIAkJcmV0dXJu IEVQUk9UT05PU1VQUE9SVDsNCi0JaWYgKGlmdi0+aWZ2X3ApDQorCXByaW50 ZigiVkxBTiBERUJVRzogcCAlcCAgaWZ2LT5pZnZfcCAlcFxuIiwgcCwgaWZ2 LT5pZnZfcCk7DQorCWlmIChpZnYtPmlmdl9wICYmIChpZnYtPmlmdl9wICE9 IHApKQ0KIAkJcmV0dXJuIEVCVVNZOw0KIAlpZnYtPmlmdl9wID0gcDsNCiAJ aWYgKHAtPmlmX2RhdGEuaWZpX2hkcmxlbiA9PSBzaXplb2Yoc3RydWN0IGV0 aGVyX3ZsYW5faGVhZGVyKSkNCkBAIC02NzksMTAgKzY4MCwxMSBAQA0KIAkJ ZXJyb3IgPSBjb3B5aW4oaWZyLT5pZnJfZGF0YSwgJnZsciwgc2l6ZW9mIHZs cik7DQogCQlpZiAoZXJyb3IpDQogCQkJYnJlYWs7DQotCQlpZiAodmxyLnZs cl90YWcgJiB+RVZMX1ZMSURfTUFTSykgew0KKwkJaWYgKEVWTF9WTEFOT0ZU QUcodmxyLnZscl90YWcpICYgfkVWTF9WTElEX01BU0spIHsNCiAJCQllcnJv ciA9IEVJTlZBTDsNCiAJCQlicmVhazsNCiAJCX0NCisJCS8qIE5vIHBhcmVu dCBkZXN0cm95IGl0ICovDQogCQlpZiAodmxyLnZscl9wYXJlbnRbMF0gPT0g J1wwJykgew0KIAkJCXZsYW5fdW5jb25maWcoaWZwKTsNCiAJCQlpZiAoaWZw LT5pZl9mbGFncyAmIElGRl9VUCkgew0KZGlmZiAtcnVOIC91c3Ivc3JjL3N5 cy9uZXQvaWZfdmxhbl92YXIuaCBuZXQucGF0Y2gvaWZfdmxhbl92YXIuaA0K LS0tIC91c3Ivc3JjL3N5cy9uZXQvaWZfdmxhbl92YXIuaAlUaHUgT2N0IDIw IDE0OjIxOjA1IDIwMDUNCisrKyBuZXQucGF0Y2gvaWZfdmxhbl92YXIuaAlU aHUgT2N0IDIwIDE0OjIwOjQ5IDIwMDUNCkBAIC02Niw2ICs2Niw4IEBADQog I2RlZmluZQlFVkxfVkxBTk9GVEFHKHRhZykgKCh0YWcpICYgRVZMX1ZMSURf TUFTSykNCiAjZGVmaW5lCUVWTF9QUklPRlRBRyh0YWcpICgoKHRhZykgPj4g MTMpICYgNykNCiAjZGVmaW5lCUVWTF9FTkNBUExFTgk0CS8qIGxlbmd0aCBp biBvY3RldHMgb2YgZW5jYXBzdWxhdGlvbiAqLw0KKyNkZWZpbmUgRVZMX0NG SU9GVEFHKHRhZykgKCgodGFnKSA+PiAxMikgJiAxKSANCisjZGVmaW5lIEVW TF9NQUtFVEFHKHZsaWQscHJpLGNmaSkgKCgoKCgocHJpKSAmIDcpIDw8IDEp IHwgKChjZmkpICYgMSkpIDw8IDEyKSB8ICgodmxpZCkgJiBFVkxfVkxJRF9N QVNLKSkgDQogDQogLyogc3lzY3RsKDMpIHRhZ3MsIGZvciBjb21wYXRpYmls aXR5IHB1cnBvc2VzICovDQogI2RlZmluZQlWTEFOQ1RMX1BST1RPCTENCkBA IC03NSw4ICs3Nyw4IEBADQogICogQ29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUg Zm9yIFNJT0NTRVRWTEFOIGFuZCBTSU9DR0VUVkxBTiBpb2N0bHMuDQogICov DQogc3RydWN0CXZsYW5yZXEgew0KLQljaGFyCXZscl9wYXJlbnRbSUZOQU1T SVpdOw0KLQl1X3Nob3J0CXZscl90YWc7DQorICAgICAgIGNoYXIgICAgICAg ICAgICB2bHJfcGFyZW50W0lGTkFNU0laXTsgDQorICAgICAgIHVfaW50MTZf dCAgICAgICB2bHJfdGFnOyANCiB9Ow0KICNkZWZpbmUJU0lPQ1NFVFZMQU4J U0lPQ1NJRkdFTkVSSUMNCiAjZGVmaW5lCVNJT0NHRVRWTEFOCVNJT0NHSUZH RU5FUklDDQo= --0-484166887-1131141909=:77009--