问题标签 [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 回答
575 浏览

linux - 内核作为客户端,用户应用程序作为服务器使用 netlink

我想以内核作为客户端在内核模块和用户应用程序之间建立连接。换句话说,内核将向用户应用程序发送消息,等待回复,接收回复,然后继续执行。

例如,在内核内部我将发送消息然后等待回复。

在用户内部时,

然而,netlink 协议所做的是每次用户发送消息时调用一个回调函数。我想要的是让内核等待用户的回复,然后继续执行。在回调函数内部更新的全局变量的繁忙循环中等待是否可行?我试过了,但我认为这不是一个很好的解决方案。

我可以做类似“睡觉直到回复来”之类的事情吗?我可以让内核休眠吗?

0 投票
1 回答
1975 浏览

linux - NETLINK_FIREWALL 和 NETLINK_NETFILTER 有什么区别?

Netlink 协议 NETLINK_FIREWALL(和 NETLINK_IP6_FW)和 NETLINK_NETFILTER 都用于操纵 Linux 防火墙。

那么,有区别吗?如果是,哪个 Netlink 协议服务于哪个目的?

0 投票
1 回答
1907 浏览

c - 如何使用 libnl-route 设置 netem qdisc 和 tbf qdisc?

我正在尝试在 shell 命令工作时在 ubuntu 12.04 上进行网络仿真:

或者

现在我想在 c 代码中做同样的事情,我找到了 libnl。

我已经使用文档成功添加了 prio 和 htb qdisc

http://www.carisma.slowglass.com/~tgr/libnl/doc/route.html#tc_qdisc

但是当我执行 netem qdisc 时,它在 tbf qdisc 情况下返回“无效的输入数据或参数”和“缺少属性”。我的代码如下:

  1. 网络

    /li>
  2. 待定

    /li>

我已经尝试了 api ref 引用的所有相应功能,但总是有相同的错误“输入数据或参数无效”和“缺少属性”,并且在没有帮助的情况下进行了谷歌搜索。

我被这个问题困扰了一个多星期,我需要你的帮助。

0 投票
1 回答
3012 浏览

c - 获取 linux 的 /bin/ss 工具的源代码

ss工具类似于netstat. ss 使用的 NETLINK 库记录得非常糟糕(man 7 netlink)。我在网上找不到如何正确使用 NETLINK_INET_DIAG 功能。ss 工具的源代码会有所帮助,但我也找不到。任何建议将不胜感激。

0 投票
0 回答
70 浏览

c# - 如何通过 NETLink 将 Mathematica 中的可为空的小数传递给 .Net

我调用带有十进制参数的方法没有问题,如下所示:

但是,我需要更改 MyMethod 的签名,如下所示:

将 Null 传递给修改后的 MyMethod 有效,但传递小数失败:

我错过了什么?

0 投票
1 回答
8636 浏览

network-programming - 如何使用libnl库触发nl80211命令?

请有人可以举一个简单的例子来说明如何使用 libnl 来使用 nl80211。我试图通过 iw 源代码,但它非常混乱。任何人都可以提供一个简单的程序来说明如何使用 libnl 触发 nl80211 命令,例如 NL80211_CMD_GET_WIPHY。

0 投票
2 回答
5333 浏览

c - 使用 netlink API 设置无线信道

我正在Ubuntu Linux 12.04环境下开发WiFi工具,需要在不同通道之间切换WiFi接口。

目前我在名为 ws80211_set_freq 的函数中的 Wireshark 源代码 ws80211_utils.c 中找到了解决方案,但我不知道如何将它实现到我的源代码中,以及要包含哪些库以及如何编译,以便我可以测试它。

问题是您必须使用的参数和标志太多。另外,这是我第一次开发netlink wifi工具。

如果有任何好的手册可以从哪里开始以及如何使用 netlink 呼叫 WiFi,请提供链接。

非常感谢我提前!

0 投票
1 回答
1629 浏览

c++ - 使用 libnl-3-route “无效的输入数据或参数”添加路由

我正在尝试使用 libnl-3-routing 添加路由(内核 2.6.32-57)。我使用文档:

  1. 网联库
  2. 网联路由

但是路由章节是空的... ;)

问题是“输入数据或参数无效”的内核响应。我已经使用 netlink 进行了一些测试,如果我设置以下属性,我可以添加路由:

  1. 接口索引
  2. 目的地址
  3. 网关地址
  4. 面具

    /li>

我添加信息我的路由表:

感谢您帮助解决此问题

0 投票
1 回答
351 浏览

sockets - 如何在nl80211界面中添加命令

我想在 nl80211 界面中添加一个新命令。我浏览了但没有得到详细信息。据我所知,为了添加命令,我们需要在/usr/include/linux/nl80211.h文件第 515 行中的枚举 nl80211_commands中添加命令,并且我们需要为该命令注册一个回调函数,该函数通过添加回调来完成const struct wpa_driver_ops wpa_driver_nl80211_ops中的 函数存在于 *src/drivers/driver_nl80211.c* 完成所有这些之后如何向内核端发送命令我没有得到那部分,如果有人知道请帮忙。

0 投票
1 回答
570 浏览

linux - 使用genetlink向内核发送数据

到目前为止,我一直Genetlink让用户能够向我的模块发送一些基本命令,而无需任何参数。时代变了,我需要让用户向消息中添加更多数据。具体来说,我需要他们能够发送char,intenum值的数组。

在哪里可以将所需的数据添加到消息中?

到目前为止我看到的例子(比如这个)更简单并且没有帮助。

我看到GENL操作定义回调如下:

但我找不到任何使用 sk_buff 的示例,只有 genl_info。这可能是我要找的吗?