カスタムレイヤ3プロトコル用のカスタムLinuxドライバ

カスタムレイヤ3プロトコル用のカスタムLinuxドライバ

私たちは、CubeSatsで使用されるカスタム物理層を使用してカスタム通信を設計しており、Linux用のカスタムレイヤ3ドライバを作成する方法を検討しています(ipv4と似ていますが、ヘッダーはまったく異なります)。

私はnet/af_inet.cを見て、AF_INETプロトコルシリーズを登録する方法を理解し始めました。しかし、net/sockets.cの内部を見ると、PF_MAXまで定義された値に依存しているようです。だから私は新しいプロトコルシリーズをランダムに定義することはできません。 PF_MAXの前にPF_xxxxを調整して挿入しますか?それとも私が何かを見逃しているのでしょうか?可能であれば、カーネルハッキングは避け、ロード可能なモジュールに固執したいと思います。

トピックに関するどんな資料でも歓迎します。私はLDD3について読みましたが、これは私がphy用のデバイスドライバを書く方法ですが、私は言います。

編集:データリンク層もカスタマイズ可能で、イーサネットとは異なるヘッダーを持っているという事実に言及するのを忘れました。

編集:以下にブロック図を追加しました。

PHYはFPGAで実装され、AXIを介してCortex-A9に接続されます。

ここに画像の説明を入力してください。

ベストアンサー1

おすすめ記事