我试图在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/