TCP/IP
goodlinux
这个作者很懒,什么都没留下…
展开
-
lwip ARP相关处理(2)
这里说一下find_entry这个函数,这个函数主要是查找ARP表和在ARP表中申请一个empty的表项 这里有必要先翻译一下开头的注释:函数有两个参数,一个ip地址,一个flag如果ip地址有效,就返回一个pending或者stable状态的表项索引。如果找不到,就创建一个新的,并把这个ip地址设置上去,状态变为empty。状态有上层调用函数去改变。 如果ip地址是空的。也返回一个empty的表项索引 上面的都不符合并且flasg标志为ETHARP_TRY_HARD,那么就尝试从ARP表中删除一个最早的表原创 2011-05-29 22:26:00 · 2746 阅读 · 0 评论 -
lwip ARP相关处理(1)
参数如下netif表示收到数据包的网络接口,ethaddr是MAC地址,其实也是netif里面的,p就是收到的数据包了这个函数有一些不正要的东西被去掉了 void etharp_arp_input(struct netif *netif, struct eth_addr *ethaddr, struct pbuf *p){ struct etharp_hdr *hdr; struct eth_hdr *ethhdr; /* these are aligned properly, whereas the原创 2011-05-29 17:24:00 · 2890 阅读 · 0 评论