Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Nov 2010 11:10:37 +0100 (CET)
From:      Yamagi Burmeister <lists@yamagi.org>
To:        freebsd-net@freebsd.org
Subject:   [patch] WOL support for nfe(4)
Message-ID:  <alpine.BSF.2.00.1011051057350.9984@saya.home.yamagi.org>

next 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.

--2787499574-17269222-1288951846=:9984
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

Hi,

some time ago we migrated a lot of boxes from Linux to FreeBSD. Those
machines have a "NVIDIA nForce4 CK804 MCP4" network adapter, supported
by nfe(4). Even if nfe(4) at least tries to enable the WOL capability of
the NIC it doesn't work and nfe(4) doesn't integrate with FreeBSDs (new)
WOL framework. Since we are in need of WOL I spend some minutes to
implement it the correct way.

Attached are two patches:
- if_nfe_wol_8.1.diff against FreeBSD 8.1-RELEASE-p1, this one is used
   on our servers.
- if_nfe_wol_current.diff against -CURRENT r214831. This one is
   _untested_! But it should work...

In case that the patches a stripped by mailman they can be found here:
http://deponie.yamagi.org/freebsd/nfe/

This patch works reliable on our machines and nfe(4) runs without any
problems with it. But nevertheless my skills in writting network drivers
are somewhat limited therefor a review by somewhat with better knowledge
of the WOL framework and maybe nfe(4) itself is highly anticipated.

Ciao,
Yamagi

-- 
Homepage:     www.yamagi.org
Jabber:       yamagi@yamagi.org
GnuPG/GPG:    0xEFBCCBCB
--2787499574-17269222-1288951846=:9984
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=if_nfe_wol_current.diff
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.BSF.2.00.1011051110370.9984@saya.home.yamagi.org>
Content-Description: 
Content-Disposition: attachment; filename=if_nfe_wol_current.diff

