Microchip
直播中

邢洋

7年用户 156经验值
私信 关注
[问答]

请问如何实现VLAN?

您好,可以很容易地实现VLAN(它是在MAC地址和EtherType之间添加的字段)吗?=>我在MLA中实现了VLAN,但是MLA结构不是很好,因为我必须更改所有以太网层(MAC、IP、TCP、…):HARMony有同样的问题吗?我能通过修改MAC层(和配置部分)来实现VLAN吗?你能告诉我最好的做法,以确保兼容性与未来版本的和谐?我需要:-设置具有特定VLAN的和谐Web服务器-创建一个使用一个或多个VLAN的第二层应用程序(即:生成树协议)。

回帖(3)

宋文剑

2019-11-7 14:56:38
在阅读了Harmony源代码之后,看起来代码的结构不是很好,以至于:我将不得不改变多层的代码(IP、TCP、UDP、…)。第一个问题:EtherType是在MAC以太网报头结构中定义的。第二个问题:一些函数使用静态位置,使用MAC Laye。r指针(MAC层指针代替当前层指针):我将不得不修改许多函数,因为层是依赖的
举报

云达贞

2019-11-7 15:10:15
VLAN标签应该是以太网报头的一部分。只有定义应该改变。但是你是对的,依赖关系应该被打破。大多数情况下,使用ETH报头的知识只是一个捷径,并且可以使用包指针容易地实现不同。到目前为止,还没有VLAN帧的支持,这就是为什么没有真正的问题。但我们会处理好的。
举报

宋文剑

2019-11-7 15:18:19
我没有时间等你去开发它,这就是我现在要做的原因。如果您愿意,我将能够提供测试和验证后的代码,以便您将其集成到Harmony。我还计划在MAC报头和VLAN标记之间添加一个定制层:感兴趣的是能够管理一些组件插入的条目(即:以太网交换机插入报头)r来检测以太网数据包的端口源)。我将只对PIC32MZ进行验证:您必须为其他设备添加/验证此功能。我应该在哪里发送源代码?…只有当它被集成到和谐中时,我才会公开它,因为我为公司做这件事(对于我来说,它被集成到和谐源代码中的兴趣在于,我将保证我的代码在和谐更新期间会得到维护……)它是给予和接受;)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分