Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 为什么最后一次接收总是0?_C_Linux Kernel - Fatal编程技术网

C 为什么最后一次接收总是0?

C 为什么最后一次接收总是0?,c,linux-kernel,C,Linux Kernel,我需要获取net\u设备结构中的last\u rx和trans\u start字段的值。。。但是由于某种原因,dev->last\u rx始终为0(trans\u start有一个有效值)…这是为什么?是否有其他字段提供此值 这里有一个片段 struct net_device *dev; dev = first_net_device(&init_net); while (dev) { printk(KERN_ALERT "last received time is %

我需要获取
net\u设备
结构中的
last\u rx
trans\u start
字段的值。。。但是由于某种原因,
dev->last\u rx
始终为0(
trans\u start
有一个有效值)…这是为什么?是否有其他字段提供此值

这里有一个片段

struct net_device *dev;
dev = first_net_device(&init_net);

while (dev)
{

        printk(KERN_ALERT "last received time is %li\n", dev->last_rx );
        printk(KERN_ALERT "last transmit time is %li\n", dev->trans_start );
        dev = next_net_device(dev);
}
我正在使用linux内核2.6.35编写一个内核模块,
last\u rx
当前未使用,因此驱动程序可能没有更新该值。

Per,
last\u rx
当前未使用,因此驱动程序可能没有更新该值。

我只是简单地添加了一句
dev->last\u rx=jiffies
成功了!:D

struct net_device *dev;
dev = first_net_device(&init_net);

while (dev)
{

        dev->last_rx = jiffies;
        printk(KERN_ALERT "last received time is %li\n", dev->last_rx );
        printk(KERN_ALERT "last transmit time is %li\n", dev->trans_start );
        dev = next_net_device(dev);
}
我只是加了一句
dev->last\u rx=jiffies
成功了!:D

struct net_device *dev;
dev = first_net_device(&init_net);

while (dev)
{

        dev->last_rx = jiffies;
        printk(KERN_ALERT "last received time is %li\n", dev->last_rx );
        printk(KERN_ALERT "last transmit time is %li\n", dev->trans_start );
        dev = next_net_device(dev);
}

对您的问题的简短回答是更新驱动程序。驱动程序负责更新值。在前面提到的文档中,它声明该值未使用,内核也未使用该值,但是还有其他东西将使用它。如果您想在绑定驱动程序中使用arp轮询,它是必需的

无符号长传输开始

未签名的长上次接收

包含jiffies值的字段。驱动程序分别负责在传输开始和接收数据包时更新这些值。网络子系统使用trans_启动值检测变送器锁定。last_rx当前未使用,但驾驶员应保留此字段,以备将来使用


请参见此处的键合驱动程序中最后一次接收的参考:

对您的问题的简短回答是更新驱动程序。驱动程序负责更新值。在前面提到的文档中,它声明该值未使用,内核也未使用该值,但是还有其他东西将使用它。如果您想在绑定驱动程序中使用arp轮询,它是必需的

无符号长传输开始

未签名的长上次接收

包含jiffies值的字段。驱动程序分别负责在传输开始和接收数据包时更新这些值。网络子系统使用trans_启动值检测变送器锁定。last_rx当前未使用,但驾驶员应保留此字段,以备将来使用


请参见此处的键合驱动程序中最后一次接收的参考:

还有其他方法可以得到那个值吗?还有其他方法可以得到那个值吗?