Date: Tue, 11 Sep 2007 15:01:53 -0400 From: "Robert Wojciechowski" <robertw@expressyard.com> To: <shigeaki@f.csce.kyushu-u.ac.jp> Cc: freebsd-net@freebsd.org, Josh Mouch <jmouch@expressyard.com> Subject: FreeBSD nfe driver and IPMI cards Message-ID: <85D4F2C294E8434CA0AF775741532686623679@server1.ssgi.local>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Hello, I'm the FreeBSD nfe driver from http://www.f.csce.kyushu-u.ac.jp/~shigeaki/software/freebsd-nfe.html with FreeBSD 6-stable with good results for the most part. The only issue I've experienced is that during a detach/shutdown of if_nfe, the IPMI IP address I have set on my servers ceases to respond as well as the ability to manage the servers. I traced the problem down to nfe_stop() and the fact that it completely disables the Rx and Tx on the NIC. I have patched the driver to not disable the Rx/Tx and IPMI continues to work after a 'ifconfig nfe0 down', 'shutdown -p now', etc. Does anyone have any comments on this change I've made and any possible side effects? Can this be included in the mainstream distribution of the nfe drivers (and updated in 7-CURRENT) without causing any adverse problems? Thanks, Robert S Wojciechowski / ExpressYard 810.953.3799 x200 / cell 248.872.4509 [-- Attachment #2 --] diff -uwr nfe-20070816/if_nfe.c nfe-20070816-ssgi/if_nfe.c --- nfe-20070816/if_nfe.c Wed Aug 15 22:08:18 2007 +++ nfe-20070816-ssgi/if_nfe.c Tue Sep 11 11:59:03 2007 @@ -24,7 +24,7 @@ __FBSDID("$FreeBSD: src/sys/dev/nfe/if_nfe.c,v 1.19 2007/07/24 01:11:00 yongari Exp $"); /* Uncomment the following line to enable polling. */ -/* #define DEVICE_POLLING */ +#define DEVICE_POLLING #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -3004,10 +3004,12 @@ callout_stop(&sc->nfe_stat_ch); /* abort Tx */ - NFE_WRITE(sc, NFE_TX_CTL, 0); + /* keep Tx alive for IMPI and perhaps WOL */ + /* NFE_WRITE(sc, NFE_TX_CTL, 0); */ /* disable Rx */ - NFE_WRITE(sc, NFE_RX_CTL, 0); + /* keep Rx alive for IMPI and perhaps WOL */ + /* NFE_WRITE(sc, NFE_RX_CTL, 0); */ /* disable interrupts */ nfe_disable_intr(sc);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?85D4F2C294E8434CA0AF775741532686623679>
