diff options
author | yongari <yongari@FreeBSD.org> | 2008-03-31 04:03:14 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2008-03-31 04:03:14 +0000 |
commit | 55186b0e3685bd19b93b14cf66c501fc38f93de8 (patch) | |
tree | 4334bd2b69e160956c1861614d964d3ee270fead /sys/pci | |
parent | 220584ad617584465109eaf92dc3be4fc99a9bda (diff) | |
download | FreeBSD-src-55186b0e3685bd19b93b14cf66c501fc38f93de8.zip FreeBSD-src-55186b0e3685bd19b93b14cf66c501fc38f93de8.tar.gz |
Padding more bytes than necessary one broke another variants of
PCIe RealTek chips. Only pad IP packets if the payload is less than
28 bytes.
Obtained from: NetBSD
PR: kern/122221
Diffstat (limited to 'sys/pci')
-rw-r--r-- | sys/pci/if_rlreg.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/pci/if_rlreg.h b/sys/pci/if_rlreg.h index 7e86689..5038666 100644 --- a/sys/pci/if_rlreg.h +++ b/sys/pci/if_rlreg.h @@ -497,6 +497,12 @@ #define RL_ETHER_ALIGN 2 +/* + * re(4) hardware ip4csum-tx could be mangled with 28 bytes or less IP packets. + */ +#define RL_IP4CSUMTX_MINLEN 28 +#define RL_IP4CSUMTX_PADLEN (ETHER_HDR_LEN + RL_IP4CSUMTX_MINLEN) + struct rl_chain_data { uint16_t cur_rx; uint8_t *rl_rx_buf; |