- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 使用Wiz发blog的设置
API地址:http://blog.csdn.net/[userID]/services/MetaBlogApi.aspx userID就是自己的账号通过 Wiz 发布
2011-05-30 11:44:00 1718 5
原创 lwip ARP相关处理(3)
终于说到(1)中提到的update_arp_entry函数了这个函数比较简单,调用之前说的find_entry找到一个可用的ARP表项索引,然后更新之,插入最新的MAC地址,对于之前是pending并且有缓冲项的,就把缓冲项指向的数据包发送出去。 再来看看etharp_query这个函数,etharp_output向指定ip发包的时候,会调用之。如果在ARP表项中找到stable的,就直接发出去,否则就创建一个,并且把这个包挂在缓冲项下,发送一个ARP请求出去,收到应答才把缓冲项的数据包发出去。注意在挂接数
2011-05-29 22:58:00 2725
原创 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 2815
原创 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 2920
转载 STM32中重定位printf到串口输出
#include "stdio.h" #ifdef __GNUC__/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf set to 'Yes') calls __io_putchar() */#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FI
2011-05-14 12:54:00 7211
原创 交换原理
交换机功能(至少):地址学习转发/过滤防止回路 交换机通过内部MAC地址表做出转发/过滤的决定这个表存在交换套片的内部初始化的MAC是空的。交换机收到数据帧之后,查找MAC表,如果没有相应的表项,就把数据帧发到(flood)所有的端口上。通过读取回应帧的源MAC地址,来构造一下对应表,下次就不需要flood了。直接查表发数据。如果某一端口长期没有发送数据,对应端口的表项就会因超时而清空。冲突域,由交换机隔开的一个个网络广播域,由路由器隔开的一个个网络 交换机的每一个端口所连接的网段都是一个独立的冲突域交换机
2011-05-03 22:00:00 875
DWM1000,模块资料
2023-04-06
frp,多web核心配置方法
2023-04-06
无刷电机,驱动原理,无霍尔的BLDC控制方案
2023-04-06
openwrt x86 镜像
2023-04-06
frpc,反向代理工具,android客户端程序
2023-04-06
stm32h视频播放.zip
2020-07-30
eclipseeclipse
2014-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人