diff options
author | Michael Brown <mcb30@ipxe.org> | 2023-02-01 18:19:32 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2023-02-01 19:09:30 +0000 |
commit | b6304f298499001a55045618e9fbf763b59b7321 (patch) | |
tree | 982149ef0621c1a10812987958811cbcb3ba8354 /src/drivers/net/realtek.h | |
parent | aa85c2918a6c63887f492fe7a8a88ed8fbb933f2 (diff) | |
download | ipxe-b6304f298499001a55045618e9fbf763b59b7321.tar.gz |
[realtek] Explicitly disable VLAN offload
Some cards seem to have the receive VLAN tag stripping feature enabled
by default, which causes received VLAN packets to be misinterpreted as
being received by the trunk device.
Fix by disabling VLAN tag stripping in the C+ Command Register.
Debugged-by: Xinming Lai <yiyihu@gmail.com>
Tested-by: Xinming Lai <yiyihu@gmail.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/realtek.h')
-rw-r--r-- | src/drivers/net/realtek.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/drivers/net/realtek.h b/src/drivers/net/realtek.h index d4642fd76..d50e349b0 100644 --- a/src/drivers/net/realtek.h +++ b/src/drivers/net/realtek.h @@ -228,8 +228,9 @@ enum realtek_legacy_status { /** C+ Command Register (word) */ #define RTL_CPCR 0xe0 -#define RTL_CPCR_DAC 0x0010 /**< PCI Dual Address Cycle Enable */ -#define RTL_CPCR_MULRW 0x0008 /**< PCI Multiple Read/Write Enable */ +#define RTL_CPCR_VLAN 0x0040 /**< VLAN tag stripping enable */ +#define RTL_CPCR_DAC 0x0010 /**< PCI Dual Address Cycle enable */ +#define RTL_CPCR_MULRW 0x0008 /**< PCI Multiple Read/Write enable */ #define RTL_CPCR_CPRX 0x0002 /**< C+ receive enable */ #define RTL_CPCR_CPTX 0x0001 /**< C+ transmit enable */ |