数据包通过网络堆栈的路径

时间:2012-11-10 17:22:17

标签: network-programming linux-kernel

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

现在,我正在发送一个数据包并观察我正在两次获得printk格式的inet_sendmsg()。这让我很困惑 - 它是正常的(与中断等有什么关系?)或者有什么东西坏了内核?

平台 - ARM5te,内核2.6.31.8

期待您的回音!

标记

0 个答案:

没有答案