分析UBOOT ping命令 分析UBOOT ping命令
发布时间
阅读量:
阅读量
uboot ping命令相关发送流程
数据传输过程首先涉及构建ICMP数据包,由于网卡在进行ARP请求时通常无法缓存目标地址的MAC信息,因此需要先发送ARP请求以获取对应的MAC地址并更新ARP缓存,随后才能完成ICMP数据报的传输。
Ping.c
static int ping_send(void)
{
uchar *pkt;
int eth_hdr_size;
/* XXX always send arp request */
debug_cond(DEBUG_DEV_PKT, "sending ARP for %pI4\n", &NetPingIP);
NetArpWaitPacketIP = NetPingIP;
eth_hdr_size = NetSetEther(NetTxPacket, NetEtherNullAddr, PROT_IP);
//NetTxPacket 保存即将要发送的数据报地址
pkt = (uchar *)NetTxPacket + eth_hdr_size;
//构造ICMP
set_icmp_header(pkt, NetPingIP);
全部评论 (0)
还没有任何评论哟~
