检查是否已为特定接口(interface)卸载 TCP 分段

标签 c linux kernel nic

我知道我们可以通过 ethtool 检查 TCP 分段是否已卸载。但我需要从我自己的代码中获取这些信息。最简单的方法是什么?有没有我可以检查的标志?

谢谢 至高无上

最佳答案

您可以使用与 ethtool 相同的 ioctl() 调用。 只需查看 ethtool 的源代码即可了解其工作原理:

struct ethtool_value eval;

eval.cmd = ETHTOOL_GGSO;
ifr->ifr_data = (caddr_t)&eval;
err = ioctl(fd, SIOCETHTOOL, ifr);
if (err)
        perror("Cannot get device generic segmentation offload settings");
else {
        gso = eval.data;
        allfail = 0;
}

关于检查是否已为特定接口(interface)卸载 TCP 分段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276396/

相关文章:

c - 在哪里可以了解有关 R 构建选项的更多信息?

linux - vfs_write 导致内核 panic

c - 为什么Linux内核中没有wait_event_..._irqsave()函数或宏?

Linux内核编译错误

c - 在C语言中,如何更改指针指向的内存地址?

将 uint16 转换为 jint 并返回 JNI

c - 在 Header 中声明 Struct 并在多个 Source 中使用

ruby-on-rails - ruby 在 rails 上 : need to run/bin/bash before any rails command

java - 由 :duplicate source for resource: com. my.test.exception.TestException +SonarQube 4.0 +LINUX 引起

linux - 读取 shell 脚本中的行输出