問題タブ [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 に答える
1034 参照

linux - ルートテーブル(ネットリンクソケット経由で取得)のルートアイテムにネットマスク情報がないのはなぜですか?

指定したターゲットアドレスに接続するのに最適なネットワークインターフェイスを見つけるためのプログラムを作成しています。

現在、netlinkソケットAPIを介してルートテーブルを取得できますが、ネットマスク情報が含まれていないようです。のマニュアルを読みましたがrtnetlink、すべての項目で、rtattrネットマスク情報はなく、、、RTA_DST...が定義されています。RTA_SRCRTA_GATEWAY

では、ルートテーブルのネットマスク情報を確認するにはどうすればよいですか?route -n出力で見ることができるように。

どうもありがとう。

0 投票する
2 に答える
1206 参照

matlab - 数学とMATLABのNetLinkとの相互作用とそれらの間のデータ交換

matlabを呼び出すために数学で次のコードを使用しました

matlabワークスペース変数"a"をmathematicaから取得し、それをmathematica行列に変換したいと思います。どうすればnetlinkでこれを行うことができますか?

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

c - Linuxキャリア検出通知

Linuxには、ネットワークインターフェイスキャリアの変更の通知を受け取るためのインターフェイスがありますか?SIOCETHTOOLとのインターフェイスをポーリングすることは可能ですが、キャリア検出の変更時に返される通知やブロッキング呼び出しを受け取る方法があるかどうか疑問に思っていましたか?

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

linux - Netlink ソケットと libnl - nl_recvmsgs_default が -16 (EBUSY) を返す

私はいくつかの基本的なカーネル モジュールをコーディングしようとしています - netlink ソケット (ユーザー側の libnl) を使用したユーザー空間プログラム通信。ユーザー空間プログラムはカーネルにメッセージを送信し、応答を期待します。残念ながら、応答の受信は戻り値 -16 (EBUSY) で失敗します。

興味深いことに、標準のシステム コールrecvonを使用して netlink ソケットから直接データを受信するとnl_socket_get_fd(sock)、すべて正常に動作します。

なぜこれが起こっているのか誰にも分かりますか?

ユーザー空間のコードは次のとおりです (parse_cb は呼び出されないコールバックです)。

これは、ユーザー空間プログラムによって送信されたメッセージのカーネル側コールバックです (これは適切に呼び出されます)。

そして、「send_to_daemon」関数は次のとおりです。

0 投票する
2 に答える
6883 参照

linux-kernel - Netlink: カーネルからユーザーへの送信 - EAGAIN および ENOBUFS

カーネル モジュールからユーザー空間デーモンに netlink メッセージを送信するのに多くの問題があります。それらはランダムに失敗します。カーネル側では、ユーザー側では(function from ) が失敗し、syscall が で失敗しgenlmsg_unicastたことが原因で失敗します。EAGAINnl_recvmsgs_defaultlibnlNLE_NOMEMrecvmsgENOBUFS

Netlink メッセージは小さく、最大ペイロード サイズは ~300B です。

カーネルからメッセージを送信するコードは次のとおりです。

なぜこれが起こっているのか、まったくわかりません。そのため、私のプロジェクトは機能しません。誰かがそれを手伝ってくれることを本当に願っています。

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

c++ - libnl nl_sockをどのように使用しますか?

上記のコードは常に次のエラーでコンパイルに失敗します:/home/micah/Documents/C++/Socket_fun/Socket_fun/src/main.cpp|5|error:'sock'はタイプを指定しません

私はこれをlibnlの例から取得しましたが、機能しないので、これを行う正しい方法は何でしょうか。

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

c++ - ネットリンクメッセージの頻度

inet_diagモジュールとlibpcapを使用して、libpcapを使用してキャプチャしたURLにアクセスしたユーザーのuidを取得しています。1秒あたりにキャプチャされるURLが多い可能性があるため、1秒あたりに送信するネットリンクメッセージの数に制限があるのか​​、URLがキャプチャされるたびにキャッシュして時々更新するのか、それとも簡単にメッセージを送信するのか、疑問に思いました。

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

python - Python LinuxNetlinkRecvバッファ

socket.recv()利用可能なすべてのデータを受信しない場合にNETLINK_ROUTEソケットから試行を作成すると、受信されなかったデータが失われるようです。

例えば:

Isock.recv(100)の場合、100バイトが返されますが、他の+2900バイトは失われます。別の操作を行うsock.recv()と、次のnlmsghdr(マルチパートメッセージの場合)が返されるか、データの待機がブロックされます。

sock.recv(X, socket.MSG_PEEK)データを失うことなくXバイトを読み取ることができます。しかし、そうするとき、もちろん、読み取られたデータはrecvバッファからポップされません。

読み取られなかったデータは、読み取られるまでバッファに残ると思いました。私は何が間違っているのですか?利用できるデータの量を「推測」するだけではありません...

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

linux - 新しい netlink ファミリーでソケット netlink を使用する方法

新しい netlink ファミリで netlink ソケットを使用すると、いくつかの問題があります...特にグループで。netlink_broadcastカーネル空間でorメソッドを使用nlmsg_multicastして、メッセージをユーザー空間に送信します。たとえば、定義を含むヘッダーがあります。

ソケットを開き、ネットリンク アドレスにバインドするプロセス:

明らかにカーネル空間で私は呼び出します:

プロセスがrecv_cbユーザー空間からメッセージを送信するときに呼び出されるコールバックです。

今、私はユーザー空間にメッセージを送信しようとしています:

が 1の場合にのみ、プロセス内のメッセージを正しく読み取ることができますNL_MYGRP。問題がわかりません...すべての netlink ファミリが指定されてlinux/netlink.hおり、番号 20 が存在しないため、私の指定に使用できると思います新しい家族。なにが問題ですか?皆さん、ありがとうございました。

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

matlab - Mathematica で .NETLink を使用して Matlab を呼び出す際のエラー

コードに従う前に、問題なくMATHEMATICAからMATLABを呼び出すために使用しました

しかし、今私はこのようなエラーがあります:

CreateCOMObject::netexcptn: ".NET 例外が発生しました: !(TraditionalForm`\"System.Runtime.InteropServices.COMException (0x800401F3): 無効なクラス文字列 (HRESULT からの例外: 0x800401F3 (CO_E_CLASSSTRING))\\n at System.RuntimeType. GetTypeFromProgIDImpl(String progID, String server, Boolean throwOnError)\\n at Wolfram.NETLink.Internal.COM.COMUtilities.createCOMObject(String clsIDOrProgID)\\n at Wolfram.NETLink.Internal.CallPacketHandler.createCOM(KernelLinkImpl ml)\") ."

Win 7 x64 に .net Framework 4 をインストールしました。.Net フレームワークのエラーですか?