CN104104518A - 一种嵌入式系统中虚拟多个以太网控制器的方法 - Google Patents
一种嵌入式系统中虚拟多个以太网控制器的方法 Download PDFInfo
- Publication number
- CN104104518A CN104104518A CN201310127678.1A CN201310127678A CN104104518A CN 104104518 A CN104104518 A CN 104104518A CN 201310127678 A CN201310127678 A CN 201310127678A CN 104104518 A CN104104518 A CN 104104518A
- Authority
- CN
- China
- Prior art keywords
- port
- vlan
- ethernet
- exchange chip
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开一种嵌入式系统中虚拟多个以太网控制器的方法,步骤是:将交换芯片设置为管理模式,使所有来自于交换芯片LAN端口的报文转发至IMP端口;使能交换芯片的IEEE802.1Q VLAN功能,设置VLAN学习模式为基于MAC和PVID的学习模式;设置交换芯片的单播查找失败转发模式为向LAN端口转发;对于具有N个LAN端口的交换芯片,在交换芯片内部划分N个IEEE802.1Q VLAN,每个LAN端口分别和IMP端口位于同一个VLAN,其中,N为自然数:将这N个LAN端口的对应的以太网控制器的MAC地址添加到交换芯片的静态地址表中。此方法可降低以太网控制器与CPU之间接口电路设计的复杂度和硬件成本,减少以太网驱动程序设计的难度和时间成本。
Description
技术领域
本发明涉及一种嵌入式系统中使用单个管理型以太网交换芯片虚拟多个以太网控制器的方法。
背景技术
对于面向网络应用的嵌入式系统,为了增加网络处理能力,系统一般都配置了多个独立的以太网控制器,每个以太网控制器通过独立的驱动程序和协议栈进行交互。这种设计方案在硬件和软件上都有不足之处,具体体现在:
(1)在硬件上,需要考虑每个以太网控制器和CPU之间的电路接口,接口电路复杂,硬件成本高;
(2)在软件上,需要为每一个以太网控制器编写驱动程序,如果这些以太网控制器型号相同,驱动程序代码可以重用,如果型号不同,就必须编写不同的驱动程序,加大了软件设计的难度和时间成本。
发明内容
本发明的目的,在于提供一种嵌入式系统中虚拟多个以太网控制器的方法,其虚拟出的以太网控制器从行为上等同于独立的以太网控制器,降低以太网控制器与CPU之间接口电路设计的复杂度和硬件成本,减少以太网驱动程序设计的难度和时间成本。
为了达成上述目的,本发明的解决方案是:
一种嵌入式系统中虚拟多个以太网控制器的方法,包括如下步骤:
(1)将交换芯片设置为管理模式,使所有来自于交换芯片LAN端口的报文转发至IMP端口;
(2)使能交换芯片的IEEE802.1Q VLAN功能,设置VLAN学习模式为基于MAC和PVID的学习模式;
(3)设置交换芯片的单播查找失败转发模式为向LAN端口转发;
(4)对于具有N个LAN端口的交换芯片,在交换芯片内部划分N个IEEE802.1Q VLAN,每个LAN端口分别和IMP端口位于同一个VLAN,其中,N为自然数:
(5)将这N个LAN端口的对应的以太网控制器的MAC地址添加到交换芯片的静态地址表中。
嵌入式系统中的以太网控制器接收到来自IMP端口的以太网报文,根据报文中的VLAN标签将报文转发给同LAN端口对应的虚拟以太网控制器的驱动程序,具体包括如下内容:
(a)在操作系统中添加多个以太网设备驱动程序,每个驱动程序和交换芯片的一个端口相对应;驱动的发送策略为:将协议栈送来的报文打上端口所对应IEEE802.1Q VLAN的VLAN标签,然后转发给系统原有的以太网控制器驱动程序;驱动的接收策略为:将系统原有以太网控制器驱动程序转发来的报文去掉IEEE802.1Q VLAN标签后送入协议栈;
(b)修改系统原有以太网控制器驱动程序的接收策略为:收到的报文不再送入协议栈,而是根据VLAN标签转发给相应的虚拟以太网控制器驱动程序。
采用上述方案后,本发明通过对交换芯片进行适当的配置以及在嵌入式系统中添加虚拟以太网驱动程序,从嵌入式系统的外部以及从嵌入式系统的角度来看,以太网交换芯片的端口从行为上等同于独立的以太网控制器,降低以太网控制器与CPU之间接口电路设计的复杂度和硬件成本,减少以太网驱动程序设计的难度和时间成本。
附图说明
图1是本发明中VLAN的划分方法示意图;
图2是本发明实施例的系统硬件设计图;
图3是本发明的流程图。
具体实施方式
本发明提供一种嵌入式系统中虚拟多个以太网控制器的方法,包括如下步骤:
(1)将交换芯片设置为管理模式,使所有来自于交换芯片LAN端口的报文转发至IMP(Inband Management Port)端口;
(2)使能交换芯片的IEEE802.1Q VLAN功能,设置VLAN学习模式为基于MAC和PVID的学习模式,此为现有技术,不再详述;
(3)设置交换芯片的单播查找失败转发模式为向LAN端口转发;
(4)对于具有N(N为自然数)个LAN端口的交换芯片,在交换芯片内部划分N个IEEE802.1Q VLAN,使得每个LAN端口分别和IMP端口位于同一个VLAN,LAN端口之间相互隔离,VLAN的划分方法可参看图1所示;
(5)将这N个LAN端口的对应的以太网控制器的MAC地址添加到交换芯片的静态地址表中。
嵌入式系统中的以太网控制器接收到来自IMP端口的以太网报文,根据报文中的VLAN标签将报文转发给同LAN端口对应的虚拟以太网控制器的驱动程序。由于交换芯片在内部划分了IEEE802.1Q VLAN,以太网报文在从LAN端口转发至IMP端口进入CPU的过程中会被交换芯片打上IEEE802.1Q VLAN标签,这种报文若想被协议栈正确识别,必须去掉VLAN标签。同样地,操作系统若想通过IMP端口向LAN port转发报文,也必须添加相应VLAN的标签。这就需要修改系统中原有的以太网驱动程序,同时添加虚拟以太网驱动程序,具体做法如下(如图3所示):
(1)在操作系统中添加多个以太网设备驱动程序,每个驱动程序和交换芯片的一个端口相对应。驱动的发送策略(协议栈通过驱动程序将以太网报文送出系统称为发送策略)为:将协议栈送来的报文打上端口所对应IEEE802.1Q VLAN的VLAN标签,然后转发给系统原有的以太网控制器驱动程序。驱动的接收策略(以太网控制器收到报文,将报文传递给驱动程序称为接收策略)为:将系统原有以太网控制器驱动程序转发来的报文去掉IEEE802.1Q VLAN标签后送入协议栈。
(2)修改系统原有以太网控制器驱动程序的接收策略为:收到的报文不再送入协议栈,而是根据VLAN标签转发给相应的虚拟以太网控制器驱动程序。
下面以一个具体的嵌入式系统为例子来说明整个实施过程。该嵌入式系统的CPU采用freescale公司的P1020芯片,交换芯片采用Broadcom公司的BCM53101M芯片,操作系统采用linux操作系统,系统硬件设计图如图2。在本系统中,BCM53101M交换芯片将被虚拟成6个独立的以太网控制器。
1、以下对交换芯片进行相关设置的具体步骤进行说明。步骤1:复位交换芯片,复位后交换芯片的设置都被置为默认设置。步骤2:将IMP端口速率设置为1000Mbps。由于端口0—端口5的端口速率均为100Mbps,这6个端口的报文转发到IMP端口会导致IMP端口的速率达到600Mbps,因此必须将IMP端口速率设置为1000Mbps才能匹配速率。步骤3:在交换芯片内部划分6个独立的IEEE802.1Q VLAN,每个LAN端口和IMP端口位于一个VLAN域内,实现LAN端口之间的隔离。步骤4:设置交换芯片单播查找失败的转发模式为向LAN端口转发,添加6个端口的MAC地址到交换芯片静态地址表中,解决了交换芯片内部MAC地址老化后学习不到端口0—端口5的MAC地址导致报文无法转发的问题。
2、下面具体说明系统中原有的以太网驱动程序的接收策略如何修改,添加的虚拟以太网驱动程序如何工作。
系统中原有的以太网驱动程序的接收策略为:
(1)eTSEC收到以太网报文;
(2)判断报文是否合法,如果合法,转到(3),不合法转到(4);
(3)将报文传递给上层协议栈;
(4)结束。
系统中原有的以太网驱动程序修改后的接收策略为:
(1)eTSEC收到以太网报文;
(2)判断报文是否带有IEEE802.1Q VLAN标签,如果是,根据VLAN ID将报文转发给相应的虚拟设备驱动程序,转到(5);如果不是,转到(3);
(3)判断报文是否合法,如果合法,转到(4),不合法转到(5);
(4)将报文传递给上层协议栈;
(5)结束。
虚拟以太网控制器驱动程序的接收策略为:
(1)虚拟以太网控制器收到eTSEC转发来的以太网报文;
(2)去掉报文中的IEEE802.1Q VLAN标签;
(3)判断报文是否合法,如果合法,转到(4),不合法转到(5);
(4)将报文传递给上层协议栈;
(5)结束。
虚拟以太网控制器驱动程序的发送策略为:
(1)虚拟以太网控制器收到上层协议栈发来的报文;
(2)给报文加上虚拟以太网控制器对应VLAN域的IEEE802.1Q VLAN标签;
(3)将报文转发给以太网控制器eTSEC;
(4)结束。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (2)
1.一种嵌入式系统中虚拟多个以太网控制器的方法,其特征在于包括如下步骤:
(1)将交换芯片设置为管理模式,使所有来自于交换芯片LAN端口的报文转发至IMP端口;
(2)使能交换芯片的IEEE802.1Q VLAN功能,设置VLAN学习模式为基于MAC和PVID的学习模式;
(3)设置交换芯片的单播查找失败转发模式为向LAN端口转发;
(4)对于具有N个LAN端口的交换芯片,在交换芯片内部划分N个IEEE802.1Q VLAN,每个LAN端口分别和IMP端口位于同一个VLAN,其中,N为自然数:
(5)将这N个LAN端口的对应的以太网控制器的MAC地址添加到交换芯片的静态地址表中。
2.如权利要求1所述的一种嵌入式系统中虚拟多个以太网控制器的方法,其特征在于:嵌入式系统中的以太网控制器接收到来自IMP端口的以太网报文,根据报文中的VLAN标签将报文转发给同LAN端口对应的虚拟以太网控制器的驱动程序,具体包括如下内容:
(a)在操作系统中添加多个以太网设备驱动程序,每个驱动程序和交换芯片的一个端口相对应;驱动的发送策略为:将协议栈送来的报文打上端口所对应IEEE802.1Q VLAN的VLAN标签,然后转发给系统原有的以太网控制器驱动程序;驱动的接收策略为:将系统原有以太网控制器驱动程序转发来的报文去掉IEEE802.1Q VLAN标签后送入协议栈;
(b)修改系统原有以太网控制器驱动程序的接收策略为:收到的报文不再送入协议栈,而是根据VLAN标签转发给相应的虚拟以太网控制器驱动程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310127678.1A CN104104518A (zh) | 2013-04-12 | 2013-04-12 | 一种嵌入式系统中虚拟多个以太网控制器的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310127678.1A CN104104518A (zh) | 2013-04-12 | 2013-04-12 | 一种嵌入式系统中虚拟多个以太网控制器的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104104518A true CN104104518A (zh) | 2014-10-15 |
Family
ID=51672344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310127678.1A Pending CN104104518A (zh) | 2013-04-12 | 2013-04-12 | 一种嵌入式系统中虚拟多个以太网控制器的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104104518A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283714A (zh) * | 2014-10-22 | 2015-01-14 | 上海斐讯数据通信技术有限公司 | 交换机、实现多管理vlan的系统及其方法 |
CN105610666A (zh) * | 2015-12-18 | 2016-05-25 | 曙光信息产业(北京)有限公司 | 一种基于linux操作系统的接口扩展方法和装置 |
CN107147572A (zh) * | 2017-07-17 | 2017-09-08 | 厦门四信通信科技有限公司 | 一种基于单台网关使用软件构造多台独立网关的方法 |
CN107222335A (zh) * | 2017-05-25 | 2017-09-29 | 深圳震有科技股份有限公司 | 实现配置不同vlan的多ip共用端口的方法及系统 |
CN107566238A (zh) * | 2017-08-30 | 2018-01-09 | 成都安恒信息技术有限公司 | 一种用户态配置物理接口自动识别vlan帧和非vlan帧的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110077A1 (en) * | 2005-11-11 | 2007-05-17 | Hitachi, Ltd. | Virtual network management method, virtual network management program, virtual network management system, and virtual network means |
CN101115006A (zh) * | 2007-08-21 | 2008-01-30 | 杭州华三通信技术有限公司 | 三层报文转发方法及路由设备和二层交换模块 |
CN101741664A (zh) * | 2009-12-21 | 2010-06-16 | 中兴通讯股份有限公司 | 以太网接口系统实现方法及实现装置 |
CN101867520A (zh) * | 2010-06-12 | 2010-10-20 | 迈普通信技术股份有限公司 | 分布式系统中板卡间数据交换的方法 |
CN102355415A (zh) * | 2011-09-27 | 2012-02-15 | 瑞斯康达科技发展股份有限公司 | 一种cpu间报文传输方法及装置 |
CN102932174A (zh) * | 2012-10-25 | 2013-02-13 | 华为技术有限公司 | 一种物理网卡管理方法、装置及物理主机 |
-
2013
- 2013-04-12 CN CN201310127678.1A patent/CN104104518A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110077A1 (en) * | 2005-11-11 | 2007-05-17 | Hitachi, Ltd. | Virtual network management method, virtual network management program, virtual network management system, and virtual network means |
CN101115006A (zh) * | 2007-08-21 | 2008-01-30 | 杭州华三通信技术有限公司 | 三层报文转发方法及路由设备和二层交换模块 |
CN101741664A (zh) * | 2009-12-21 | 2010-06-16 | 中兴通讯股份有限公司 | 以太网接口系统实现方法及实现装置 |
CN101867520A (zh) * | 2010-06-12 | 2010-10-20 | 迈普通信技术股份有限公司 | 分布式系统中板卡间数据交换的方法 |
CN102355415A (zh) * | 2011-09-27 | 2012-02-15 | 瑞斯康达科技发展股份有限公司 | 一种cpu间报文传输方法及装置 |
CN102932174A (zh) * | 2012-10-25 | 2013-02-13 | 华为技术有限公司 | 一种物理网卡管理方法、装置及物理主机 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283714A (zh) * | 2014-10-22 | 2015-01-14 | 上海斐讯数据通信技术有限公司 | 交换机、实现多管理vlan的系统及其方法 |
CN105610666A (zh) * | 2015-12-18 | 2016-05-25 | 曙光信息产业(北京)有限公司 | 一种基于linux操作系统的接口扩展方法和装置 |
CN107222335A (zh) * | 2017-05-25 | 2017-09-29 | 深圳震有科技股份有限公司 | 实现配置不同vlan的多ip共用端口的方法及系统 |
CN107147572A (zh) * | 2017-07-17 | 2017-09-08 | 厦门四信通信科技有限公司 | 一种基于单台网关使用软件构造多台独立网关的方法 |
CN107566238A (zh) * | 2017-08-30 | 2018-01-09 | 成都安恒信息技术有限公司 | 一种用户态配置物理接口自动识别vlan帧和非vlan帧的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9237098B2 (en) | Media access control (MAC) address summation in Datacenter Ethernet networking | |
CN103685009B (zh) | 数据包的处理方法、控制器及系统 | |
US7995499B2 (en) | Minimizing spanning-tree protocol event processing and flooding in distribution networks | |
EP2282453A1 (en) | Routing frames in a shortest path computer network for a multi-homed legacy bridge node | |
EP2202923A1 (en) | Routing frames in a computer network using bridge identifiers | |
JP2014527340A5 (zh) | ||
CN104104518A (zh) | 一种嵌入式系统中虚拟多个以太网控制器的方法 | |
CN104937885A (zh) | 用于结构交换机的全局vlan | |
EP2911354A1 (en) | Method, device and system for bidirectional flow on same path in aggregation group | |
EP2928133B1 (en) | Method and apparatus for accessing shortest-route bridge network in multi-homed manner | |
WO2015127643A1 (en) | Method and communication node for learning mac address in a layer-2 communication network | |
CN104092595A (zh) | 基于802.1br的虚拟化系统中的报文处理方法及装置 | |
TW201534081A (zh) | 網路裝置與迴路偵測方法 | |
RU2641483C2 (ru) | Управление ошибками соединения в сети связи | |
WO2013097639A1 (en) | Expanding member ports of a link aggregation group between clusters | |
US20140086100A1 (en) | Multi-Chassis Cluster Synchronization Using Shortest Path Bridging (SPB) Service Instance Identifier (I-SID) Trees | |
EP3200398B1 (en) | Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling | |
EP3113422B1 (en) | Method and system of enhancing multiple mac registration protocol (mmrp) for protocol internetworking | |
US20150381466A1 (en) | Micro-OAM for Link Groups | |
US9860160B2 (en) | Multipath switching using per-hop virtual local area network classification | |
US9755970B2 (en) | Information processing method, device and system | |
WO2012143943A3 (en) | Multi-host ethernet controller | |
WO2014067470A1 (en) | Port mode synchronization between switches | |
JP5931842B2 (ja) | スイッチ装置及びスイッチ装置制御方法 | |
JP2016019031A (ja) | フィルタリング装置およびフィルタリング方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141015 |
|
RJ01 | Rejection of invention patent application after publication |