From owner-freebsd-net Thu Oct 4 3:57:19 2001 Delivered-To: freebsd-net@freebsd.org Received: from sasami.jurai.net (sasami.jurai.net [64.0.106.45]) by hub.freebsd.org (Postfix) with ESMTP id 8F46E37B405 for ; Thu, 4 Oct 2001 03:57:13 -0700 (PDT) Received: from localhost (winter@localhost) by sasami.jurai.net (8.9.3/8.8.7) with ESMTP id GAA79335 for ; Thu, 4 Oct 2001 06:57:12 -0400 (EDT) Date: Thu, 4 Oct 2001 06:57:12 -0400 (EDT) From: "Matthew N. Dodd" To: freebsd-net@freebsd.org Subject: review request: new function sys/net/route.c:rt_resolv() Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1450228721-1002193032=:38937" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: 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-1450228721-1002193032=:38937 Content-Type: TEXT/PLAIN; charset=US-ASCII Find attached for your review a patch implementing the rt_resolv() (better name requested if you can think of one.) function. This is intended to replace the ~25 lines of duplicated code currently in if_ethersubr.c, if_fddisubr.c, and if_iso88025subr.c in the respective output functions. Only the modification to if_ethersubr.c is included in this patch as I've got local changes to the other files that aren't relevant and most people aren't likely to have FDDI or Token Ring stuff they want to test this on anyway. It appears to work for me though I'm sure I've missed something obvious. Comments? -- | Matthew N. Dodd | '78 Datsun 280Z | '75 Volvo 164E | FreeBSD/NetBSD | | winter@jurai.net | 2 x '84 Volvo 245DL | ix86,sparc,pmax | | http://www.jurai.net/~winter | For Great Justice! | ISO8802.5 4ever | --0-1450228721-1002193032=:38937 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rt_resolv.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="rt_resolv.patch" SW5kZXg6IHJvdXRlLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvY3ZzL3NyYy9zeXMvbmV0L3JvdXRlLmMsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjY0DQpkaWZmIC11IC1yMS42NCByb3V0ZS5jDQotLS0gcm91 dGUuYwkyNSBKdWwgMjAwMSAyMDoxNToyOCAtMDAwMAkxLjY0DQorKysgcm91 dGUuYwk0IE9jdCAyMDAxIDEwOjQ5OjE0IC0wMDAwDQpAQCAtMTA5NCw1ICsx MDk0LDQ5IEBADQogCXJldHVybiAoZXJyb3IpOw0KIH0NCiANCitpbnQNCity dF9yZXNvbHYocnQsIHJ0MCwgZHN0KQ0KKwlzdHJ1Y3QgcnRlbnRyeSAqKnJ0 Ow0KKwlzdHJ1Y3QgcnRlbnRyeSAqKnJ0MDsNCisJc3RydWN0IHNvY2thZGRy ICpkc3Q7DQorew0KKwlpbnQgZXJyb3I7DQorDQorCWVycm9yID0gMDsNCisJ KnJ0ID0gKnJ0MDsNCisNCisJaWYgKCpydCAhPSBOVUxMKSB7DQorCQlpZiAo KCgqcnQpLT5ydF9mbGFncyAmIFJURl9VUCkgPT0gMCkgew0KKwkJCSpydDAg PSAqcnQgPSBydGFsbG9jMShkc3QsIDEsIDBVTCk7DQorCQkJaWYgKCpydDAg IT0gTlVMTCkNCisJCQkJKCpydCktPnJ0X3JlZmNudC0tOw0KKwkJCWVsc2UN CisJCQkJc2VuZGVycihFSE9TVFVOUkVBQ0gpOw0KKwkJfQ0KKwkJaWYgKCgq cnQpLT5ydF9mbGFncyAmIFJURl9HQVRFV0FZKSB7DQorCQkJaWYgKCgqcnQp LT5ydF9nd3JvdXRlID09IE5VTEwpDQorCQkJCWdvdG8gbG9va3VwOw0KKw0K KwkJCSpydCA9ICgqcnQpLT5ydF9nd3JvdXRlOw0KKwkJCWlmICgoKCpydCkt PnJ0X2ZsYWdzICYgUlRGX1VQKSA9PSAwKSB7DQorCQkJCXJ0ZnJlZSgqcnQp Ow0KKwkJCQkqcnQgPSAqcnQwOw0KKwkJCWxvb2t1cDoNCisJCQkJKCpydCkt PnJ0X2d3cm91dGUgPSBydGFsbG9jMSgoKnJ0KS0+cnRfZ2F0ZXdheSwgMSwg MFVMKTsNCisJCQkJKnJ0ID0gKCpydCktPnJ0X2d3cm91dGU7DQorCQkJCWlm ICgqcnQgPT0gTlVMTCkNCisJCQkJCXNlbmRlcnIoRUhPU1RVTlJFQUNIKTsN CisJCQl9DQorCQl9DQorCQlpZiAoKCpydCktPnJ0X2ZsYWdzICYgUlRGX1JF SkVDVCkNCisJCQlpZiAoKCpydCktPnJ0X3JteC5ybXhfZXhwaXJlID09IDAg fHwNCisJCQkJdGltZV9zZWNvbmQgPCAoKnJ0KS0+cnRfcm14LnJteF9leHBp cmUpDQorCQkJCXNlbmRlcnIoKnJ0ID09ICpydDAgPyBFSE9TVERPV04gOiBF SE9TVFVOUkVBQ0gpOw0KKwl9DQorDQorYmFkOg0KKwlyZXR1cm4gKGVycm9y KTsNCit9DQorDQogLyogVGhpcyBtdXN0IGJlIGJlZm9yZSBpcDZfaW5pdDIo KSwgd2hpY2ggaXMgbm93IFNJX09SREVSX01JRERMRSAqLw0KIFNZU0lOSVQo cm91dGUsIFNJX1NVQl9QUk9UT19ET01BSU4sIFNJX09SREVSX1RISVJELCBy b3V0ZV9pbml0LCAwKTsNCkluZGV4OiByb3V0ZS5oDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9zcmMvc3lzL25ldC9yb3V0ZS5o LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zOQ0KZGlmZiAtdSAtcjEuMzkg cm91dGUuaA0KLS0tIHJvdXRlLmgJMTIgU2VwIDIwMDEgMDg6Mzc6NTIgLTAw MDAJMS4zOQ0KKysrIHJvdXRlLmgJNCBPY3QgMjAwMSAxMDo0ODo0NyAtMDAw MA0KQEAgLTI5MCw2ICsyOTAsOCBAQA0KIAkgICAgc3RydWN0IHNvY2thZGRy ICosIGludCwgc3RydWN0IHNvY2thZGRyICosIHN0cnVjdCBydGVudHJ5ICoq KSk7DQogaW50CSBydHJlcXVlc3QgX19QKChpbnQsIHN0cnVjdCBzb2NrYWRk ciAqLA0KIAkgICAgc3RydWN0IHNvY2thZGRyICosIHN0cnVjdCBzb2NrYWRk ciAqLCBpbnQsIHN0cnVjdCBydGVudHJ5ICoqKSk7DQorDQoraW50CSBydF9y ZXNvbHYgX19QKChzdHJ1Y3QgcnRlbnRyeSAqKiwgc3RydWN0IHJ0ZW50cnkg KiosIHN0cnVjdCBzb2NrYWRkciAqKSk7DQogI2VuZGlmDQogDQogI2VuZGlm DQpJbmRleDogaWZfZXRoZXJzdWJyLmMNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJDUyBmaWxlOiAvY3ZzL3NyYy9zeXMvbmV0L2lmX2V0aGVyc3Vici5j LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS45Nw0KZGlmZiAtdSAtcjEuOTcg aWZfZXRoZXJzdWJyLmMNCi0tLSBpZl9ldGhlcnN1YnIuYwkxMCBTZXAgMjAw MSAwMTozMzowMyAtMDAwMAkxLjk3DQorKysgaWZfZXRoZXJzdWJyLmMJNCBP Y3QgMjAwMSAxMDozNzoyMCAtMDAwMA0KQEAgLTEzNywzOSArMTM3LDE5IEBA DQogCXNob3J0IHR5cGU7DQogCWludCBlcnJvciA9IDAsIGhkcmNtcGx0ID0g MDsNCiAgCXVfY2hhciBlc3JjWzZdLCBlZHN0WzZdOw0KLQlyZWdpc3RlciBz dHJ1Y3QgcnRlbnRyeSAqcnQ7DQotCXJlZ2lzdGVyIHN0cnVjdCBldGhlcl9o ZWFkZXIgKmVoOw0KKwlzdHJ1Y3QgcnRlbnRyeSAqcnQ7DQorCXN0cnVjdCBl dGhlcl9oZWFkZXIgKmVoOw0KIAlpbnQgb2ZmLCBsb29wX2NvcHkgPSAwOw0K IAlpbnQgaGxlbjsJLyogbGluayBsYXllciBoZWFkZXIgbGVuZ2h0ICovDQog CXN0cnVjdCBhcnBjb20gKmFjID0gSUZQMkFDKGlmcCk7DQogDQogCWlmICgo aWZwLT5pZl9mbGFncyAmIChJRkZfVVB8SUZGX1JVTk5JTkcpKSAhPSAoSUZG X1VQfElGRl9SVU5OSU5HKSkNCiAJCXNlbmRlcnIoRU5FVERPV04pOw0KLQly dCA9IHJ0MDsNCi0JaWYgKHJ0KSB7DQotCQlpZiAoKHJ0LT5ydF9mbGFncyAm IFJURl9VUCkgPT0gMCkgew0KLQkJCXJ0MCA9IHJ0ID0gcnRhbGxvYzEoZHN0 LCAxLCAwVUwpOw0KLQkJCWlmIChydDApDQotCQkJCXJ0LT5ydF9yZWZjbnQt LTsNCi0JCQllbHNlDQotCQkJCXNlbmRlcnIoRUhPU1RVTlJFQUNIKTsNCi0J CX0NCi0JCWlmIChydC0+cnRfZmxhZ3MgJiBSVEZfR0FURVdBWSkgew0KLQkJ CWlmIChydC0+cnRfZ3dyb3V0ZSA9PSAwKQ0KLQkJCQlnb3RvIGxvb2t1cDsN Ci0JCQlpZiAoKChydCA9IHJ0LT5ydF9nd3JvdXRlKS0+cnRfZmxhZ3MgJiBS VEZfVVApID09IDApIHsNCi0JCQkJcnRmcmVlKHJ0KTsgcnQgPSBydDA7DQot CQkJbG9va3VwOiBydC0+cnRfZ3dyb3V0ZSA9IHJ0YWxsb2MxKHJ0LT5ydF9n YXRld2F5LCAxLA0KLQkJCQkJCQkgIDBVTCk7DQotCQkJCWlmICgocnQgPSBy dC0+cnRfZ3dyb3V0ZSkgPT0gMCkNCi0JCQkJCXNlbmRlcnIoRUhPU1RVTlJF QUNIKTsNCi0JCQl9DQotCQl9DQotCQlpZiAocnQtPnJ0X2ZsYWdzICYgUlRG X1JFSkVDVCkNCi0JCQlpZiAocnQtPnJ0X3JteC5ybXhfZXhwaXJlID09IDAg fHwNCi0JCQkgICAgdGltZV9zZWNvbmQgPCBydC0+cnRfcm14LnJteF9leHBp cmUpDQotCQkJCXNlbmRlcnIocnQgPT0gcnQwID8gRUhPU1RET1dOIDogRUhP U1RVTlJFQUNIKTsNCi0JfQ0KKw0KKwllcnJvciA9IHJ0X3Jlc29sdigmcnQs ICZydDAsIGRzdCk7DQorCWlmIChlcnJvcikNCisJCWdvdG8gYmFkOw0KKw0K IAlobGVuID0gRVRIRVJfSERSX0xFTjsNCiAJc3dpdGNoIChkc3QtPnNhX2Zh bWlseSkgew0KICNpZmRlZiBJTkVUDQo= --0-1450228721-1002193032=:38937-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message