1

我正在尝试研究和理解 Linux tcp/ip 堆栈的操作,特别是“ping”如何向下发送数据包并接收它们。Ping 在 AF_INET 系列中创建原始套接字,因此我将 printk 放在 net/ipv4/af_inet.c 的 inet_sendmsg() 中,以打印出正确显示的套接字协议名称(RAW、UDP 等)和协议特定 sendmsg 函数的地址来自 net/ipv4/raw.c 的 raw_sendmsg()

现在,我正在发送一个数据包并观察到我从 inet_sendmsg() 获得 printk 两次。这让我感到困惑——这是正常的(与中断等有关吗?)还是内核中有问题?

平台 - ARM5te,内核 2.6.31.8

期待您的回音 !

标记

4

0 回答 0