gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1098回复:0

问有关8139too.c程序中的问题!

楼主#
更多 发布于:2002-11-15 23:53
我问一个问题:
在8139too.c中,关于接收这一块有些疑问:
1为什么在这个程序中申请这么大的接收缓冲区呢?
  #define RX_BUF_LEN_IDX 2 /* 0==8K, 1==16K, 2==32K, 3==64K */
#define RX_BUF_LEN (8192 << RX_BUF_LEN_IDX)
  #define RX_BUF_PAD 16
  #define RX_BUF_WRAP_PAD 2048 /* spare padding to handle  lack of packet wrap */
  #define RX_BUF_TOT_LEN (RX_BUF_LEN + RX_BUF_PAD +  RX_BUF_WRAP_PAD)

2.在接收函数static void rtl8139_rx_interrupt 中:
eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0);
  skb_put (skb, pkt_size);
  从当前指针指向的开始,如果这个接收包超过剩下的长度时,它是如何处理的呢?

  RTL_W16_F (RxBufPtr, cur_rx - 16);
  为什么要减16呢?

[编辑 -  11/15/02 by  gyh2002]
游客

返回顶部