問題タブ [netlink]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1613 参照

c - カーネルパニックを引き起こすネットリンク

このプログラムを試しました。このプログラムはカーネルに「hello」を送信し、カーネルはユーザー空間に「hello」をもう一度 1 回返信します。

私の要件: ユーザーは「こんにちは」を送信し、2 秒ごとにメッセージを受信する必要があります。

私が試したこと。

ユーザー アプリ: 送受信のループを追加

カーネル モジュール: 何も変更されていません。

このコードは最初のループでのみ機能します。次回カーネルがクラッシュし、黒い画面でカーネルパニックエラーが発生します。再起動するたびに。なぜカーネルパニックが発生するのですか? どこを変更する必要がありますか? 問題はカーネルモジュールにあると思います。
カーネル:3.13.0-24-generic

0 投票する
1 に答える
141 参照

c - いくつの netlink プロトコルを作成できますか?

次の netlink サンプル コード (カーネル バージョン 3.3.4) をテストしたところ、NETLINK_PROTOCOL が 31 より大きい数値に設定されている場合、モジュールの挿入が失敗することがわかりました。 5,17,19,21-31

これは、32 個のネットリンク プロトコルしか作成できないということですか?

0 投票する
1 に答える
470 参照

linux - NETLINK_ROUTE チャネルを使用して、カーネル モジュールからユーザー空間プログラムにメッセージを送信できますか?

netlink私は、ソケットとNETLINK_ROUTEプロトコルを使用して、使用可能なイーサネット インターフェイスの動作状態をポーリングするユーザー空間プログラムを作成しました。
しかし今、NETLINK_ROUTE チャネルを使用してカスタマイズされた通知メッセージをこのユーザー空間プログラムに送信するカーネル モジュールを作成したいと考えています。
のマニュアルページを読んだ後netlinkrtnetlinkそれが実行可能かどうかはわかりません。どんな提案でも大歓迎です。

0 投票する
0 に答える
279 参照

c - NETLINK_ROUTE を使用して、カーネル モジュールからユーザー空間プログラムにメッセージを送信する方法は?

NETLINK_ROUTEソケット プロトコル ファミリをリッスンするユーザー空間プログラムを作成しました。NETLINK_ROUTEここで、ユーザー空間プログラムがそれらのメッセージを受信できるように、メッセージを送信するカーネル モジュールを作成したいと考えています。THISなどの多くの記事を読みましたが、それらはすべて、新しいプロトコル ファミリを定義するか、NETLINK_GENERIC. カーネルによってすでに作成されているため、NETLINK_ROUTEソケットを使用して作成できないことはわかっています。netlink_kernel_createこの既に作成されたソケットを使用してメッセージを送信する方法を知りたいです。