c - Linux内核中的udp_deliver api在哪里?

标签 c linux linux-kernel kernel rtos

我试图在linux kerenl中找到上面的api。如果我转到此路径:net/ipv4/udp.c 并搜索 udp_deliver。那个地方不存在它。找不到 udp_deliver api 是什么原因? 请有人帮助我。我在上面指定的路径中没有上面的api。

最佳答案

我刚刚克隆了主线 linux 存储库来查找 udp_deliver 的定义。我不相信该函数在内核中再实现,因为使用 grep 不会产生任何命中。

$ grep -r udp_deliver linux
$ grep -r *udp_deliver* linux

它们都没有产生任何结果。我只能在早期版本的Linux内核中找到对udp_deliver的引用,即1.0.13 , 1.1.72 , 1.3.22 , 1.3.47以及其他一些早期版本。

definition given在这些早期的源文件中如下:

static inline void udp_deliver(struct sock *sk, struct sk_buff *skb)
{
    skb->sk = sk;

    if (sk->users) {
        __skb_queue_tail(&sk->back_log, skb);
        return;
    }
    udp_queue_rcv_skb(sk, skb);
}

关于c - Linux内核中的udp_deliver api在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23833070/

相关文章:

linux - 什么是命令的十六进制版本,它在现实中意味着什么,这是如何完成的

linux - 如何使用 DPDK 运行 Netfilter(iptables、nftables)

Linux内核 panic

c - 使用 C 中的函数输入和打印静态矩阵

java - 为什么我的 Java 代码无法正确执行 bash 命令?

linux - 容器可以纯粹在用户空间中实现吗?

linux - 我如何使用私有(private)安装的 wxWidgets

c - 使用无符号字符指针

c getline 跳过空行

python - 以静态类型语言实现干净且类型安全的状态机?