From owner-freebsd-isdn Thu Apr 23 15:33:26 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA10597 for freebsd-isdn-outgoing; Thu, 23 Apr 1998 15:33:26 -0700 (PDT) (envelope-from owner-freebsd-isdn@FreeBSD.ORG) Received: from arg1.demon.co.uk (arg1.demon.co.uk [194.222.34.166]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA10550 for ; Thu, 23 Apr 1998 15:33:09 -0700 (PDT) (envelope-from arg@arg1.demon.co.uk) Received: (from arg@localhost) by arg1.demon.co.uk (8.8.5/8.8.5) id XAA05280; Thu, 23 Apr 1998 23:37:38 +0100 (BST) Date: Thu, 23 Apr 1998 23:34:34 +0100 (BST) From: Andrew Gordon X-Sender: arg@server.arg.sj.co.uk To: Hellmuth Michaelis cc: freebsd-isdn@FreeBSD.ORG Subject: Re: VJ-comp on raw interfaces in I4B? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1521551382-893370874=:5259" Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1521551382-893370874=:5259 Content-Type: TEXT/PLAIN; charset=US-ASCII Here are the patches to the ipr driver and manpage to implement VJ compression, based on the way it was done in bisdn. A few notes: 1) I have put all the code inside #ifdef IPR_VJ, similar to how it was in bisdn, but I would have thought that it was sufficiently small and low-overhead that it could just be included without ifdefs. 2) The bisdn version went to some trouble over retaining the uncompressed version of outbound packets, in order to pass them to BPF. I have avoided this by simply reversing the order of a couple of lines of code (and it appears to work), but maybe there was some reason the old code took the more complicated approach? 3) I have had to move the byte-counting on outbound traffic in order that it counts the size of packets before compression. This means that the bytes are counted slightly too early (ie. when packets enter the Tx queue, rather than when they are actually transmitted), but this seems more useful than recording the compressed size - there is already a separate counter for the B-channel byte count. --0-1521551382-893370874=:5259 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=diff1 Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: KioqIGk0Yl9pcHIuYy5vcmlnCVRodSBBcHIgMjMgMTY6MzA6MzMgMTk5OA0K LS0tIGk0Yl9pcHIuYwlUaHUgQXByIDIzIDIwOjI5OjU2IDE5OTgNCioqKioq KioqKioqKioqKg0KKioqIDc0LDc5ICoqKioNCi0tLSA3NCw4NSAtLS0tDQog ICNpbmNsdWRlIDxuZXRpbmV0L2luX3Zhci5oPg0KICAjaW5jbHVkZSA8bmV0 aW5ldC9pcC5oPg0KICANCisgI2lmZGVmIElQUl9WSg0KKyAjaW5jbHVkZSA8 bmV0L3NsY29tcHJlc3MuaD4gICAgICAgDQorICNkZWZpbmUgSVBSX0NPTVBS RVNTIElGRl9MSU5LMCAgLyogY29tcHJlc3MgVENQIHRyYWZmaWMgKi8NCisg I2RlZmluZSBJUFJfQVVUT0NPTVAgSUZGX0xJTksxICAvKiBhdXRvLWVuYWJs ZSBUQ1AgY29tcHJlc3Npb24gKi8NCisgI2VuZGlmICAgICAgICAgICAgICAg ICAgICAgICAgICAgIA0KKyANCiAgI2luY2x1ZGUgImJwZmlsdGVyLmgiDQog ICNpZiBOQlBGSUxURVIgPiAwDQogICNpbmNsdWRlIDxzeXMvdGltZS5oPg0K KioqKioqKioqKioqKioqDQoqKiogMTUyLDE1NyAqKioqDQotLS0gMTU4LDE2 OCAtLS0tDQogIAlpbnQgc2NfZmlyc3RfcGt0OwkJLyogZmxhZywgZmlyc3Qg cnhkIHBhY2tldAkqLw0KICAjZW5kaWYNCiAgDQorICNpZmRlZiBJUFJfVkoN CisgCXN0cnVjdCBzbGNvbXByZXNzIHNjX2NvbXByOwkvKiB0Y3AgY29tcHJl c3Npb24gZGF0YQkJKi8NCisgCXVfY2hhciAqc2NfY2J1ZjsJCS8qIHRjcCBk ZWNvbXByZXNzaW9uIGJ1ZmZlcgkqLw0KKyAjZW5kaWYNCisgDQogIH0gaXBy X3NvZnRjW05JNEJJUFJdOw0KICANCiAgZW51bSBpcHJfc3RhdGVzIHsNCioq KioqKioqKioqKioqKg0KKioqIDIwOSwyMTUgKioqKg0KLS0tIDIyMCwyMzAg LS0tLQ0KICAJCXNjLT5zY191bml0ID0gaTsNCiAgI2VuZGlmDQogIAkJc2Mt PnNjX2lmLmlmX210dSA9IEk0QklQUk1UVTsNCisgI2lmZGVmCUlQUl9WSg0K KyAJCXNjLT5zY19pZi5pZl9mbGFncyA9IElGRl9QT0lOVE9QT0lOVCB8IElQ Ul9BVVRPQ09NUDsNCisgI2Vsc2UNCiAgCQlzYy0+c2NfaWYuaWZfZmxhZ3Mg PSBJRkZfUE9JTlRPUE9JTlQ7DQorICNlbmRpZg0KICAJCXNjLT5zY19pZi5p Zl90eXBlID0gSUZUX0lTRE5CQVNJQzsNCiAgDQogIAkJc2MtPnNjX2lmLmlm X2lvY3RsID0gaTRiaXByaW9jdGw7DQoqKioqKioqKioqKioqKioNCioqKiAy NDEsMjQ2ICoqKioNCi0tLSAyNTYsMjY3IC0tLS0NCiAgCQlzYy0+c2NfZm4g PSAxOw0KICAjZW5kaWYNCiAgDQorICNpZmRlZglJUFJfVkoNCisgCQlzbF9j b21wcmVzc19pbml0KCZzYy0+c2NfY29tcHIsIC0xKTsNCisgCQlpZiAoISgo c2MtPnNjX2NidWYgPSAodV9jaGFyICopbWFsbG9jKEk0QklQUk1BWE1UVSsx MjgsIE1fREVWQlVGLCBNX1dBSVRPSykpKSkNCisgCQkJcGFuaWMoImlmX2lw ci5jLCBpcHJfYXR0YWNoOiBtYWxsb2MgZmFpbGVkIik7DQorICNlbmRpZg0K KyANCiAgCQlzYy0+c2NfdXBkb3duID0gU09GVF9FTkE7DQogIA0KICAJCWlm X2F0dGFjaCgmc2MtPnNjX2lmKTsNCioqKioqKioqKioqKioqKg0KKioqIDI2 NiwyNzEgKioqKg0KLS0tIDI4NywyOTcgLS0tLQ0KICAJaW50IHVuaXQ7DQog IAlpbnQgczsNCiAgDQorICNpZmRlZglJUFJfVkoNCisgCXVfaW50IGxlbjsN CisgCXN0cnVjdCBpcCAqaXA7DQorICNlbmRpZg0KKyANCiAgCXMgPSBTUExJ NEIoKTsNCiAgDQogICNpZmRlZiBfX0ZyZWVCU0RfXw0KKioqKioqKioqKioq KioqDQoqKiogMzIzLDMyOCAqKioqDQotLS0gMzQ5LDM2NyAtLS0tDQogIAl9 DQogICNlbmRpZiAvKiBOQlBGSUxURVIgKi8NCiAgDQorICNpZmRlZglJUFJf VkoNCisgCWxlbiA9IG0tPm1fcGt0aGRyLmxlbjsJLyogcmVtZW1iZXIgc2l6 ZSBiZWZvcmUgY29tcHJlc3Npb24JKi8NCisgDQorIAlpZigoaXAgPSBtdG9k KG0sIHN0cnVjdCBpcCAqKSktPmlwX3AgPT0gSVBQUk9UT19UQ1ApDQorIAl7 DQorIAkJaWYoaWZwLT5pZl9mbGFncyAmIElQUl9DT01QUkVTUykNCisgCQl7 DQorIAkJCSptdG9kKG0sIHVfY2hhciAqKSB8PSBzbF9jb21wcmVzc190Y3Ao bSwgaXAsDQorIAkJCQkmc2MtPnNjX2NvbXByLCAxKTsNCisgCQl9DQorIAl9 DQorICNlbmRpZg0KKyANCiAgCWlmKHNjLT5zY19zdGF0ZSAhPSBTVF9DT05O RUNURUQpDQogIAl7DQogIAkJREJHTDQoTDRfSVBSREJHLCAiaTRiaXByb3V0 cHV0IiwgKCJpcHIlZDogc2VuZCBkaWFsIHJlcXVlc3QgbWVzc2FnZSFcbiIs IHVuaXQpKQ0KKioqKioqKioqKioqKioqDQoqKiogMzUwLDM1NSAqKioqDQot LS0gMzg5LDQwNSAtLS0tDQogIAkNCiAgCUlGX0VOUVVFVUUoJmlmcC0+aWZf c25kLCBtKTsNCiAgDQorICNpZiBJNEJJUFJBQ0NUDQorICNpZmRlZglJUFJf VkoNCisgCXNjLT5zY19vdXRiICs9IG0tPm1fcGt0aGRyLmxlbjsNCisgI2Vs c2UNCisgCS8qIFVzZSB1bmNvbXByZXNzZWQgbGVuZ3RoIGluIGFjY291bnRp bmcgLSB0aGVyZSBpcyBzZXBhcmF0ZQkqLw0KKyAJLyogYWNjb3VudGluZyBm b3IgbnVtYmVyIHRoZSByYXcgYnl0ZXMgb24gdGhlIEIgY2hhbm5lbC4JKi8N CisgCXNjLT5zY19vdXRiICs9IGxlbjsNCisgI2VuZGlmDQorICNlbmRpZg0K KyANCisgDQogIAlpNGJpcHJzdGFydChzYyk7DQogIAlzcGx4KHMpOw0KICAN CioqKioqKioqKioqKioqKg0KKioqIDM5Myw0MDIgKioqKg0KICANCiAgCQlz Yy0+c2NfaWYuaWZfb2J5dGVzICs9IG0tPm1fcGt0aGRyLmxlbjsNCiAgDQot ICNpZiBJNEJJUFJBQ0NUDQotIAkJc2MtPnNjX291dGIgKz0gbS0+bV9wa3Ro ZHIubGVuOw0KLSAjZW5kaWYNCi0gDQogIAkJc2MtPnNjX2lmLmlmX29wYWNr ZXRzKys7DQogIAkJDQogICNpZmRlZiBOT1RERUYNCi0tLSA0NDMsNDQ4IC0t LS0NCioqKioqKioqKioqKioqKg0KKioqIDYxOCw2MjMgKioqKg0KLS0tIDY2 NCw2NzMgLS0tLQ0KICB7DQogIAlyZWdpc3RlciBzdHJ1Y3QgaXByX3NvZnRj ICpzYyA9ICZpcHJfc29mdGNbdW5pdF07DQogIAlyZWdpc3RlciBzdHJ1Y3Qg bWJ1ZiAqbTsNCisgI2lmZGVmCUlQUl9WSg0KKyAJdV9jaGFyICpjcCA9IHNj LT5zY19jYnVmOw0KKyAJaW50IGxlbiwgYzsNCisgI2VuZGlmDQogIAkNCiAg CWlmKChtID0gKmlzZG5fbGlua3RhYlt1bml0XS0+cnhfbWJ1ZikgPT0gTlVM TCkNCiAgCQlyZXR1cm47DQoqKioqKioqKioqKioqKioNCioqKiA2NjAsNjY2 ICoqKioNCi0tLSA3MTAsNzg0IC0tLS0NCiAgCXNjLT5zY19pZi5pZl9pcGFj a2V0cysrOw0KICAJc2MtPnNjX2lmLmlmX2lieXRlcyArPSBtLT5tX3BrdGhk ci5sZW47DQogIA0KKyAjaWZkZWYJSVBSX1ZKDQorIA0KKyAJaWYoKGMgPSAo KihtdG9kKG0sIHVfY2hhciAqKSkgJiAweGYwKSkgIT0gKElQVkVSU0lPTiA8 PCA0KSkNCisgCXsNCisgCQkvKiBjb3B5IGRhdGEgdG8gYnVmZmVyICovDQor IA0KKyAJCWxlbiA9IG0tPm1fbGVuOwkJDQorIA0KKyAvKiBYWFggKi8JbV9j b3B5ZGF0YShtLCAwLCBsZW4sIGNwKTsNCisgCQkNCisgCQlpZihjICYgMHg4 MCkNCisgCQl7DQorIAkJCWMgPSBUWVBFX0NPTVBSRVNTRURfVENQOw0KKyAJ CX0NCisgCQllbHNlIGlmKGMgPT0gVFlQRV9VTkNPTVBSRVNTRURfVENQKQ0K KyAJCXsNCisgCQkJKmNwICY9IDB4NGY7CQkvKiBYWFggKi8NCisgCQl9DQor IA0KKyAJCS8qDQorIAkJICogV2UndmUgZ290IHNvbWV0aGluZyB0aGF0J3Mg bm90IGFuIElQIHBhY2tldC4NCisgCQkgKiBJZiBjb21wcmVzc2lvbiBpcyBl bmFibGVkLCB0cnkgdG8gZGVjb21wcmVzcyBpdC4NCisgCQkgKiBPdGhlcndp c2UsIGlmIGBhdXRvLWVuYWJsZScgY29tcHJlc3Npb24gaXMgb24gYW5kDQor IAkJICogaXQncyBhIHJlYXNvbmFibGUgcGFja2V0LCBkZWNvbXByZXNzIGl0 IGFuZCB0aGVuDQorIAkJICogZW5hYmxlIGNvbXByZXNzaW9uLiAgT3RoZXJ3 aXNlLCBkcm9wIGl0Lg0KKyAJCSAqLw0KKyAJCWlmKHNjLT5zY19pZi5pZl9m bGFncyAmIElQUl9DT01QUkVTUykNCisgCQl7DQorIAkJCWxlbiA9IHNsX3Vu Y29tcHJlc3NfdGNwKCZjcCxsZW4sKHVfaW50KWMsJnNjLT5zY19jb21wcik7 DQorIA0KKyAJCQlpZihsZW4gPD0gMCkNCisgCQkJew0KKyAjaWZkZWYgREVC VUdfSVBSX1ZKDQorIAkJCQlwcmludGYoImk0Yl9pcHIsIGlwcl9yeF9kYXRh X3JkeTogbGVuIDw9IDAgSVBSX0NPTVBSRVNTIVxuIik7DQorICNlbmRpZg0K KyAJCQkJZ290byBlcnJvcjsNCisgCQkJfQ0KKyAJCX0NCisgCQllbHNlIGlm KChzYy0+c2NfaWYuaWZfZmxhZ3MgJiBJUFJfQVVUT0NPTVApICYmDQorIAkJ CShjID09IFRZUEVfVU5DT01QUkVTU0VEX1RDUCkgJiYgKGxlbiA+PSA0MCkp DQorIAkJew0KKyAJCQlsZW4gPSBzbF91bmNvbXByZXNzX3RjcCgmY3AsbGVu LCh1X2ludCljLCZzYy0+c2NfY29tcHIpOw0KKyANCisgCQkJaWYobGVuIDw9 IDApDQorIAkJCXsNCisgI2lmZGVmIERFQlVHX0lQUl9WSg0KKyAJCQkJcHJp bnRmKCJpNGJfaXByLCBpcHJfcnhfZGF0YV9yZHk6IGxlbiA8PSAwIElQUl9B VVRPQ09NUCFcbiIpOw0KKyAjZW5kaWYNCisgCQkJCWdvdG8gZXJyb3I7DQor IAkJCX0NCisgDQorIAkJCXNjLT5zY19pZi5pZl9mbGFncyB8PSBJUFJfQ09N UFJFU1M7DQorIAkJfQ0KKyAJCWVsc2UNCisgCQl7DQorICNpZmRlZiBERUJV R19JUFJfVkoNCisgCQkJcHJpbnRmKCJpNGJfaXByLCBpcHJfaW5wdXQ6IGlu dmFsaWQgaXAgcGFja2V0IVxuIik7DQorICNlbmRpZg0KKyANCisgZXJyb3I6 DQorIAkJCXNjLT5zY19pZi5pZl9jb2xsaXNpb25zKys7DQorIAkJCXJldHVy bjsNCisgCQl9DQorIC8qIFhYWCAqLwltX2NvcHliYWNrKG0sIDAsIGxlbiwg Y3ApOw0KKyAJfQ0KKyAjZW5kaWYNCisgDQogICNpZiBJNEJJUFJBQ0NUDQor IAkvKiBOQi4gZG8gdGhlIGFjY291bnRpbmcgYWZ0ZXIgZGVjb21wcmVzc2lv biEJCSovDQogIAlzYy0+c2NfaW5iICs9IG0tPm1fcGt0aGRyLmxlbjsNCiAg I2VuZGlmDQogIA0KKioqKioqKioqKioqKioqDQoqKiogNzI5LDczOCAqKioq DQogIAkJSUZfRU5RVUVVRShpc2RuX2xpbmt0YWJbdW5pdF0tPnR4X3F1ZXVl LCBtKTsNCiAgDQogIAkJc2MtPnNjX2lmLmlmX29ieXRlcyArPSBtLT5tX3Br dGhkci5sZW47DQotIA0KLSAjaWYgSTRCSVBSQUNDVA0KLSAJCXNjLT5zY19v dXRiICs9IG0tPm1fcGt0aGRyLmxlbjsNCi0gI2VuZGlmDQogIA0KICAJCXNj LT5zY19pZi5pZl9vcGFja2V0cysrOw0KICAJfQ0KLS0tIDg0Nyw4NTIgLS0t LQ0K --0-1521551382-893370874=:5259 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=diff2 Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: KioqIGk0Ymlwci40Lm9yaWcJVGh1IEFwciAyMyAyMjo1ODoxMyAxOTk4DQot LS0gaTRiaXByLjQJVGh1IEFwciAyMyAyMzoxNzoxMiAxOTk4DQoqKioqKioq KioqKioqKioNCioqKiA0Nyw2NiAqKioqDQogIFRoZQ0KICAuTm0NCiAgZHJp dmVyIGludGVyZmFjZXMgdGhlIElQIHN1YnN5c3RlbSBvZiB0aGUgb3BlcmF0 aW5nIHN5c3RlbSB3aXRoIHRoZSANCiEgaXNkbjRic2QgcGFja2FnZSBzbyB0 aGF0IGEgdHJhbnNwb3J0IG9mIElQIHBhY2tldHMgb3ZlciBhbiBJU0ROIGxp bmsNCiAgaXMgcG9zc2libGUuDQogIC5QcA0KICBUaGUgZHJpdmVyIGp1c3Qg cGFja3MgSVAgcGFja2V0cyB3aXRob3V0IGFueXRoaW5nIGFwcGVuZGVkIG9y IHByZXBlbmRlZA0KISBpbnRvIHJhdyBIRExDIHBhY2tldHMgb24gdGhlIEIg Y2hhbm5lbCBhbmQgdHJhbnNmZXJzIHRoZW0gdG8gYSByZW1vdGUgc2l0ZQ0K ISBhbmQgcXVldWVzIHJlY2VpdmVkIElQIHBhY2tldHMgZnJvbSB0aGUgcmVt b3RlIHNpZGUgaW50byB0aGUgbG9jYWwgSVANCiAgcHJvdG9jb2wgc3RhY2su DQogIC5QcA0KICBUaGUgZm9ybWF0IG9mIHRoZSByZXN1bHRpbmcgcGFja2V0 IG9uIHRoZSBCIGNoYW5uZWwgaXM6DQogIC5QcA0KICAuRGwgKEhETEMgb3Bl bmluZyBmbGFnKSAoSVAtcGFja2V0KSAoQ1JDKSAoSERMQyBjbG9zaW5nIGZs YWcpDQogIC5QcA0KISBJbiBjYXNlIGFuIElQIHBhY2tldCBmb3IgYSByZW1v dGUgc2lkZSBhcnJpdmVzIGluIHRoZSBkcml2ZXIgYW5kIG5vDQohIGNvbm5l Y3Rpb24gaXMgZXN0YWJsaXNoZWQgeWV0LCB0aGUgZHJpdmVyIGNvbW11bmlj YXRlcyB3aXRoIHRoZQ0KICAuWHIgaXNkbmQgOA0KICBkYWVtb24gdG8gZXN0 YWJsaXNoIGEgY29ubmVjdGlvbi4NCiAgLlBwDQotLS0gNDcsNjYgLS0tLQ0K ICBUaGUNCiAgLk5tDQogIGRyaXZlciBpbnRlcmZhY2VzIHRoZSBJUCBzdWJz eXN0ZW0gb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gd2l0aCB0aGUgDQohIGlz ZG40YnNkIHBhY2thZ2Ugc28gdGhhdCB0cmFuc3BvcnQgb2YgSVAgcGFja2V0 cyBvdmVyIGFuIElTRE4gbGluaw0KICBpcyBwb3NzaWJsZS4NCiAgLlBwDQog IFRoZSBkcml2ZXIganVzdCBwYWNrcyBJUCBwYWNrZXRzIHdpdGhvdXQgYW55 dGhpbmcgYXBwZW5kZWQgb3IgcHJlcGVuZGVkDQohIGludG8gcmF3IEhETEMg cGFja2V0cyBvbiB0aGUgQiBjaGFubmVsIGFuZCB0cmFuc2ZlcnMgdGhlbSB0 byBhIHJlbW90ZSBzaXRlLg0KISBJUCBwYWNrZXRzIHJlY2VpdmVkIGZyb20g dGhlIHJlbW90ZSBzaXRlIGFyZSBxdWV1ZWQgaW50byB0aGUgbG9jYWwgSVAN CiAgcHJvdG9jb2wgc3RhY2suDQogIC5QcA0KICBUaGUgZm9ybWF0IG9mIHRo ZSByZXN1bHRpbmcgcGFja2V0IG9uIHRoZSBCIGNoYW5uZWwgaXM6DQogIC5Q cA0KICAuRGwgKEhETEMgb3BlbmluZyBmbGFnKSAoSVAtcGFja2V0KSAoQ1JD KSAoSERMQyBjbG9zaW5nIGZsYWcpDQogIC5QcA0KISBJbiB0aGUgY2FzZSB3 aGVyZSBhbiBJUCBwYWNrZXQgZm9yIGEgcmVtb3RlIHNpdGUgYXJyaXZlcyBp biB0aGUgZHJpdmVyIGFuZCBubw0KISBjb25uZWN0aW9uIGhhcyBiZWVuIGVz dGFibGlzaGVkIHlldCwgdGhlIGRyaXZlciBjb21tdW5pY2F0ZXMgd2l0aCB0 aGUNCiAgLlhyIGlzZG5kIDgNCiAgZGFlbW9uIHRvIGVzdGFibGlzaCBhIGNv bm5lY3Rpb24uDQogIC5QcA0KKioqKioqKioqKioqKioqDQoqKiogNzEsNzYg KioqKg0KLS0tIDcxLDkwIC0tLS0NCiAgd2l0aCB0aGUNCiAgLk5tIGlwcg0K ICBpbnRlcmZhY2VzLg0KKyAuUHANCisgVGhlIGRyaXZlciBvcHRpb25hbGx5 IHByb3ZpZGVzIFZhbiBKYWNvYnNlbiBoZWFkZXIgY29tcHJlc3Npb24sIHVu ZGVyDQorIGNvbnRyb2wgb2YgdGhlIGxpbmswIGFuZCBsaW5rMSBvcHRpb25z IHRvDQorIC5YciBpZmNvbmZpZyA4DQorIDoNCisgLlBwIA0KKyAuQmwgLXRh ZyAtd2lkdGggMTVuIC1vZmZzZXQgaW5kZW50IC1jb21wYWN0DQorIC5JdCBs aW5rMA0KKyBBcHBseSBWSiBjb21wcmVzc2lvbiB0byBvdXRnb2luZyBwYWNr ZXRzIG9uIHRoaXMgaW50ZXJmYWNlLCBhbmQgYXNzdW1lIHRoYXQgaW5jb21p bmcgcGFja2V0cyByZXF1aXJlIGRlY29tcHJlc3Npb24uDQorIC5JdCBsaW5r MQ0KKyBDaGVjayBpbmNvbWluZyBwYWNrZXRzIGZvciBWYW4gSmFjb2JzZW4g Y29tcHJlc3Npb247IGlmIHRoZXkgYXBwZWFyIHRvIGJlDQorIGNvbXByZXNz ZWQsIGF1dG9tYXRpY2FsbHkgc2V0IGxpbmswLiAgVGhpcyBpcyB0aGUgZGVm YXVsdC4NCisgLkVsIA0KKyANCiAgLlNoIFNFRSBBTFNPDQogIC5YciBpc2Ru ZCA4DQogIC5YciBpc2RuZC5yYyA1DQo= --0-1521551382-893370874=:5259-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message