- 論壇徽章:
- 0
|
原帖由 yikaikai 于 2007-8-15 16:22 發(fā)表 ![]()
from 8139.c
/* Note: the chip doesn't have auto-pad! */
if (likely(len < TX_BUF_SIZE)) {
if (len < ETH_ZLEN)
memset(tp->tx_buf[entry], 0, ETH_ZLEN);
Solaris維護一個最大和最小楨長度,這樣可以丟掉長度非法的楨。最小的長度是不變的,最大長度根據(jù)硬件支持的情況動態(tài)得到,e1000上最大可以16k
> fffffffec020a9d0::print struct dev_info devi_driver_data|::print struct e1000g ! grep frame
max_frame_size = 0x5ea
min_frame_size = 0x40
> 0x5ea=D
1514
> 0x40=D
64
另外,IEEE對小尺寸的包的padding的規(guī)定其實也不是很嚴格,目前好多測試儀器不檢測這個,導致有些驅動干脆不做zero padding. |
|