From owner-freebsd-current Wed Apr 14 11:49:55 1999 Delivered-To: freebsd-current@freebsd.org Received: from heathers.stdio.com (heathers.stdio.com [199.89.192.5]) by hub.freebsd.org (Postfix) with ESMTP id EA46C15808 for ; Wed, 14 Apr 1999 11:49:51 -0700 (PDT) (envelope-from lile@stdio.com) Received: from heathers.stdio.com (lile@heathers.stdio.com [199.89.192.5]) by heathers.stdio.com (8.8.8/8.8.8) with ESMTP id OAA16847; Wed, 14 Apr 1999 14:47:22 -0400 (EDT) (envelope-from lile@stdio.com) Date: Wed, 14 Apr 1999 14:47:22 -0400 (EDT) From: Larry Lile To: ip@mcc.ac.uk Cc: current@FreeBSD.ORG Subject: Re: Patch to fix [Re: Bad, reliable crash: Julian's "oltr" stuff & ARP] In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-2124461379-924115642=:3818" Sender: owner-freebsd-current@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-2124461379-924115642=:3818 Content-Type: TEXT/PLAIN; charset=US-ASCII Okay, that one is just a little too strong. It won't allow a FreeBSD token-ring station to arp-reply to an ethernet station on the other side of a "broken" translational bridge. This one will. Larry Lile lile@stdio.com On Wed, 14 Apr 1999, Larry Lile wrote: > > The problem Mr. Pallfreeman was seeing are related to how I was > building the arp-reply based on the sources arp_hrd type. I never > expected to see a token-ring arp arrive over an ethernet interface. > Therefore the arp code was trying to check for and collect the > source route that the arp took on its way. I have modified the > arp code to go looking for the source-route information only if > the arp comes from a token-ring station and is received on a > token-ring interface. The arp-reply packet generated is based > on the type of interface the arp was received on. I think > the bridge should have changed the arp_hrd type when it forwarded > the packet, while it was changing everything else, but I think > that falls into a religous debate. Thanks to Mr. Pallfreeman > for helping me debug this and testing my patch. > > What this means is: you should be able to arp in both directions > over a token-ring<->ethernet (translational|non-translational) bridge. > > The inherent "brokenness" of translational bridging is left as an > exercise for the reader :) > > Here's the patch, if someone would be kind enough to commit it. It > seems to have resolved Mr. Pallfreeman's issue and doesn't seem to > break anything else. > > Larry Lile > lile@stdio.com > --0-2124461379-924115642=:3818 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="if_ether.c.patch" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: ARP Patch revisited Content-Disposition: attachment; filename="if_ether.c.patch" KioqIGlmX2V0aGVyLmMub3JpZwlNb24gTWFyICA4IDEzOjIyOjQxIDE5OTkN Ci0tLSBpZl9ldGhlci5jCVdlZCBBcHIgMTQgMTQ6NDM6NDEgMTk5OQ0KKioq KioqKioqKioqKioqDQoqKiogNTU5LDU2NiAqKioqDQogIAkJKHZvaWQpbWVt Y3B5KExMQUREUihzZGwpLCBlYS0+YXJwX3NoYSwgc2l6ZW9mKGVhLT5hcnBf c2hhKSk7DQogIAkJc2RsLT5zZGxfYWxlbiA9IHNpemVvZihlYS0+YXJwX3No YSk7DQogICAgICAgICAgICAgICAgICBzZGwtPnNkbF9yY2YgPSBOVUxMOw0K ISAJCS8qIFNhdmUgc291cmNlIHJvdXRpbmcgaW5mb3JtYXRpb24gZm9yIFRv a2VuLXJpbmcgaW50ZXJmYWNlcywgaWYgYXZhaWxhYmxlICovDQohIAkJaWYg KGVhLT5hcnBfaHJkID09IGh0b25zKEFSUEhSRF9JRUVFODAyKSkgew0KICAJ CQl0aCA9IChzdHJ1Y3QgaXNvODgwMjVfaGVhZGVyICopbS0+bV9wa3RoZHIu aGVhZGVyOw0KICAgICAgICAgICAgICAgICAgCWlmICgodGgtPmlzbzg4MDI1 X3Nob3N0WzBdICYgMHg4MCkgJiYgKCgobnRvaHModGgtPnJjZikgJiAweDFm MDApID4+IDgpID4gMikpIHsNCiAgCQkJCXNkbC0+c2RsX3JjZiA9IG50b2hz KHRoLT5yY2YpICYgMHgwMDgwID8gDQotLS0gNTU5LDU2OCAtLS0tDQogIAkJ KHZvaWQpbWVtY3B5KExMQUREUihzZGwpLCBlYS0+YXJwX3NoYSwgc2l6ZW9m KGVhLT5hcnBfc2hhKSk7DQogIAkJc2RsLT5zZGxfYWxlbiA9IHNpemVvZihl YS0+YXJwX3NoYSk7DQogICAgICAgICAgICAgICAgICBzZGwtPnNkbF9yY2Yg PSBOVUxMOw0KISAJCS8qIElmIHdlIHJlY2VpdmUgYW4gYXJwIGZyb20gYSB0 b2tlbi1yaW5nIHN0YXRpb24gb3ZlciBhIHRva2VuLXJpbmcgbmljDQohIAkJ ICogdGhlbiB0cnkgdG8gc2F2ZSB0aGUgc291cmNlIHJvdXRpbmcgaW5mby4N CiEgCQkgKi8NCiEgCQlpZiAoYWMtPmFjX2lmLmlmX3R5cGUgPT0gSUZUX0lT Tzg4MDI1KSB7DQogIAkJCXRoID0gKHN0cnVjdCBpc284ODAyNV9oZWFkZXIg KiltLT5tX3BrdGhkci5oZWFkZXI7DQogICAgICAgICAgICAgICAgICAJaWYg KCh0aC0+aXNvODgwMjVfc2hvc3RbMF0gJiAweDgwKSAmJiAoKChudG9ocyh0 aC0+cmNmKSAmIDB4MWYwMCkgPj4gOCkgPiAyKSkgew0KICAJCQkJc2RsLT5z ZGxfcmNmID0gbnRvaHModGgtPnJjZikgJiAweDAwODAgPyANCioqKioqKioq KioqKioqKg0KKioqIDU3Nyw1ODIgKioqKg0KLS0tIDU3OSw1ODYgLS0tLQ0K ICAJCQl9DQogIAkJCXRoLT5yY2YgPSBzZGwtPnNkbF9yY2Y7DQogIAkJCQ0K KyAJCX0gZWxzZSB7DQorIAkJCXNkbC0+c2RsX3JjZiA9IE5VTEw7DQogIAkJ fQ0KICAJCWlmIChydC0+cnRfZXhwaXJlKQ0KICAJCQlydC0+cnRfZXhwaXJl ID0gdGltZV9zZWNvbmQgKyBhcnB0X2tlZXA7DQoqKioqKioqKioqKioqKioN CioqKiA2NDYsNjUzICoqKioNCiAgCSh2b2lkKW1lbWNweShlYS0+YXJwX3Nw YSwgJml0YWRkciwgc2l6ZW9mKGVhLT5hcnBfc3BhKSk7DQogIAllYS0+YXJw X29wID0gaHRvbnMoQVJQT1BfUkVQTFkpOw0KICAJZWEtPmFycF9wcm8gPSBo dG9ucyhFVEhFUlRZUEVfSVApOyAvKiBsZXQncyBiZSBzdXJlISAqLw0KISAJ c3dpdGNoIChudG9ocyhlYS0+YXJwX2hyZCkpIHsNCiEgCWNhc2UgQVJQSFJE X0lFRUU4MDI6DQogIAkJLyogUmUtYXJyYW5nZSB0aGUgc291cmNlL2Rlc3Qg YWRkcmVzcyAqLw0KICAJCW1lbWNweSh0aC0+aXNvODgwMjVfZGhvc3QsIHRo LT5pc284ODAyNV9zaG9zdCwgc2l6ZW9mKHRoLT5pc284ODAyNV9kaG9zdCkp Ow0KICAJCW1lbWNweSh0aC0+aXNvODgwMjVfc2hvc3QsIGFjLT5hY19lbmFk ZHIsIHNpemVvZih0aC0+aXNvODgwMjVfc2hvc3QpKTsNCi0tLSA2NTAsNjU3 IC0tLS0NCiAgCSh2b2lkKW1lbWNweShlYS0+YXJwX3NwYSwgJml0YWRkciwg c2l6ZW9mKGVhLT5hcnBfc3BhKSk7DQogIAllYS0+YXJwX29wID0gaHRvbnMo QVJQT1BfUkVQTFkpOw0KICAJZWEtPmFycF9wcm8gPSBodG9ucyhFVEhFUlRZ UEVfSVApOyAvKiBsZXQncyBiZSBzdXJlISAqLw0KISAJc3dpdGNoIChhYy0+ YWNfaWYuaWZfdHlwZSkgew0KISAJY2FzZSBJRlRfSVNPODgwMjU6DQogIAkJ LyogUmUtYXJyYW5nZSB0aGUgc291cmNlL2Rlc3QgYWRkcmVzcyAqLw0KICAJ CW1lbWNweSh0aC0+aXNvODgwMjVfZGhvc3QsIHRoLT5pc284ODAyNV9zaG9z dCwgc2l6ZW9mKHRoLT5pc284ODAyNV9kaG9zdCkpOw0KICAJCW1lbWNweSh0 aC0+aXNvODgwMjVfc2hvc3QsIGFjLT5hY19lbmFkZHIsIHNpemVvZih0aC0+ aXNvODgwMjVfc2hvc3QpKTsNCioqKioqKioqKioqKioqKg0KKioqIDY2Miw2 NjggKioqKg0KICAJCXNhLnNhX2RhdGFbKHNpemVvZih0aC0+aXNvODgwMjVf ZGhvc3QpICogMildID0gMHgxMDsNCiAgCQlzYS5zYV9kYXRhWyhzaXplb2Yo dGgtPmlzbzg4MDI1X2Rob3N0KSAqIDIpICsgMV0gPSAweDQwOw0KICAJCWJy ZWFrOw0KISAJY2FzZSBBUlBIUkRfRVRIRVI6DQogIAkJZWggPSAoc3RydWN0 IGV0aGVyX2hlYWRlciAqKXNhLnNhX2RhdGE7DQogIAkJKHZvaWQpbWVtY3B5 KGVoLT5ldGhlcl9kaG9zdCwgZWEtPmFycF90aGEsIHNpemVvZihlaC0+ZXRo ZXJfZGhvc3QpKTsNCiAgCQllaC0+ZXRoZXJfdHlwZSA9IGh0b25zKEVUSEVS VFlQRV9BUlApOw0KLS0tIDY2Niw2NzIgLS0tLQ0KICAJCXNhLnNhX2RhdGFb KHNpemVvZih0aC0+aXNvODgwMjVfZGhvc3QpICogMildID0gMHgxMDsNCiAg CQlzYS5zYV9kYXRhWyhzaXplb2YodGgtPmlzbzg4MDI1X2Rob3N0KSAqIDIp ICsgMV0gPSAweDQwOw0KICAJCWJyZWFrOw0KISAJY2FzZSBJRlRfRVRIRVI6 DQogIAkJZWggPSAoc3RydWN0IGV0aGVyX2hlYWRlciAqKXNhLnNhX2RhdGE7 DQogIAkJKHZvaWQpbWVtY3B5KGVoLT5ldGhlcl9kaG9zdCwgZWEtPmFycF90 aGEsIHNpemVvZihlaC0+ZXRoZXJfZGhvc3QpKTsNCiAgCQllaC0+ZXRoZXJf dHlwZSA9IGh0b25zKEVUSEVSVFlQRV9BUlApOw0K --0-2124461379-924115642=:3818-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message