LS0tIGlmX25mZS5jCTIwMTAtMTEtMDUgMTA6NDE6MDQuNjcyMzUxODc5ICsw
MTAwDQorKysgaWZfbmZlLmMJMjAxMC0xMS0wNSAxMDo0MTowOS4yNTk2ODk1
ODQgKzAxMDANCkBAIC0xMjUsNiArMTI1LDcgQEANCiBzdGF0aWMgdm9pZCBu
ZmVfc3lzY3RsX25vZGUoc3RydWN0IG5mZV9zb2Z0YyAqKTsNCiBzdGF0aWMg
dm9pZCBuZmVfc3RhdHNfY2xlYXIoc3RydWN0IG5mZV9zb2Z0YyAqKTsNCiBz
dGF0aWMgdm9pZCBuZmVfc3RhdHNfdXBkYXRlKHN0cnVjdCBuZmVfc29mdGMg
Kik7DQorc3RhdGljIHZvaWQgbmZlX2VuYWJsZV93b2woc3RydWN0IG5mZV9z
b2Z0YyAqKTsNCiANCiAjaWZkZWYgTkZFX0RFQlVHDQogc3RhdGljIGludCBu
ZmVkZWJ1ZyA9IDA7DQpAQCAtNTk5LDYgKzYwMCwxMCBAQA0KIAlpZnAtPmlm
X2NhcGFiaWxpdGllcyB8PSBJRkNBUF9QT0xMSU5HOw0KICNlbmRpZg0KIA0K
KwkvKiBXYWtlIG9uIExBTiBzdXBwb3J0ICovDQorCWlmcC0+aWZfY2FwYWJp
bGl0aWVzIHw9IElGQ0FQX1dPTF9NQUdJQzsNCisJaWZwLT5pZl9jYXBlbmFi
bGUgPSBpZnAtPmlmX2NhcGFiaWxpdGllczsNCisNCiAJLyogRG8gTUlJIHNl
dHVwICovDQogCWVycm9yID0gbWlpX2F0dGFjaChkZXYsICZzYy0+bmZlX21p
aWJ1cywgaWZwLCBuZmVfaWZtZWRpYV91cGQsDQogCSAgICBuZmVfaWZtZWRp
YV9zdHMsIEJNU1JfREVGQ0FQTUFTSywgTUlJX1BIWV9BTlksIE1JSV9PRkZT
RVRfQU5ZLCAwKTsNCkBAIC03NjksNiArNzc0LDEwIEBADQogDQogCU5GRV9M
T0NLKHNjKTsNCiAJaWZwID0gc2MtPm5mZV9pZnA7DQorDQorCS8qIERpc2Fi
bGUgV09MIGJpdHMgKi8NCisJTkZFX1dSSVRFKHNjLCBORkVfV09MX0NUTCwg
MCk7DQorDQogCWlmIChpZnAtPmlmX2ZsYWdzICYgSUZGX1VQKQ0KIAkJbmZl
X2luaXRfbG9ja2VkKHNjKTsNCiAJc2MtPm5mZV9zdXNwZW5kZWQgPSAwOw0K
QEAgLTE3NTIsNiArMTc2MSwxMiBAQA0KIAkJCQlpZnAtPmlmX2h3YXNzaXN0
ICY9IH5DU1VNX1RTTzsNCiAJCX0NCiANCisJCWlmICgobWFzayAmIElGQ0FQ
X1dPTCkgIT0gMCAmJg0KKwkJCShpZnAtPmlmX2NhcGFiaWxpdGllcyAmIElG
Q0FQX1dPTCkgIT0gMCkgew0KKwkJCQlpZiAoKG1hc2sgJiBJRkNBUF9XT0xf
TUFHSUMpICE9IDApDQorCQkJCQlpZnAtPmlmX2NhcGVuYWJsZSBePSBJRkNB
UF9XT0xfTUFHSUM7DQorCQl9DQorDQogCQlpZiAoaW5pdCA+IDAgJiYgKGlm
cC0+aWZfZHJ2X2ZsYWdzICYgSUZGX0RSVl9SVU5OSU5HKSAhPSAwKSB7DQog
CQkJaWZwLT5pZl9kcnZfZmxhZ3MgJj0gfklGRl9EUlZfUlVOTklORzsNCiAJ
CQluZmVfaW5pdChzYyk7DQpAQCAtMjc0Niw3ICsyNzYxLDYgQEANCiAJTkZF
X1dSSVRFKHNjLCBORkVfU1RBVFVTLCBzYy0+bWlpX3BoeWFkZHIgPDwgMjQg
fCBORkVfU1RBVFVTX01BR0lDKTsNCiANCiAJTkZFX1dSSVRFKHNjLCBORkVf
U0VUVVBfUjQsIE5GRV9SNF9NQUdJQyk7DQotCU5GRV9XUklURShzYywgTkZF
X1dPTF9DVEwsIE5GRV9XT0xfTUFHSUMpOw0KIA0KIAlzYy0+cnh0eGN0bCAm
PSB+TkZFX1JYVFhfQklUMjsNCiAJTkZFX1dSSVRFKHNjLCBORkVfUlhUWF9D
VEwsIHNjLT5yeHR4Y3RsKTsNCkBAIC0yODA2LDEyICsyODIwLDYgQEANCiAJ
LyogYWJvcnQgVHggKi8NCiAJTkZFX1dSSVRFKHNjLCBORkVfVFhfQ1RMLCAw
KTsNCiANCi0JLyogZGlzYWJsZSBSeCAqLw0KLQlORkVfV1JJVEUoc2MsIE5G
RV9SWF9DVEwsIDApOw0KLQ0KLQkvKiBkaXNhYmxlIGludGVycnVwdHMgKi8N
Ci0JbmZlX2Rpc2FibGVfaW50cihzYyk7DQotDQogCXNjLT5uZmVfbGluayA9
IDA7DQogDQogCS8qIGZyZWUgUnggYW5kIFR4IG1idWZzIHN0aWxsIGluIHRo
ZSBxdWV1ZXMuICovDQpAQCAtMjkyMyw5ICsyOTMxLDEyIEBADQogCXNjID0g
ZGV2aWNlX2dldF9zb2Z0YyhkZXYpOw0KIA0KIAlORkVfTE9DSyhzYyk7DQor
CW5mZV9lbmFibGVfd29sKHNjKTsNCisJTkZFX1VOTE9DSyhzYyk7DQorDQor
CU5GRV9MT0NLKHNjKTsNCiAJaWZwID0gc2MtPm5mZV9pZnA7DQogCW5mZV9z
dG9wKGlmcCk7DQotCS8qIG5mZV9yZXNldChzYyk7ICovDQogCU5GRV9VTkxP
Q0soc2MpOw0KIA0KIAlyZXR1cm4gKDApOw0KQEAgLTMyMTIsMyArMzIyMywx
NyBAQA0KIAkJc3RhdHMtPnJ4X2Jyb2FkY2FzdCArPSBORkVfUkVBRChzYywg
TkZFX1RYX0JST0FEQ0FTVCk7DQogCX0NCiB9DQorDQorc3RhdGljIHZvaWQN
CituZmVfZW5hYmxlX3dvbChzdHJ1Y3QgbmZlX3NvZnRjICpzYykNCit7DQor
CXN0cnVjdCBpZm5ldCAqaWZwOw0KKw0KKwlORkVfTE9DS19BU1NFUlQoc2Mp
Ow0KKw0KKwlpZnAgPSBzYy0+bmZlX2lmcDsNCisNCisJaWYgKChpZnAtPmlm
X2NhcGVuYWJsZSAmIElGQ0FQX1dPTF9NQUdJQykgIT0gMCkNCisJCU5GRV9X
UklURShzYywgTkZFX1dPTF9DVEwsIE5GRV9XT0xfTUFHSUMpOw0KK30NCisN
Cg==

