Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Nov 2005 14:05:09 -0800 (PST)
From:      henrysu <henrysu@huisu.net>
To:        freebsd-net@FreeBSD.ORG
Subject:   vlan Qos patch for 4.11 stable
Message-ID:  <20051104140016.A77009@huisu.net>

next in thread | raw e-mail | index | archive | help
  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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051104140016.A77009>