1

PCIE バス経由で接続された 2 つのボードがあります。事前に割り当てられたメッセージ バッファを介してデータを交換できます。今、この接続に基づいて仮想ネットワーク インターフェイスを実装しようとしています。いくつかのネットワーク ドライバー ソースを参照すると、受信パスを実装する 2 つの方法があることがわかります。

  • receive 関数内に を割り当て、これに割り当てられたバッファにデータをコピーするためにdev_alloc_skb()使用します。skbskb
  • を使用dev_alloc_skb()して、バッファを割り当て、skbRX リングに配置します。

これら 2 つのケースでは、バッファは によって割り当てられdev_alloc_skb()ます。skbコントロール ヘッダーのみを割り当てて、dataポインタをメッセージ バッファに向けたいと思います。skb_free()また、代わりにメッセージ バッファをメッセージ プールに戻すように変更する必要があります。

同様のアプローチを使用する参照コードがあるかどうかを教えてください。または、コードの変更を最小限に抑えるより良いアプローチを提案してください。任意の提案をいただければ幸いです。ありがとうございます!

4

1 に答える 1