问题标签 [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.
linux - 内核作为客户端,用户应用程序作为服务器使用 netlink
我想以内核作为客户端在内核模块和用户应用程序之间建立连接。换句话说,内核将向用户应用程序发送消息,等待回复,接收回复,然后继续执行。
例如,在内核内部我将发送消息然后等待回复。
在用户内部时,
然而,netlink 协议所做的是每次用户发送消息时调用一个回调函数。我想要的是让内核等待用户的回复,然后继续执行。在回调函数内部更新的全局变量的繁忙循环中等待是否可行?我试过了,但我认为这不是一个很好的解决方案。
我可以做类似“睡觉直到回复来”之类的事情吗?我可以让内核休眠吗?
linux - NETLINK_FIREWALL 和 NETLINK_NETFILTER 有什么区别?
Netlink 协议 NETLINK_FIREWALL(和 NETLINK_IP6_FW)和 NETLINK_NETFILTER 都用于操纵 Linux 防火墙。
那么,有区别吗?如果是,哪个 Netlink 协议服务于哪个目的?
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 情况下返回“无效的输入数据或参数”和“缺少属性”。我的代码如下:
网络
/li>待定
/li>
我已经尝试了 api ref 引用的所有相应功能,但总是有相同的错误“输入数据或参数无效”和“缺少属性”,并且在没有帮助的情况下进行了谷歌搜索。
我被这个问题困扰了一个多星期,我需要你的帮助。
c - 获取 linux 的 /bin/ss 工具的源代码
ss
工具类似于netstat
. ss 使用的 NETLINK 库记录得非常糟糕(man 7 netlink
)。我在网上找不到如何正确使用 NETLINK_INET_DIAG 功能。ss 工具的源代码会有所帮助,但我也找不到。任何建议将不胜感激。
c# - 如何通过 NETLink 将 Mathematica 中的可为空的小数传递给 .Net
我调用带有十进制参数的方法没有问题,如下所示:
但是,我需要更改 MyMethod 的签名,如下所示:
将 Null 传递给修改后的 MyMethod 有效,但传递小数失败:
我错过了什么?
network-programming - 如何使用libnl库触发nl80211命令?
请有人可以举一个简单的例子来说明如何使用 libnl 来使用 nl80211。我试图通过 iw 源代码,但它非常混乱。任何人都可以提供一个简单的程序来说明如何使用 libnl 触发 nl80211 命令,例如 NL80211_CMD_GET_WIPHY。
c - 使用 netlink API 设置无线信道
我正在Ubuntu Linux 12.04环境下开发WiFi工具,需要在不同通道之间切换WiFi接口。
目前我在名为 ws80211_set_freq 的函数中的 Wireshark 源代码 ws80211_utils.c 中找到了解决方案,但我不知道如何将它实现到我的源代码中,以及要包含哪些库以及如何编译,以便我可以测试它。
问题是您必须使用的参数和标志太多。另外,这是我第一次开发netlink wifi工具。
如果有任何好的手册可以从哪里开始以及如何使用 netlink 呼叫 WiFi,请提供链接。
非常感谢我提前!
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* 完成所有这些之后如何向内核端发送命令我没有得到那部分,如果有人知道请帮忙。
linux - 使用genetlink向内核发送数据
到目前为止,我一直Genetlink
让用户能够向我的模块发送一些基本命令,而无需任何参数。时代变了,我需要让用户向消息中添加更多数据。具体来说,我需要他们能够发送char
,int
和enum
值的数组。
在哪里可以将所需的数据添加到消息中?
到目前为止我看到的例子(比如这个)更简单并且没有帮助。
我看到GENL操作定义回调如下:
但我找不到任何使用 sk_buff 的示例,只有 genl_info。这可能是我要找的吗?