我有兩塊通過PCIE總線連接的板卡。他們可以通過預先分配的消息緩衝區交換數據。現在我嘗試基於此連接實現虛擬網絡接口。 參考一些網絡驅動程序源代碼顯示,有兩種方法,他們實施的接收路徑:手動爲skb分配數據緩衝區struct
- 使用
dev_alloc_skb()
分配接收函數內skb
和數據複製到分配給該skb
緩衝區。 - 使用
dev_alloc_skb()
分配skb
並將其緩衝區放入RX環。
在這兩種情況下,緩衝區由dev_alloc_skb()
分配。我想只分配skb
控制標題,並指向我的消息緩衝區的data
指針。我們還必須修改skb_free()
以將消息緩衝區重新放回消息池。
任何人都可以請告訴我,如果有任何參考代碼也使用類似的方法或請提出一個更好的方法,儘量減少代碼更改。任何建議表示讚賞。先謝謝了!
我也在努力解決類似的問題,有什麼辦法沒有,你把HTTP:/? /stackoverflow.com/questions/40857686/mapping-1-mib-of-reserved-memory-for-network-interface-cardnic-driver-in-arm-l – shunty 2016-12-26 09:58:24