免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4020 | 回复: 9
打印 上一主题 下一主题

[BootLoader] 求教,uboot里面怎么组播通信 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-12 17:30 |只看该作者 |倒序浏览
看了很久uboot里面关于tftp和dhcp的代码(晕头转向的,以前没弄过uboot),好像都是注册一个函数来处理接收到的包,感觉比较复杂也不是我想要的那种模式。。。
我的需求是这样的:首先接收来自一个组的组播包,然后回复包进行通讯这种模式,看起来uboot里面只有比较底层的接收发送包的接口,而没有那种直接指定接收或者发送到某某组的包的接口,不知道怎么弄了,不知道问题有没有描述清楚,望弄过类似东东的兄弟姐妹指导提示下,谢谢啊。。。

论坛徽章:
0
2 [报告]
发表于 2011-05-13 09:35 |只看该作者
没有做过,帮你顶了

论坛徽章:
0
3 [报告]
发表于 2011-05-13 14:42 |只看该作者
本帖最后由 brynx 于 2011-05-13 14:45 编辑

谢谢ls的,有没有哪位弄过呢?help下,自己也顶一个。。。

论坛徽章:
0
4 [报告]
发表于 2011-05-13 15:11 |只看该作者
其实uboot那块就是个状态机, 而且代码量也不多, 你仔细参考一下tftp的那一块, 尤其是NetSetHandler,
看每次收发数据包后是如何做的。

论坛徽章:
0
5 [报告]
发表于 2011-05-13 16:18 |只看该作者
其实uboot那块就是个状态机, 而且代码量也不多, 你仔细参考一下tftp的那一块, 尤其是NetSetHandler,
看 ...
BJSH 发表于 2011-05-13 15:11


另外想问一下你,像tftp和其他的应用都是先主动向server发包,然后用NetSetHander注册函数来处理收到的包,是这样吧?那要不先发包而是先主动收取一个地址的包要怎么弄呢?

论坛徽章:
0
6 [报告]
发表于 2011-05-16 09:57 |只看该作者
现在uboot的协议栈只能收到广播包(比如255.255.255.255这种),但是收不到组播包(比如224.0.0.1),通过在代码里加打印信息来看组播包没来到ip层,感觉可能是在链路层就被过滤掉了,自己觉得是不是要在链路层的过滤条件里面加上224.0.0.1对应的mac地址,但是却找不到mac过滤的地方,求大侠指教一二。。。

论坛徽章:
0
7 [报告]
发表于 2011-05-16 16:14 |只看该作者
网卡驱动中 接到数据包后 会向上传递到 NetReceive中, 里面会判断如果是IP包的话,
会判断目的IP是不是自己或者是不是广播, 否则直接return, 就被过滤掉了。
你在那里 把组播的IP加进判断就可以了。

至于5楼提到的, 那不是个问题, 琢磨下netloop

论坛徽章:
0
8 [报告]
发表于 2011-05-16 16:48 |只看该作者
网卡驱动中 接到数据包后 会向上传递到 NetReceive中, 里面会判断如果是IP包的话,
会判断目的IP是不是自 ...
BJSH 发表于 2011-05-16 16:14



    问题是NetReceive就没有收到组播包,感觉上NetReceive之上就被过滤掉了,但是又没找到哪里怎么过滤的,NetReceive里面过滤ip包的地方我是把组播ip加进去了的。。{:3_201:}

论坛徽章:
0
9 [报告]
发表于 2011-05-16 17:23 |只看该作者
额。。 那上面只可能是网卡驱动了。 你看一下网卡芯片手册, 貌似有个Multicast Address Register

论坛徽章:
0
10 [报告]
发表于 2011-05-18 10:16 |只看该作者
额。。 那上面只可能是网卡驱动了。 你看一下网卡芯片手册, 貌似有个Multicast Address Register
BJSH 发表于 2011-05-16 17:23



    悲剧的是好像都没有网卡芯片手册,自己试着把一个mac frame filter的寄存器值从原来的0改到1就能收到包了,呵呵,谢谢ls的兄弟啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP