Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Apr 1999 13:54:05 -0400 (EDT)
From:      Larry Lile <lile@stdio.com>
To:        ip@mcc.ac.uk
Cc:        current@FreeBSD.ORG
Subject:   Patch to fix [Re: Bad, reliable crash: Julian's "oltr" stuff & ARP]
Message-ID:  <Pine.BSF.4.05.9904141308310.3818-200000@heathers.stdio.com>
In-Reply-To: <199904121605.RAA47641@albatross.mcc.ac.uk>

next in thread | previous 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.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-1609105550-924112445=:3818
Content-Type: TEXT/PLAIN; charset=US-ASCII


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-1609105550-924112445=:3818
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="if_ether.c.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.05.9904141354050.3818@heathers.stdio.com>
Content-Description: ARP fix
Content-Disposition: attachment; filename="if_ether.c.patch"

KioqIGlmX2V0aGVyLmMub3JpZwlXZWQgQXByIDE0IDA5OjU0OjM1IDE5OTkN
Ci0tLSBpZl9ldGhlci5jCVdlZCBBcHIgMTQgMTI6NTA6MDIgMTk5OQ0KKioq
KioqKioqKioqKioqDQoqKiogNTYwLDU2NyAqKioqDQogIAkJKHZvaWQpbWVt
Y3B5KExMQUREUihzZGwpLCBlYS0+YXJwX3NoYSwgc2l6ZW9mKGVhLT5hcnBf
c2hhKSk7DQogIAkJc2RsLT5zZGxfYWxlbiA9IHNpemVvZihlYS0+YXJwX3No
YSk7DQogICAgICAgICAgICAgICAgICBzZGwtPnNkbF9yY2YgPSBOVUxMOw0K
ISAJCS8qIFNhdmUgc291cmNlIHJvdXRpbmcgaW5mb3JtYXRpb24gZm9yIFRv
a2VuLXJpbmcgaW50ZXJmYWNlcywgaWYgYXZhaWxhYmxlICovDQohIAkJaWYg
KGVhLT5hcnBfaHJkID09IGh0b25zKEFSUEhSRF9JRUVFODAyKSkgew0KICAJ
CQl0aCA9IChzdHJ1Y3QgaXNvODgwMjVfaGVhZGVyICopbS0+bV9wa3RoZHIu
aGVhZGVyOw0KICAgICAgICAgICAgICAgICAgCWlmICgodGgtPmlzbzg4MDI1
X3Nob3N0WzBdICYgMHg4MCkgJiYgKCgobnRvaHModGgtPnJjZikgJiAweDFm
MDApID4+IDgpID4gMikpIHsNCiAgCQkJCXNkbC0+c2RsX3JjZiA9IG50b2hz
KHRoLT5yY2YpICYgMHgwMDgwID8gDQotLS0gNTYwLDU2OSAtLS0tDQogIAkJ
KHZvaWQpbWVtY3B5KExMQUREUihzZGwpLCBlYS0+YXJwX3NoYSwgc2l6ZW9m
KGVhLT5hcnBfc2hhKSk7DQogIAkJc2RsLT5zZGxfYWxlbiA9IHNpemVvZihl
YS0+YXJwX3NoYSk7DQogICAgICAgICAgICAgICAgICBzZGwtPnNkbF9yY2Yg
PSBOVUxMOw0KISAJCS8qIElmIHdlIHJlY2VpdmUgYW4gYXJwIGZyb20gYSB0
b2tlbi1yaW5nIHN0YXRpb24gb3ZlciBhIHRva2VuLXJpbmcgbmljDQohIAkJ
ICogdGhlbiB0cnkgdG8gc2F2ZSB0aGUgc291cmNlIHJvdXRpbmcgaW5mby4N
CiEgCQkgKi8NCiEgCQlpZiAoKGFjLT5hY19pZi5pZl90eXBlID09IElGVF9J
U084ODAyNSkgJiYgKGVhLT5hcnBfaHJkID09IGh0b25zKEFSUEhSRF9JRUVF
ODAyKSkpIHsNCiAgCQkJdGggPSAoc3RydWN0IGlzbzg4MDI1X2hlYWRlciAq
KW0tPm1fcGt0aGRyLmhlYWRlcjsNCiAgICAgICAgICAgICAgICAgIAlpZiAo
KHRoLT5pc284ODAyNV9zaG9zdFswXSAmIDB4ODApICYmICgoKG50b2hzKHRo
LT5yY2YpICYgMHgxZjAwKSA+PiA4KSA+IDIpKSB7DQogIAkJCQlzZGwtPnNk
bF9yY2YgPSBudG9ocyh0aC0+cmNmKSAmIDB4MDA4MCA/IA0KKioqKioqKioq
KioqKioqDQoqKiogNTc4LDU4MyAqKioqDQotLS0gNTgwLDU4NyAtLS0tDQog
IAkJCX0NCiAgCQkJdGgtPnJjZiA9IHNkbC0+c2RsX3JjZjsNCiAgCQkJDQor
IAkJfSBlbHNlIHsNCisgCQkJc2RsLT5zZGxfcmNmID0gTlVMTDsNCiAgCQl9
DQogIAkJaWYgKHJ0LT5ydF9leHBpcmUpDQogIAkJCXJ0LT5ydF9leHBpcmUg
PSB0aW1lX3NlY29uZCArIGFycHRfa2VlcDsNCioqKioqKioqKioqKioqKg0K
KioqIDY0Nyw2NTQgKioqKg0KICAJKHZvaWQpbWVtY3B5KGVhLT5hcnBfc3Bh
LCAmaXRhZGRyLCBzaXplb2YoZWEtPmFycF9zcGEpKTsNCiAgCWVhLT5hcnBf
b3AgPSBodG9ucyhBUlBPUF9SRVBMWSk7DQogIAllYS0+YXJwX3BybyA9IGh0
b25zKEVUSEVSVFlQRV9JUCk7IC8qIGxldCdzIGJlIHN1cmUhICovDQohIAlz
d2l0Y2ggKG50b2hzKGVhLT5hcnBfaHJkKSkgew0KISAJY2FzZSBBUlBIUkRf
SUVFRTgwMjoNCiAgCQkvKiBSZS1hcnJhbmdlIHRoZSBzb3VyY2UvZGVzdCBh
ZGRyZXNzICovDQogIAkJbWVtY3B5KHRoLT5pc284ODAyNV9kaG9zdCwgdGgt
Pmlzbzg4MDI1X3Nob3N0LCBzaXplb2YodGgtPmlzbzg4MDI1X2Rob3N0KSk7
DQogIAkJbWVtY3B5KHRoLT5pc284ODAyNV9zaG9zdCwgYWMtPmFjX2VuYWRk
ciwgc2l6ZW9mKHRoLT5pc284ODAyNV9zaG9zdCkpOw0KLS0tIDY1MSw2NTgg
LS0tLQ0KICAJKHZvaWQpbWVtY3B5KGVhLT5hcnBfc3BhLCAmaXRhZGRyLCBz
aXplb2YoZWEtPmFycF9zcGEpKTsNCiAgCWVhLT5hcnBfb3AgPSBodG9ucyhB
UlBPUF9SRVBMWSk7DQogIAllYS0+YXJwX3BybyA9IGh0b25zKEVUSEVSVFlQ
RV9JUCk7IC8qIGxldCdzIGJlIHN1cmUhICovDQohIAlzd2l0Y2ggKGFjLT5h
Y19pZi5pZl90eXBlKSB7DQohIAljYXNlIElGVF9JU084ODAyNToNCiAgCQkv
KiBSZS1hcnJhbmdlIHRoZSBzb3VyY2UvZGVzdCBhZGRyZXNzICovDQogIAkJ
bWVtY3B5KHRoLT5pc284ODAyNV9kaG9zdCwgdGgtPmlzbzg4MDI1X3Nob3N0
LCBzaXplb2YodGgtPmlzbzg4MDI1X2Rob3N0KSk7DQogIAkJbWVtY3B5KHRo
LT5pc284ODAyNV9zaG9zdCwgYWMtPmFjX2VuYWRkciwgc2l6ZW9mKHRoLT5p
c284ODAyNV9zaG9zdCkpOw0KKioqKioqKioqKioqKioqDQoqKiogNjYzLDY2
OSAqKioqDQogIAkJc2Euc2FfZGF0YVsoc2l6ZW9mKHRoLT5pc284ODAyNV9k
aG9zdCkgKiAyKV0gPSAweDEwOw0KICAJCXNhLnNhX2RhdGFbKHNpemVvZih0
aC0+aXNvODgwMjVfZGhvc3QpICogMikgKyAxXSA9IDB4NDA7DQogIAkJYnJl
YWs7DQohIAljYXNlIEFSUEhSRF9FVEhFUjoNCiAgCQllaCA9IChzdHJ1Y3Qg
ZXRoZXJfaGVhZGVyICopc2Euc2FfZGF0YTsNCiAgCQkodm9pZCltZW1jcHko
ZWgtPmV0aGVyX2Rob3N0LCBlYS0+YXJwX3RoYSwgc2l6ZW9mKGVoLT5ldGhl
cl9kaG9zdCkpOw0KICAJCWVoLT5ldGhlcl90eXBlID0gaHRvbnMoRVRIRVJU
WVBFX0FSUCk7DQotLS0gNjY3LDY3MyAtLS0tDQogIAkJc2Euc2FfZGF0YVso
c2l6ZW9mKHRoLT5pc284ODAyNV9kaG9zdCkgKiAyKV0gPSAweDEwOw0KICAJ
CXNhLnNhX2RhdGFbKHNpemVvZih0aC0+aXNvODgwMjVfZGhvc3QpICogMikg
KyAxXSA9IDB4NDA7DQogIAkJYnJlYWs7DQohIAljYXNlIElGVF9FVEhFUjoN
CiAgCQllaCA9IChzdHJ1Y3QgZXRoZXJfaGVhZGVyICopc2Euc2FfZGF0YTsN
CiAgCQkodm9pZCltZW1jcHkoZWgtPmV0aGVyX2Rob3N0LCBlYS0+YXJwX3Ro
YSwgc2l6ZW9mKGVoLT5ldGhlcl9kaG9zdCkpOw0KICAJCWVoLT5ldGhlcl90
eXBlID0gaHRvbnMoRVRIRVJUWVBFX0FSUCk7DQo=
--0-1609105550-924112445=:3818--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9904141308310.3818-200000>