diff options
author | yongari <yongari@FreeBSD.org> | 2009-06-02 04:35:44 +0000 |
---|---|---|
committer | yongari <yongari@FreeBSD.org> | 2009-06-02 04:35:44 +0000 |
commit | 493c3c966072849c324b35b3d2c72f2ddc8648f0 (patch) | |
tree | f991d243407ef8b8839b7f3ac5085b4291cec66b /sys/dev/msk/if_mskreg.h | |
parent | f27a08a589cf7f329010cf7834a9a0143dc7b1b2 (diff) | |
download | FreeBSD-src-493c3c966072849c324b35b3d2c72f2ddc8648f0.zip FreeBSD-src-493c3c966072849c324b35b3d2c72f2ddc8648f0.tar.gz |
Add frame parser capability of Yukon FE+ and Yukon Extreme. With
this feature hardware automatically computes TCP/UDP payload
offset. Introduce MSK_FLAG_AUTOTX_CSUM to mark the capability.
Yukon Extreme B0 revision is known to have a silicon for the
feature so disable it. Yukon Extreme B0 still can do Tx checksum
offloading but CPU have to compute TCP/UDP payload offset. To
enable traditional checksum offloading, disable automatic Tx
checksum calculation capability.
Yukon Extreme A0 revision could not use store-and-forward mode for
jumbo frames(silicon bug) so disable Tx checksum offloading for
jumbo frames.
I believe controllers that have MSK_FLAG_AUTOTX_CSUM capability or
new descriptor format do not have Tx checksum offload bug so
disable checksum offloading workaround for for short frames.
Tested by: jhb, Warren Block ( wblock <> wonkity dot com )
Diffstat (limited to 'sys/dev/msk/if_mskreg.h')
-rw-r--r-- | sys/dev/msk/if_mskreg.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/msk/if_mskreg.h b/sys/dev/msk/if_mskreg.h index e0de8a4..8f5797b 100644 --- a/sys/dev/msk/if_mskreg.h +++ b/sys/dev/msk/if_mskreg.h @@ -2502,8 +2502,9 @@ struct msk_if_softc { #define MSK_FLAG_JUMBO_NOCSUM 0x0010 #define MSK_FLAG_RAMBUF 0x0020 #define MSK_FLAG_DESCV2 0x0040 -#define MSK_FLAG_NOHWVLAN 0x0080 -#define MSK_FLAG_NORXCHK 0x0100 +#define MSK_FLAG_AUTOTX_CSUM 0x0080 +#define MSK_FLAG_NOHWVLAN 0x0100 +#define MSK_FLAG_NORXCHK 0x0200 #define MSK_FLAG_SUSPEND 0x2000 #define MSK_FLAG_DETACH 0x4000 #define MSK_FLAG_LINK 0x8000 |