--2787499574-17269222-1288951846=:9984
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=if_nfe_wol_8.1.diff
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.BSF.2.00.1011051110371.9984@saya.home.yamagi.org>
Content-Description: 
Content-Disposition: attachment; filename=if_nfe_wol_8.1.diff

LS0tIGlmX25mZS5jCTIwMTAtMTEtMDUgMTA6MzY6NDMuMzAwNzM4MTYxICsw
MTAwDQorKysgaWZfbmZlLmMJMjAxMC0xMS0wNSAxMDozOTowNC43MTI2MDM5
MTYgKzAxMDANCkBAIC0xMjUsNiArMTI1LDcgQEANCiBzdGF0aWMgdm9pZCBu
ZmVfc3lzY3RsX25vZGUoc3RydWN0IG5mZV9zb2Z0YyAqKTsNCiBzdGF0aWMg
dm9pZCBuZmVfc3RhdHNfY2xlYXIoc3RydWN0IG5mZV9zb2Z0YyAqKTsNCiBz
dGF0aWMgdm9pZCBuZmVfc3RhdHNfdXBkYXRlKHN0cnVjdCBuZmVfc29mdGMg
Kik7DQorc3RhdGljIHZvaWQgbmZlX2VuYWJsZV93b2woc3RydWN0IG5mZV9z
b2Z0YyAqKTsNCiANCiAjaWZkZWYgTkZFX0RFQlVHDQogc3RhdGljIGludCBu
ZmVkZWJ1ZyA9IDA7DQpAQCAtNjAwLDYgKzYwMSwxMCBAQA0KIAlpZnAtPmlm
X2NhcGFiaWxpdGllcyB8PSBJRkNBUF9QT0xMSU5HOw0KICNlbmRpZg0KIA0K
KwkvKiBXYWtlIG9uIExBTiBzdXBwb3J0ICovDQorCWlmcC0+aWZfY2FwYWJp
bGl0aWVzIHw9IElGQ0FQX1dPTF9NQUdJQzsNCisJaWZwLT5pZl9jYXBlbmFi
bGUgPSBpZnAtPmlmX2NhcGFiaWxpdGllczsNCisNCiAJLyogRG8gTUlJIHNl
dHVwICovDQogCWlmIChtaWlfcGh5X3Byb2JlKGRldiwgJnNjLT5uZmVfbWlp
YnVzLCBuZmVfaWZtZWRpYV91cGQsDQogCSAgICBuZmVfaWZtZWRpYV9zdHMp
KSB7DQpAQCAtNzcwLDYgKzc3NSwxMCBAQA0KIA0KIAlORkVfTE9DSyhzYyk7
DQogCWlmcCA9IHNjLT5uZmVfaWZwOw0KKw0KKwkvKiBEaXNhYmxlIFdPTCBi
aXRzICovDQorCU5GRV9XUklURShzYywgTkZFX1dPTF9DVEwsIDApOw0KKw0K
IAlpZiAoaWZwLT5pZl9mbGFncyAmIElGRl9VUCkNCiAJCW5mZV9pbml0X2xv
Y2tlZChzYyk7DQogCXNjLT5uZmVfc3VzcGVuZGVkID0gMDsNCkBAIC0xNzUz
LDYgKzE3NjIsMTIgQEANCiAJCQkJaWZwLT5pZl9od2Fzc2lzdCAmPSB+Q1NV
TV9UU087DQogCQl9DQogDQorCQlpZiAoKG1hc2sgJiBJRkNBUF9XT0wpICE9
IDAgJiYNCisJCQkoaWZwLT5pZl9jYXBhYmlsaXRpZXMgJiBJRkNBUF9XT0wp
ICE9IDApIHsNCisJCQkJaWYgKChtYXNrICYgSUZDQVBfV09MX01BR0lDKSAh
PSAwKQ0KKwkJCQkJaWZwLT5pZl9jYXBlbmFibGUgXj0gSUZDQVBfV09MX01B
R0lDOw0KKwkJfQ0KKw0KIAkJaWYgKGluaXQgPiAwICYmIChpZnAtPmlmX2Ry
dl9mbGFncyAmIElGRl9EUlZfUlVOTklORykgIT0gMCkgew0KIAkJCWlmcC0+
aWZfZHJ2X2ZsYWdzICY9IH5JRkZfRFJWX1JVTk5JTkc7DQogCQkJbmZlX2lu
aXQoc2MpOw0KQEAgLTI3NDcsNyArMjc2Miw2IEBADQogCU5GRV9XUklURShz
YywgTkZFX1NUQVRVUywgc2MtPm1paV9waHlhZGRyIDw8IDI0IHwgTkZFX1NU
QVRVU19NQUdJQyk7DQogDQogCU5GRV9XUklURShzYywgTkZFX1NFVFVQX1I0
LCBORkVfUjRfTUFHSUMpOw0KLQlORkVfV1JJVEUoc2MsIE5GRV9XT0xfQ1RM
LCBORkVfV09MX01BR0lDKTsNCiANCiAJc2MtPnJ4dHhjdGwgJj0gfk5GRV9S
WFRYX0JJVDI7DQogCU5GRV9XUklURShzYywgTkZFX1JYVFhfQ1RMLCBzYy0+
cnh0eGN0bCk7DQpAQCAtMjgwNywxMiArMjgyMSw2IEBADQogCS8qIGFib3J0
IFR4ICovDQogCU5GRV9XUklURShzYywgTkZFX1RYX0NUTCwgMCk7DQogDQot
CS8qIGRpc2FibGUgUnggKi8NCi0JTkZFX1dSSVRFKHNjLCBORkVfUlhfQ1RM
LCAwKTsNCi0NCi0JLyogZGlzYWJsZSBpbnRlcnJ1cHRzICovDQotCW5mZV9k
aXNhYmxlX2ludHIoc2MpOw0KLQ0KIAlzYy0+bmZlX2xpbmsgPSAwOw0KIA0K
IAkvKiBmcmVlIFJ4IGFuZCBUeCBtYnVmcyBzdGlsbCBpbiB0aGUgcXVldWVz
LiAqLw0KQEAgLTI5MjQsOSArMjkzMiwxMiBAQA0KIAlzYyA9IGRldmljZV9n
ZXRfc29mdGMoZGV2KTsNCiANCiAJTkZFX0xPQ0soc2MpOw0KKwluZmVfZW5h
YmxlX3dvbChzYyk7DQorCU5GRV9VTkxPQ0soc2MpOw0KKw0KKwlORkVfTE9D
SyhzYyk7DQogCWlmcCA9IHNjLT5uZmVfaWZwOw0KIAluZmVfc3RvcChpZnAp
Ow0KLQkvKiBuZmVfcmVzZXQoc2MpOyAqLw0KIAlORkVfVU5MT0NLKHNjKTsN
CiANCiAJcmV0dXJuICgwKTsNCkBAIC0zMjEzLDMgKzMyMjQsMTcgQEANCiAJ
CXN0YXRzLT5yeF9icm9hZGNhc3QgKz0gTkZFX1JFQUQoc2MsIE5GRV9UWF9C
Uk9BRENBU1QpOw0KIAl9DQogfQ0KKw0KK3N0YXRpYyB2b2lkDQorbmZlX2Vu
YWJsZV93b2woc3RydWN0IG5mZV9zb2Z0YyAqc2MpDQorew0KKwlzdHJ1Y3Qg
aWZuZXQgKmlmcDsNCisNCisJTkZFX0xPQ0tfQVNTRVJUKHNjKTsNCisNCisJ
aWZwID0gc2MtPm5mZV9pZnA7DQorDQorCWlmICgoaWZwLT5pZl9jYXBlbmFi
bGUgJiBJRkNBUF9XT0xfTUFHSUMpICE9IDApDQorCQlORkVfV1JJVEUoc2Ms
IE5GRV9XT0xfQ1RMLCBORkVfV09MX01BR0lDKTsNCit9DQorDQo=

--2787499574-17269222-1288951846=:9984--



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