From owner-freebsd-net@FreeBSD.ORG Wed Jan 12 16:20:13 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4BCE106566B for ; Wed, 12 Jan 2011 16:20:13 +0000 (UTC) (envelope-from lev@serebryakov.spb.ru) Received: from ftp.translate.ru (ftp.translate.ru [80.249.188.42]) by mx1.freebsd.org (Postfix) with ESMTP id 6149B8FC0A for ; Wed, 12 Jan 2011 16:20:13 +0000 (UTC) Received: from lion.home.serebryakov.spb.ru (89.112.15.178.pppoe.eltel.net [89.112.15.178]) (Authenticated sender: lev@serebryakov.spb.ru) by ftp.translate.ru (Postfix) with ESMTPA id C2C3D13DF5F for ; Wed, 12 Jan 2011 19:20:11 +0300 (MSK) Date: Wed, 12 Jan 2011 19:20:09 +0300 From: Lev Serebryakov X-Priority: 3 (Normal) Message-ID: <36074996.20110112192009@serebryakov.spb.ru> To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------7D1CC93EC99850" Subject: [patch] re(4) problems on networks with disabled autonegotiation "solver" (WAS: Juniper e3k with ports limitied to...) -- REQUEST FOR REVIEW X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Jan 2011 16:20:13 -0000 ------------7D1CC93EC99850 Content-Type: text/plain; charset=windows-1251 Content-Transfer-Encoding: quoted-printable Hello, Freebsd-net. Thanks to Pyun YongHyeon, who point me at fact, that rgephy(4) used with re(4) does autonegotiation always and all other, who helps me diagnose problem! I've prepared patch, which adds tunable/sysctl for rgephy(4) which allows not to sue autonegotiation by this PHY (at user responsibility, as here is PHYs which CAN NOT live without autonegotiation). It is OFF by default, and in such case behavior of driver IS NOT CHANGED. But if it is set ON (non-zero value) before "media / mediopt" changes via "ifconfig" autonegotiation IS NOT set with 10/100Mbit settings. I've documented this new tunable in re(4) manpage, as here is no rgephy(4) manpage. Tunable is per-device, not global one. Sysctl can be set after boot, but will affect only future ifconfig calls, it doesn't change anything in PHY settings by itself. It allows fully manual setup on non-buggy hardware, which allows to use Hetzner dedicated servers with FreeBSD without additional NIC or gigabit connection. I've tested this patch on FreeBSD 8-STABLE on Hetzner server and it allows me to get full-duplex 100Mbit connection and I got 11MiB/s from local NFS with it. Without this patch FreeBSD is unusable on Hetzner dedicated servers in newer DCs (DC 13 and DC 14). Patch is attached. I think, it worths to include it to base system, as it allows use FreeBSD at least on one very large and popular hosting provider without additional costs :) --=20 // Black Lion AKA Lev Serebryakov ------------7D1CC93EC99850 Content-Type: application/octet-stream; name="rgephy.patch" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rgephy.patch" ZGlmZiAtcnVOIC9tbnQvc3JjL3NoYXJlL21hbi9tYW40L3JlLjQgc2hhcmUvbWFuL21hbjQv cmUuNAotLS0gL21udC9zcmMvc2hhcmUvbWFuL21hbjQvcmUuNAkyMDExLTAxLTEyIDE2OjE0 OjI4LjAwMDAwMDAwMCArMDMwMAorKysgc2hhcmUvbWFuL21hbjQvcmUuNAkyMDExLTAxLTEy IDE5OjAwOjExLjAwMDAwMDAwMCArMDMwMApAQCAtMTc4LDYgKzE3OCwyNiBAQAogLkl0IFZh IGh3LnJlLm1zaV9kaXNhYmxlCiBUaGlzIHR1bmFibGUgZGlzYWJsZXMgTVNJIHN1cHBvcnQg b24gdGhlIEV0aGVybmV0IGhhcmR3YXJlLgogVGhlIGRlZmF1bHQgdmFsdWUgaXMgMC4KKy5J dCBWYSBkZXYucmdlcGh5LiVkLmF1dG9uZWdfY2FuX2JlX2Rpc2FibGVkCitCeSBkZWZhdWx0 LCByZ2VwaHksIFBIWSB1c2VkIHdpdGggc3VwcG9ydGVkIFJlYWx0ZWsgY29udHJvbGxlcnMs IGFsd2F5cwordXNlcyBhdXRvbmVnb3RpYXRpb24sIGV2ZW4gaWYKKy5DbSBtZWRpYQorb3IK Ky5DbSBtZGVpYW9wdAorYXJlIHNwZWNpZmllZCBieSB1c2VyLiBJdCBpcyBkb25lIHRvIGF2 b2lkIGJ1ZyBpbiBzb21lIFBIWQoraW1wbGVtZW50YXRpb25zLiBTb21ldGltZXMgeW91IG5l ZWQgdG8gZGlzYWJsZSBhdXRvbmVnb3RpYXRpb24gYW55d2hlcmUuCitUaGlzIHR1bmFibGUs IGlmIHNldCB0byBub24temVybyB2YWx1ZSwgZW5hYmxlcyB0byB1c2UgbWFudWFsIG1lZGlh IHNldHRpbmdzCit3aXRob3V0IGF1dG9uZWdvdGVhdGlvbiBhdCBhbGwuIElmIAorLkNtIG1l ZGlhCitpcyBzZXQgYXMgCisuQ20gYXV0b3NlbGVjdAorYXV0b25lZ290aWF0aW9uIHdpbGwg bm90IGRlcGVuZCBvbiB0aGlzIHR1bmFibGUuIFRoaXMgdHVuYWJsZSBpcyBhY2Nlc3NpYmxl CithcyBzeXNjdGwgdG9vLCBidXQgYWZmZWN0cyBvbmx5IGZ1dHVyZSB1c2luZyBvZiAKKy5D bSBtZWRpYQorYW5kCisuQ20gbWVkaWFvcHQKK29wdGlvbnMgb2YKKy5YciBpZmNvbmZpZyA4 CiAuRWwKIC5TaCBESUFHTk9TVElDUwogLkJsIC1kaWFnCmRpZmYgLXJ1TiAvbW50L3NyYy9z eXMvZGV2L21paS9yZ2VwaHkuYyBzeXMvZGV2L21paS9yZ2VwaHkuYwotLS0gL21udC9zcmMv c3lzL2Rldi9taWkvcmdlcGh5LmMJMjAxMS0wMS0xMiAxNjoxNDoyNi4wMDAwMDAwMDAgKzAz MDAKKysrIHN5cy9kZXYvbWlpL3JnZXBoeS5jCTIwMTEtMDEtMTIgMTg6NTI6MDYuMDAwMDAw MDAwICswMzAwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8c3lzL2tlcm5lbC5oPgog I2luY2x1ZGUgPHN5cy9tb2R1bGUuaD4KICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5j bHVkZSA8c3lzL3N5c2N0bC5oPgogI2luY2x1ZGUgPHN5cy9idXMuaD4KIAogI2luY2x1ZGUg PG5ldC9pZi5oPgpAQCAtNjYsNiArNjcsNyBAQAogCXN0cnVjdCBtaWlfc29mdGMgbWlpX3Nj OwogCWludCBtaWlfbW9kZWw7CiAJaW50IG1paV9yZXZpc2lvbjsKKwlpbnQgbWlpX2F1dG9u ZWdfY2FuX2JlX2Rpc2FibGVkOwogfTsKIAogc3RhdGljIGRldmljZV9tZXRob2RfdCByZ2Vw aHlfbWV0aG9kc1tdID0gewpAQCAtMTEzLDYgKzExNSw3IEBACiAJc3RydWN0IG1paV9zb2Z0 YyAqc2M7CiAJc3RydWN0IG1paV9hdHRhY2hfYXJncyAqbWE7CiAJc3RydWN0IG1paV9kYXRh ICptaWk7CisJY2hhciB0bls2NF07CiAKIAlyc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7 CiAJc2MgPSAmcnNjLT5taWlfc2M7CkBAIC0xMjksNiArMTMyLDE2IEBACiAKIAlyc2MtPm1p aV9tb2RlbCA9IE1JSV9NT0RFTChtYS0+bWlpX2lkMik7CiAJcnNjLT5taWlfcmV2aXNpb24g PSBNSUlfUkVWKG1hLT5taWlfaWQyKTsKKwkKKwlyc2MtPm1paV9hdXRvbmVnX2Nhbl9iZV9k aXNhYmxlZCA9IDA7CisJc25wcmludGYodG4sIHNpemVvZih0biksICJkZXYuJXMuJWQuYXV0 b25lZ19jYW5fYmVfZGlzYWJsZWQiLAorCSAgICBkZXZpY2VfZ2V0X25hbWUoZGV2KSwgZGV2 aWNlX2dldF91bml0KGRldikpOworCVRVTkFCTEVfSU5UX0ZFVENIKHRuLCAmcnNjLT5taWlf YXV0b25lZ19jYW5fYmVfZGlzYWJsZWQpOworCVNZU0NUTF9BRERfSU5UKGRldmljZV9nZXRf c3lzY3RsX2N0eChkZXYpLAorCSAgICBTWVNDVExfQ0hJTERSRU4oZGV2aWNlX2dldF9zeXNj dGxfdHJlZShkZXYpKSwKKwkgICAgT0lEX0FVVE8sICJhdXRvbmVnX2Nhbl9iZV9kaXNhYmxl ZCIsIENUTEZMQUdfUlcsCisJICAgICZyc2MtPm1paV9hdXRvbmVnX2Nhbl9iZV9kaXNhYmxl ZCwgMCwKKwkgICAgIkF1dG9uZWdhdGlvbiBjYW4gYmUgZGlzYWJsZWQgb24gYWRhcHRlciIp OwogCiAjZGVmaW5lCUFERChtLCBjKQlpZm1lZGlhX2FkZCgmbWlpLT5taWlfbWVkaWEsICht KSwgKGMpLCBOVUxMKQogCkBAIC0yMTMsMTEgKzIyNiwxMiBAQAogCQkJfQogCiAJCQlpZiAo SUZNX1NVQlRZUEUoaWZlLT5pZm1fbWVkaWEpICE9IElGTV8xMDAwX1QpIHsKKwkJCQlpZiAo IXJzYy0+bWlpX2F1dG9uZWdfY2FuX2JlX2Rpc2FibGVkKQorCQkJCQlzcGVlZCB8PSBSR0VQ SFlfQk1DUl9BVVRPRU4gfAorCQkJCQkgICAgUkdFUEhZX0JNQ1JfU1RBUlRORUc7CiAJCQkJ UEhZX1dSSVRFKHNjLCBSR0VQSFlfTUlJXzEwMDBDVEwsIDApOwogCQkJCVBIWV9XUklURShz YywgUkdFUEhZX01JSV9BTkFSLCBhbmFyKTsKLQkJCQlQSFlfV1JJVEUoc2MsIFJHRVBIWV9N SUlfQk1DUiwgc3BlZWQgfAotCQkJCSAgICBSR0VQSFlfQk1DUl9BVVRPRU4gfAotCQkJCSAg ICBSR0VQSFlfQk1DUl9TVEFSVE5FRyk7CisJCQkJUEhZX1dSSVRFKHNjLCBSR0VQSFlfTUlJ X0JNQ1IsIHNwZWVkKTsKIAkJCQlicmVhazsKIAkJCX0KIAo= ------------7D1CC93EC99850--