Add capability to disable CRC stripping. This breaks IPMI/BMC capabilities on certain adatpers.
Linux has been doing the exact same thing since 2008
eb7c3adb1c
PR: 161277
Differential Revision: https://reviews.freebsd.org/D3282
Submitted by: Fravadona@gmail.com
Reviewed by: erj wblock
MFC after: 2 weeks
Relnotes: yes
Sponsored by: Limelight Networks
This commit is contained in:
parent
f9b11500c2
commit
38be29d321
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=286829
@ -31,7 +31,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd October 11, 2011
|
||||
.Dd August 16, 2015
|
||||
.Dt EM 4
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -205,6 +205,11 @@ Tunables can be set at the
|
||||
prompt before booting the kernel or stored in
|
||||
.Xr loader.conf 5 .
|
||||
.Bl -tag -width indent
|
||||
.It Va hw.em.disable_crc_stripping
|
||||
Disable or enable hardware stripping of CRC field.
|
||||
This is mostly useful on BMC/IPMI shared interfaces where stripping the CRC
|
||||
causes remote access over IPMI to fail.
|
||||
Default 0 (enabled).
|
||||
.It Va hw.em.eee_setting
|
||||
Disable or enable Energy Efficient Ethernet.
|
||||
Default 1 (disabled).
|
||||
|
@ -366,6 +366,10 @@ MODULE_DEPEND(em, netmap, 1, 1, 1);
|
||||
|
||||
static SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD, 0, "EM driver parameters");
|
||||
|
||||
static int em_disable_crc_stripping = 0;
|
||||
SYSCTL_INT(_hw_em, OID_AUTO, disable_crc_stripping, CTLFLAG_RDTUN,
|
||||
&em_disable_crc_stripping, 0, "Disable CRC Stripping");
|
||||
|
||||
static int em_tx_int_delay_dflt = EM_TICKS_TO_USECS(EM_TIDV);
|
||||
static int em_rx_int_delay_dflt = EM_TICKS_TO_USECS(EM_RDTR);
|
||||
SYSCTL_INT(_hw_em, OID_AUTO, tx_int_delay, CTLFLAG_RDTUN, &em_tx_int_delay_dflt,
|
||||
@ -4514,7 +4518,8 @@ em_initialize_receive_unit(struct adapter *adapter)
|
||||
(hw->mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
|
||||
|
||||
/* Strip the CRC */
|
||||
rctl |= E1000_RCTL_SECRC;
|
||||
if (!em_disable_crc_stripping)
|
||||
rctl |= E1000_RCTL_SECRC;
|
||||
|
||||
/* Make sure VLAN Filters are off */
|
||||
rctl &= ~E1000_RCTL_VFE;
|
||||
|
Loading…
Reference in New Issue
Block a user