我想把通过某个网口"eth0"发送和接受的数据拷贝一份到我的程序,进行分析。 在e1000_clean_rx_irq的e1000_receive_skb之前拷贝出接收包,现在看起来好像没有什么问题。 在e1000_xmit_frame的e1000_tx_map之前考出发送包。但是拷贝的包好像不对。我又试着在e1000_tx_map在dma_map_single和dma_map_page拷贝数据包,貌似也不对。 问一下应该在哪里拷贝发送出去的数据包?skb->data和frag->page里面的数据包都是完整的吗?都是ethhead...
近日,为了分析内核网络的性能消耗,作了一下Oprofile的分析。 Oprofile的event设定为: 结果如下 CPU: Core Solo / Duo, speed 1596.01 MHz (estimated) Counted CPU_CLK_UNHALTED events (Unhalted clock cycles) with a unit mask of 0x00 (Unhalted core cycles) count 10000 samples % image name app name symbol name 848681 32.83 e1000e.k...
内核版本:2.6.18 系统: centos 5.4 现在正在做修改e1000e驱动的工作,使其支持双队列的接收为以后的零拷贝实现打下基础。 我遇到了一个问题,就是按照开发手册的内容设置相应的mrqc 寄存器和增加一个接收ring的时候,数据包还是 被存储到了队列0中,队列1中始终没有存数据包。 reta(redirection table)我也填了,hash我也是能了。 手册中说多队列时不支持legacy模式的接收描述符,所以我用的是RX_extended 描述符。 哪位有此...
大家好, 我前提也贴了一个帖子向大家求教。 是有关网卡绑定的问题,我的系统绑定一直有问题: ifconfig -a|grep -i hwaddr bond0 Link encap:Ethernet HWaddr 00:25:90:63:62:D2 eth0 Link encap:Ethernet HWaddr 00:25:90:63:62:D2 eth1 Link encap:Ethernet HWaddr 00:25:90:63:62:D2(这个之前跟bond0和eth0 不一样) 这个不同及时所有绑定配置都改正了,系统重启了也不行。 后来在网上看到一下命令, 执...
1. 在驱动中没有找到给报文添加MAC头的地方,在内核代码了转了一圈也没有找到相应的地方,现在很是困惑,还请大虾指点指点。 2.在e1000_probe()中,有对descriptor的数目进行初始化: adapter->rx_ring->count =256; adapter->tx_ring->count =256; netdev->tx_queue_len在ether_setup()中被初始化为1000 然后在e1000_configure_tx()中: adapter->tx_queue_len = adapter->netdev->tx_queue_len; 总觉得netdev->tx_queue_len...
因在使用symantec AltirisDS6.9 SP5 中的Linux啟動環境,對應的驅動必須要符合對應的內核版本2.6.27.7與gcc-4.1 g++-4.1 但總是出現以下錯誤,怎麼解決?或幫忙編譯出符合(內核版本2.6.27.7與gcc-4.1 g++-4.1版本)的e1000e.ko?謝謝 ------------------------------------------------------------------------------- root@User1-desktop:/home/User1/Document/e1000e-3.2.4.2/src# make -C /home/User1/Document/linux-2.6.27...