CN107508767B - 用于在输入/输出设备中使用指派的交换机标识的技术 - Google Patents
用于在输入/输出设备中使用指派的交换机标识的技术 Download PDFInfo
- Publication number
- CN107508767B CN107508767B CN201710697402.5A CN201710697402A CN107508767B CN 107508767 B CN107508767 B CN 107508767B CN 201710697402 A CN201710697402 A CN 201710697402A CN 107508767 B CN107508767 B CN 107508767B
- Authority
- CN
- China
- Prior art keywords
- data
- input
- identification
- tag
- output device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/76—Routing in software-defined topologies, e.g. routing between virtual machines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了用于在输入/输出设备中使用指派的交换机标识的技术。公开了用于向在耦合到主机设备的输入/输出设备处接收到的数据指派交换机标识的示例。在某些示例中,数据可以与在主机设备上实现的虚拟机的虚拟站接口(VSI)相关联。对于这些示例,可以基于指派的端口标识符、数据的标识信息、或标识信息的至少一部分的始发者,向数据指派交换机标识。然后,指派的交换机标识可以被用作查询表的一部分,以确定用于在输入/输出设备处处理数据的一个或多个动作。描述并要求保护其他示例。
Description
本申请是PCT国际申请号为PCT/US2012/031276、国际申请日为2012年3月29日、进入中国国家阶段的申请号为201280071997.9,题为“用于在输入/输出设备中使用指派的交换机标识的技术”的发明专利申请的分案申请。
背景技术
诸如网络接口卡(NIC)之类的输入/输出(I/O)设备可以耦合到被部署在其中服务器域结束而外部网络域开始的服务器-网络边缘处的计算平台或主机设备中。用于在这些类型的环境中的NIC中实现交换机逻辑或电路的一种已知方式是通过使用一组查询表。查询表可以标识数据的一部分,诸如分组报头,然后,可以基于分组报头,在查询表中定义动作。查询表通常在实现通过单一交换机实例连接所有端口的交换机电路的NIC中好使。
由电气电子工程师学会(IEEE)建议采用的标准描述了将许多交换机实现为边缘虚拟桥接(EVB)的一部分。建议采用的标准具有标题“IEEE Standard for Local andMetropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment EdgeVirtual Bridging(用于局域和城域网的IEEE标准—虚拟桥接局域网—修正边缘虚拟桥接)”,并被标识为IEEE 802.1Qbg,草案2.1,2012年1月30日发布(在下文中为“IEEE802.1Qbg”)。根据IEEE 802.Qbg操作的NIC可能需要对与以太网端口相关联的每一逻辑或虚拟端口,实现单独的专用交换机实例。此外,NIC还可能需要对于可以包括虚拟机(VM)的主机设备中的处理元件之间的内部流量,实现额外的本地交换机实例。进一步地,可以需要级联交换机实例,以在单一以太网端口内实现虚拟以太网桥(VEB)或虚拟以太网端口聚集器(VEPA)。对于这些多个交换机实例,使用每一个交换机实例的单独的查询表可能需要大量的NIC资源。
附图说明
图1示出了示例***。
图2示出了示例交换机标识结构。
图3示出了示例指派的交换机标识表。
图4示出了示例查询表。
图5示出了交换机管理器的示例体系结构的框图。
图6示出了用于指派交换机标识的示例流程图。
图7示出了主机设备的示例***图。
具体实施方式
如在本发明中设想的,当实现EVB时多个交换机实例可能在为每一个交换机实例使用单独的查询表时,需要大量的NIC资源。此外,虚拟交换机环境中的交换机实例还可以与动态配置相关联。作为动态配置的结果,为每一个可能的交换机实例指派单独的查询表可能需要太多资源,并且也可能限制可能的配置,因为给定NIC具有有限的资源来支持这些单独的查询表。
在某些示例中,实现了用于向在耦合到主机设备的输入/输出设备处接收到的数据指派交换机标识的技术。对于这些示例,数据可以与在I/O设备上维护的虚拟站接口(VSI)相关联,VSI可以可通信地耦合到在主机设备上实现的虚拟机。对于这些示例,数据可以从虚拟机或能够通过网络通信链路耦合到I/O设备的网络元件中的一个发送。可以基于在所述I/O设备处用于接收所述数据的端口的指派的端口标识符、所述数据的标识信息以及所述标识信息的至少一部分的始发者,向所述数据指派交换机标识。指派的交换机标识可以被用作查询表的一部分,以确定用于在所述I/O设备处处理数据的一个或多个动作。
图1示出了示例第一***。示例第一***,如图1所示,包括***100。***100可以包括耦合到输入/输出(I/O)设备140的主机设备101。如图1所示,I/O设备140可以通过虚拟交换机(V.S.)141、143、146、147、148,以及149包括的各种虚拟站接口(VSI)111D、112D、113A、114B、115C、116D、117E和118x(‘x’表示与还有待于建立的数据信道相关联)耦合到主机设备101。与这些虚拟交换机包括在一起的各种VSI可以分别地被布置为耦合到如图1所示的虚拟机(VM)111-118,并可以允许数据(例如,数据分组或数据帧的形式)从VM 111-118被接收或被发送/传输到VM 111-118)。对于这些示例,VM 111-118可以被配置或布置成使用在主机设备101上维护的计算资源来实现。任意数量的虚拟交换机都可以与任意数量的VSI相关联,以可通信地耦合到任意数量的VM和/或虚拟机管理器(***管理程序)。
根据某些示例,如图1所示,逻辑端口(L-端口)141-1D被示为包括在虚拟交换机141中。L-端口141-1D可以充当能够耦合到数据信道D的逻辑端口。如下面更多地提及的,数据信道D可以被布置为在VM 111和VM 112之间路由数据。数据的路由,例如,可以通过如图1所示的相应的VSI 111D和112D。
此外,还如图1所示,通信链路150-1到150-4可以通过相应的端口130-1到130-4,将网络160中所包括的网络元件耦合到主机设备101。在某些示例中,端口130-1到130-4可以表示物理连接器或端口,通过它们,可以在I/O设备140接收或从I/O设备140发送/传输数据(例如,数据分组或帧的形式)。I/O设备140还被示为包括端口扩展器144。根据某些示例,如图1所示,端口扩展器144可以包括E-端口144-1C和E-端口144-2D。对于这些示例,端口扩展器144可以允许物理端口130-2扩展到至少两个扩展器/逻辑端口以通过E-端口144-1C和E-端口144-2D路由数据去往/来自虚拟交换机146和147。
在某些示例中,如图1所示,I/O设备140包括交换机管理器142。如下面更多地描述的,交换机管理器142可以包括向在I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。对于这些示例,可以在图1中所描绘的各种端口之中的一个端口接收数据。然后,指派的交换机标识可以被用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作(例如,转发、加密/安全性处理等等)。
根据某些示例,I/O设备140可以被配置成根据标题为“Standard for Local andMetropolitan Area Networks-Virtual Bridged Local Area Networks-Bridge PortExtension(用于局域和城域网的IEEE标准—虚拟桥接局域网—桥端口扩展)”并标识为IEEE 802.1BR,草案3.2(2012年1月25日发布)(在下文中为“IEEE 802.1BR”)的提议的IEEE标准(包括后代和变体)的至少某些方面操作或实现这些方面。对于这些示例,I/O设备140也可以被配置成根据提议的IEEE 802.1Qbg标准(包括后代和变体)的至少某些方面操作或实现这些方面。作为IEEE 802.1Qbg或IEEE 802.1BR的实现的部分,可以建立各种数据信道,用于在主机设备101上的虚拟机之间本地或向位于网络160中的网络元件全局地路由数据。
在某些示例中,如图1所示,各种建立的数据信道被标识为数据信道A-E。对于这些示例,耦合到VM 111到VM 116的各种VSI与数据信道A、B、C、D或E相关联,除耦合到虚拟机118的VSI 118x外。在某些示例中,VSI 118x可以表示还有待于与建立的数据信道相关联的VSI。如下面更多地提及的,通过VSI 118x路由的数据可以包括用于最终建立与VSI 118x的数据信道的控制信息。对于这些实例,此控制数据的默认标识或标记可以在I/O设备140中本地生成或产生,然后用于向数据指派交换机标识。
根据某些示例,可以使用数据信道来在位于主机设备101中的VM之间路由数据或在VM和位于网络160中的网络元件之间路由数据。对于这些示例,通过这些数据信道路由的数据的标识信息可以包括在IEEE 802.1Qbg或IEEE 802.1BR中所描述的标记。标记可以是服务标记(S-标记)或桥端口扩展标记(E-标记)。在某些示例中,S-标记或E-标记可以是指示具有这些标记中的一个的数据可以与给定信道相关联的标识信息。这些标记可以全局地生成或发自在诸如网络160上的网络元件之类的I/O设备140的远程的元件。
在某些示例中,交换机管理器142可以包括被布置为在I/O设备140中接收数据的逻辑和/或特征。数据可以与VSI相关联,并可以具有指示与信道A相关联的标识信息(例如,S-标记或E-标记)。如图1所示,耦合到信道A或与信道A相关联的VSI可以是VSI 113A。对于这些示例,VSI 113A可以被布置或配置为耦合到VM 113,并且还被布置为通过虚拟交换机143从VM 113路由数据。根据某些示例,由于数据经由耦合到网络160的数据信道路由,因此,数据可以被视为在耦合到信道A的物理端口130-1被接收。交换机管理器142可以包括被布置或配置成基于指派到端口130-1的标识符、数据的标识信息(例如,标记信息),以及标识信息的至少一部分的始发者,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作。
在某些其他示例中,可以通过端口130-1,在I/O设备140中接收具有指示与信道A的关联的标识信息的数据。然后,可以通过信道A,将通过端口130-1接收到的数据路由到虚拟交换机143。如上文所提及的,VSI 113A可以耦合到VM 113。对于这些示例,VSI 113A可以被布置为导致数据被发送或传输到VM 113。对于这些其他示例,交换机管理器142可以包括被布置或配置成基于指派到I/O设备140接收端口(端口130-1)的标识符、数据的标识信息,以及标识信息的至少一部分的始发者,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的一部分,以确定用于在I/O设备140中处理数据的一个或多个动作。
在某些示例中,可以在I/O设备140中所包括的端口处接收可以通过虚拟交换机141中的数据信道D在VM 111和112之间路由的数据。通过VSI 111D在L-端口141-1D处从VM111接收到的数据可以具有目的地VM 112。对于这些示例,在端口141-1D接收到的数据的标识信息可以包括在I/O设备140(例如,在虚拟交换机141)产生的数据信道标识号码。数据信道D标识号码可以类似于S-标记或E-标记的格式。交换机管理器142可以包括被布置或配置成基于指派到端口141-1D的标识符、本地生成的信道D标识号码,以及标识信息的至少一部分的始发者位于I/O设备140中的指示,向数据指派交换机标识号码的逻辑和/或特征。然后,交换机标识信息可以被交换机管理器142的逻辑和/或特征用作查询表的部分,以确定用于在I/O设备140中处理数据的一个或多个动作。
在某些示例中,虚拟交换机141可以被配置成根据IEEE 802.1Qbg操作,并充当虚拟以太网桥(VEB)。
在某些示例中,通信链路150-1到150-4可以分别通过端口130-1到130-4可通信地将I/O设备140耦合到网络160。通信链路150-1到150-4可以包括各种类型的有线、无线或光学通信介质。对于这些示例,通信链路150-1到150-4可以根据任何版本的一个或多个适用的通信或网络标准操作。通信或网络标准可以包括,但不仅限于,IEEE 802.1Qbg或IEEE802.1BR。
图2示出了示例交换机标识结构200。在某些示例中,交换机管理器142可以包括使用交换机标识结构200来向在I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。如图2所示,交换机标识结构包括字段210、220和230。在某些示例中,字段210可以指示数据的至少一部分的始发者。字段220可以指示可以通过其在I/O设备140中接收数据的端口的指派的端口标识符。字段230可以指示数据的标识信息。数据的标识信息可以包括数据信道标识号码,诸如S-标记、E-标记或本地生成的/产生的默认信息。
根据某些示例,可以通过1比特二进制值0在交换机ID结构200中指示标识信息的本地始发者,并可以通过字段210中的1比特值1指示全局(global)始发者。此外,字段220中的接收到的端口#可以通过3比特值指示。如此,例如,指派的标识符“4”将通过3比特二进制值100指示,指派的标识符“2”将通过3比特二进制值010指示。本发明不仅分别限于字段210或220的1比特或3比特二进制值。
在某些示例中,字段230中所包括的数据的标识信息可以包括从1到4096的数据信道标识号码。此外,S-标记或E-标记信息还可以包括从1到4096的标识号码。这些标识号码可以在字段230中表示为12比特二进制值或3字符十六进制值。本发明不仅限于字段230的12比特二进制或3字符十六进制值,或从1到4096的数字。
图3示出了示例指派的交换机标识表300。在某些示例中,指派的交换机ID表300描绘了可以如何使用与交换机ID结构200相关联的值来向数据指派交换机标识。对于这些示例,指派的交换机ID表300可以至少存储在在I/O设备140中维护的存储器(例如,存储器145)中。在指派的交换机标识表300的左列中列出了I/O设备140的各种虚拟交换机,而在右三列列出了接收到的数据的指派交换机标识。
根据某些示例,交换机管理器142可以包括被配置或布置为基于通过其接收数据的端口的指派的端口标识符、数据的标识信息(标记或默认值),以及标识信息的至少一部分的始发者(本地或全局),向数据指派交换机标识的逻辑和/或特征。例如,上文在生成在VM 111和112之间路由的数据的标识信息时提及了虚拟交换机141。如此,在虚拟交换机141的“本地/全局”列中指示值0。此外,在某些示例中,虚拟交换机141的L-端口141-1D可能已经指派了端口号1,且虚拟交换机141的此端口号在表300中被示为具有二进制值001。进一步地,可以通过数据信道D,在耦合到虚拟交换机141的VSI之间转发数据。对于此示例,与数据信道D相关联的数据信道标识可以具有十六进制值0x005,此值在图3中的“标识信息”列示出。
在某些示例中,如上文对于图1所提及的,虚拟交换机143和146到148可以被配置成接收具有远离I/O设备140地生成或产生的标识信息的数据。因而,在虚拟交换机143和146-148的“本地/全局”列中指示值1。对于这些虚拟交换机,可以通过端口130-1到130-3接收从网络160接收到的数据。这三个端口可以被指派端口号1-3,从左到右(参见图1),并且这些端口号在表300中被示为分别具有二进制值001,010和011。进一步地,数据可以通过经由数据信道A-E中的一个耦合到这些虚拟交换机的VSI转发或路由。根据某些示例,S-标记可以与通过数据信道A-E接收到的数据相关联。通过数据信道A-E接收到的S-标记可以具有分别带有十六进制值0x002、0x003、0x004、0x005,以及0x006的标识号码。
在某些示例中,虚拟交换机149可以被配置成通过耦合到端口130-4的未分配的数据信道x接收数据。由于数据信道没有指派的数据编号,因此通过信道x接收到的数据的标识信息的始发者被认为是本地的,并且在虚拟交换机149的列“本地/全局”列中指示值1。如图1所示,端口130-4可以是耦合到网络160的第四端口。根据某些示例,端口130-4可以被指派具有二进制值100的端口号4,如在“接收到的端口#”列中指示的。此外,还在“标识信息”列中指示默认十六进制值0x000,示出了在虚拟交换机149处接收到的数据可能尚未与数据信道标识号码相关联或被指派数据信道标识号码。
根据某些示例,如表300所示,虚拟交换机141处的数据信道D和虚拟交换机147处的数据信道D的数据信道标识号码两者都是0x005。然而,由于虚拟交换机141处的数据信道D的数据信道标识符来自于本地始发者,因此,由于与对于虚拟交换机147处的数据信道D而言全局标识符具有值1相比,本地标识符具有值0,因此,指派的交换机标识不同。
图4示出了示例查询表400。如图4所示,查询表400包含指派的交换机标识、VSI标识和相关联的动作的列。根据某些示例,指派的交换机标识可基于指派的交换机ID表300,如上文对于图3所描述的。对于这些示例,“本地/全局”和“接收到的端口#”列中的1比特和3比特二进制值可以组合,以形成4比特二进制值,然后,可以将4比特二进制值转换为1字符十六进制值。然后,可以将1字符十六进制值作为第四字符添加到指派的交换机ID表300的“标识信息”列中所示出的3字符数据特征值。作为这些组合的结果,给定指派的交换机标识可以具有如查询表400中所示的4字符十六进制值。例如,具有标识信息的全局始发者并在I/O设备140的端口3接收到的数据将具有4比特二进制值1011,且此值转换到十六进制值B(或十进制数11)。
根据某些示例,如图4所示,查询表400可以包括“VSI信息”列,用以指示包括虚拟局域网(VLAN)/媒体接入控制器(MAC)ID的标识信息。对于这些示例,可以与指派的交换机ID一起使用VLAN/MAC ID信息,以进一步确定对在I/O设备140处接收到的数据要采取哪些动作。
在某些示例中,如图4所示,接收到的数据可以被指派4字符交换机标识号码,交换机管理器142可以包括被配置或布置为使用指定的交换机标识作为查询表400的一部分以及可能VLAN/MAC ID信息以便确定对于通过I/O设备140处的给定端口接收到的数据的动作的逻辑和/或特征。
根据某些示例,在I/O设备140中维护的交换机管理器142可以包括至少临时将查询表400存储在存储器145中的逻辑和/或特征。对于这些示例,存储器145的至少某些部分可以被布置或配置为三重内容可寻址(ternary content-addressable)存储器(TCAM)。在I/O设备140处接收到的并被指派了给定交换机标识的数据可以很快地与其相应的指派的交换机标识相关联,并且可以基于在查询表400中指出的使用该指派的交换机标识来很快地确定对应的处理动作。
在某些示例中,如图4对于查询表400所示的,用于处理被指派了给定交换机标识的数据的动作可以包括将数据直接路由到给定端口。例如,具有指派的交换机标识0x1005的数据可以被直接路由到VSI 111D。然后,可以从VSI 111D向VM 112传输/发送此数据。
根据某些示例,如图4对于查询表400所示的,用于处理被指派给定交换机标识的数据的动作可以包括I/O设备140的元件(例如,密码处理器电路)对数据执行密码处理,然后,将数据路由到给定端口。例如,可以将具有指派的交换机标识0x9002的数据转发到密码处理器电路,用于进行加密/解密,然后,将其路由到VSI 113A。然后,可以从VSI 113A向VM113传输/发送数据。
在某些示例中,如图4对于查询表400所示的,用于处理被指派了给定交换机标识的数据的动作可以包括I/O设备140的元件(例如,安全性处理器电路)对数据执行分组/帧检查处理,然后,将数据路由到给定端口。例如,可以将具有指派的交换机标识0xA005的数据转发到安全性处理器电路,用于进行分组/帧检查,然后,将其路由到相应的端口。然后,可以从VSI 116D向VM 116传输/发送数据。
图5示出了交换机管理器142的示例体系结构的框图。在某些示例中,交换机管理器142可以包括被配置或布置为向在耦合到主机设备的I/O设备140中接收到的数据指派交换机标识的逻辑和/或特征。根据某些示例,如图5所示,交换机管理器142包括交换机逻辑510、控制逻辑520、存储器530和输入/输出(I/O)接口540。如图5所示,交换机逻辑510可以耦合到控制逻辑520、存储器530和I/O接口540。交换机逻辑510可以包括接收特征512、指派特征514,或查询特征516中的一个或多个,或其任何合理的组合。
在某些示例中,图5中所描绘的元件被配置成支持或启用如本发明在别处所描述的交换机管理器142。给定交换机管理器142可以包括图5中所描绘的某些,全部或比其更多的元件。例如,交换机逻辑510和控制逻辑520可以分别地或共同地表示用于实现交换机管理器142的特征的多种逻辑设备或可执行内容。示例逻辑设备可以包括处理器电路、微处理器、微控制器、处理器电路、现场可编程门阵列(FPGA),专用集成电路(ASIC)、多核/多线程微处理器的分离的线程或核、加密块、分摊处理器中的一项或多项或其组合。
在某些示例中,如图5所示,交换机逻辑510包括接收特征512、指派特征514或查询特征516。交换机逻辑510可以被配置成使用这些特征中的一项或多项来执行操作。例如,接收特征512可以在接收数据时辅助I/O设备。指派特征514可以基于通过其在I/O设备中接收数据的端口的指派的端口标识符、数据的标识信息,以及标识信息的至少一部分的始发者,来指派交换机标识号码。查询特征516可以使用指定的交换机标识作为查询表的一部分,以确定用于在I/O设备处处理数据的一个或多个动作。
在某些示例中,控制逻辑520可以被配置成控制模式交换机管理器142的总体操作。如上文所提及的,控制逻辑520可以表示各种逻辑设备或可执行内容中的任何一个。对于某些示例,控制逻辑520可以被配置成与可执行内容或指令一起操作,以实现对交换机管理器142的控制。在某些替换的示例中,控制逻辑520的特征和功能可以在交换机逻辑510内实现。
根据某些示例,存储器530可以被配置为存储供控制逻辑520和/或交换机逻辑210使用的可执行内容或指令。可执行内容或指令可以被用来实现或激活交换机管理器142的特征、元件或逻辑。如下面更多地描述的,存储器530也可以被布置为至少临时维护与向在耦合到主机设备的I/O设备接收到的数据指派交换机标识号码相关联的信息。
存储器530可以包括各种非易失性存储器介质,包括,但不仅限于,闪存、可编程的变量或状态、只读存储器(ROM)、随机存取存储器(RAM),或其他静态或动态存储器介质中的一种或多种类型。
在某些示例中,I/O接口540可以通过本地通信介质或交换机管理器142和I/O设备的元件或主机设备的元件之间的链路来提供接口。I/O接口540可以包括根据各种通信协议或标准来操作以通过本地通信介质或链路进行通信的接口。可以在一个或多个行业标准(包括后代和变体)中,诸如与集成电路之间(I 2C)规范、***管理总线(SMBus)规范、加速图形端口(AGP)规范、***组件互连快速(PCI Express)规范、通用串行总线(USB)规范或串行高级技术附件(SATA)规范相关联的那些,描述这些通信协议或标准。虽然本发明不仅限于上文所提及的标准和相关联的协议。
根据某些示例,I/O接口540可以通过交换机管理器142和位于耦合到I/O设备的计算设备的元件和/或与耦合到I/O设备的通信链路相关联的网络元件之间的网络通信链路或信道,来提供接口。I/O接口540可以包括根据各种通信协议或标准来操作以通过网络通信链路或信道进行通信的接口。可以在以太网相关的标准或规范(包括后代以及变体)(诸如与IEEE 802.1Qbg或IEEE 802.1BR相关联的那些)中描述这些通信协议或标准。本发明不仅限于这些以太网相关的标准。
图6示出了用于指派交换机标识的示例流程图。在某些示例中,如图1所示的***100的元件可以被用来示出与图6中所描绘的流程图有关的示例操作。也可以使用如图1或图5所示的交换机管理器142来示出示例操作。但是,所描述的示例操作不仅限于如上文对于图1或5所描述的***100上的实现或交换机管理器142。
也可以使用如图2-4所示的交换机ID结构200、指派的交换机ID表300和查询表400来示出与图6中所描绘的流程图有关的示例操作。但是,所描述的示例操作不仅限于如图2-4所示的这些特定结构或表。
从开始移动到框610(接收数据),交换机管理器142可以包括被布置为在接收数据(例如,通过接收特征512)时辅助I/O设备140的逻辑和/或特征。在某些示例中,数据可以是数据分组或帧的格式,并具有与主机设备101中的一个或多个虚拟机或网络160中的一个或多个网络元件相关联的目的地。
从框610前进到判断框620(来自网络?),交换机管理器142可以包括被布置为判断是否通过耦合到通信链路150-1到150-4的端口130-1到130-4中的任一个或在虚拟交换机141中所包括的L-端口141-1D处接收数据(例如,通过接收特征512)的逻辑和/或特征。在某些示例中,可以通过虚拟交换机141中所包括的L-端口141-1D从VM 111或VM 112接收数据。对于这些示例,过程移到判断框630。在其他示例中,可以从位于网络160中的网络元件接收数据。对于这些其他示例,过程移到判断框650。
从判断框620移动到判断框630(具有标记吗?),交换机管理器142可以包括被布置为判断接收到的数据是否包括诸如S-标记或E-标记之类的标识信息(例如,通过指派特征514)的逻辑和/或特征。在某些示例中,与数据相关联的数据分组报头可以不包括用于标识与数据信道的关联的标识信息。对于这些其他示例,过程移到判断框640。否则,如果接收到的数据包括标识信息,则过程移到框670。
从判断框630移动到框640(交换机ID={本地,端口#,VSI信道ID}),交换机管理器142可以包括被布置为向数据指派交换机标识的逻辑和/或特征(例如,通过指派特征514)。在某些示例中,由于数据不包括标识信息,因此,标识信息的始发者将是本地的。端口#将是虚拟交换机141中所包括的L-端口141-1D的指派的标识符。VSI信道ID可以是通过交换机管理器142指派的、可以是与S-标记或E-标记格式类似的信道标识号码。
从判断框620移动到判断框650(具有标记吗?),类似于判断框630,交换机管理器142可以判断接收到的数据是否包括诸如S-标记或E-标记之类的标识信息。在某些示例中,与数据相关联的数据分组报头可以不包括用于标识与数据信道的关联的标识信息。对于这些其他示例,过程移到判断框660。否则,如果接收到的数据包括标识信息,则过程移到框670。
从判断框650移动到660(交换机ID={本地,端口#,默认ID}),交换机管理器142可以包括被布置为向数据指派交换机标识的逻辑和/或特征(例如,通过指派特征514)。在某些示例中,类似于框640,由于数据不包括标识信息,标识信息的始发者将是本地的。端口#可以是通过其从网络接收数据的耦合到通信链路150-1到150-4中的一个的端口(例如,端口#4)的指派的标识符。默认ID可以是通过交换机管理器142指派的、可以是与S-标记或E-标记格式类似的默认信道标识号码。
从判断框630或判断框650移动到框670(交换机ID={全局,端口#,标记}),交换机管理器142可以包括被配置成向数据指派交换机标识(例如,通过指派特征514)的逻辑和/或特征。在某些示例中,数据的标识信息可以在I/O设备140的外面或远程产生,因此被认为是全局的。端口#可以是通过其从网络接收数据的耦合到通信链路150-1到150-2中的一个的端口(例如,端口#2)的指派的标识符。此外,标记还可以是数据的标识信息,并可以是与S-标记或E-标记类似的格式。
从框640,660或670移动到框680(使用交换机ID来处理数据),交换机管理器142可以包括用于使用指派到数据的交换机标识号码的逻辑和/或特征,并且也可以使用VSI ID信息(VLAN/MAC ID)来确定用于在I/O设备140处处理数据的一个或多个动作(例如,通过查询特征516)。在某些示例中,可以使用对应的交换机标识号码的查询表400中标识的动作来确定数据的一个或多个动作。如上文所提及的,一个或多个动作可以包括路由数据,对数据的密码处理或对数据的数据包检查处理。然后,过程结束。
图7示出了主机设备700的示例***图。如图7所示,主机设备700包括***管理程序705、操作***710、应用程序720、网络输入/输出(I/O)设备730、用户输入/输出(I/O)设备740、存储750、存储器760、中央处理单元(CPU)770、芯片组780,以及通信装置(Comms)790。根据某些示例,在图7中还描绘了用于互连和/或通信地耦合主机设备700的元件的多个接口。例如,用户接口715和接口735可以允许用户(未示出)和/或应用程序720耦合到操作***710和/或***管理程序705。此外,接口735还可以允许***管理程序705和/或操作***710的元件(例如,设备驱动器711)通信地耦合到主机设备700的元件,诸如网络I/O设备730、用户I/O设备740、存储750、存储器760、CPU 770、芯片组780或通信装置790。接口754,例如,可以允许主机设备700的硬件和/或固件元件可通信地耦合在一起,例如,通过***总线或其他类型的内部通信信道。
在某些示例中,如图7所示,主机设备700可以包括操作***710。操作***710,例如,可以包括一个或多个操作***。操作***710中所包括的分离的操作***可以实现为由主机设备700的元件支持的分离的虚拟机的一部分。对于这些示例,分离的虚拟机可以与CPU 770中所包括的一个或多个处理器相关联。此外,对于这些示例,***管理程序705还可以充当这些分离的虚拟机的虚拟机管理器。
根据某些示例,如图7所示,操作***710可以分别地包括设备驱动器711。设备驱动器711可以包括被配置成与主机设备700的硬件/固件类型的元件进行交互(例如,通过接口735)的逻辑和/或特征。例如,设备驱动器711可以包括控制或指示存储器750或存储器760满足应用程序720或操作***710作出的请求的设备驱动器。设备驱动器711也可以包括使网络I/O设备730与CPU 770和存储器760进行交互以通过耦合到主机设备700的通信信道(例如,通过网络I/O设备730或通信装置790)接收/转发数据的设备驱动器。
在某些示例中,应用程序720可以包括可以在主机设备700上实现的应用程序。对于这些示例,应用程序720可以请求访问(例如,通过操作***710)或使用***的元件,诸如用户I/O设备740、存储750或存储器760。
根据某些示例,网络I/O设备730可以类似于上文对于图1所描述的I/O设备140。对于这些示例,网络I/O设备730可以包括具有被配置或布置为向在网络I/O设备730中接收到的数据指派交换机标识的逻辑和/或特征的交换机管理器142(在图7中未示出)。在某些示例中,网络I/O设备730可以被配置为充当网络接口卡(NIC)。
在某些示例中,用户I/O设备740可以包括耦合到接口754的用于输入数据和要由主机设备700的元件实现的命令的一个或多个用户输入设备。例如,用户输入设备可以包括键盘、鼠标、触摸屏、跟踪板、跟踪球、等点鼠标(isopoint)、语音识别***,和/或等等。类似地,用户I/O设备740可以包括耦合到接口754的用于向操作员或用户输出信息的一个或多个用户输出设备。例如,用户输出设备可以包括一个或多个显示器、打印机、扬声器,和/或其他用户输出设备,如果需要的话。例如,用户输出设备中的一个可以是显示器。显示器可以是阴极射线管(CRT)、液晶显示器(LCD),或任何其他类型的显示器。
在某些示例中,存储750可以包括被配置成在操作的存储模式下被实现或操作的各种类型的存储器。存储750可以包括存储相对大量的数据的不同类型的存储设备中的至少一个或组合。这些不同类型的存储设备可以包括,但不仅限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池供电的SDRAM(同步DRAM)、网络可访问的存储设备,和/或其他类型的非易失性存储器(例如,相变存储器(PCM))。在某些示例中,存储750可以作为用户I/O设备730的一部分被包括,而并非如在图7中所描绘的单独的元件。
根据某些示例,存储器760可以包括不同类型存储器,包括RAM、DRAM、静态RAM(SRAM)、相变材料RAM(PRAM),和/或其他类型的易失性存储器中的至少一种或组合。在某些示例中,存储器760可以被配置成维护网络I/O设备730、CPU 770和/或操作***710的元件所使用的缓冲器,以至少临时存储接收到的数据。
根据某些示例,CPU 770可以实现为主机设备700的中央处理单元。CPU 770可以包括分别地具有一个或多个处理器核的一个或多个处理器。在某些示例中,CPU 770可以包括任何类型的处理器,诸如,例如,多核处理器、精简指令集计算机(RISC)、具有流水线的处理器、复杂指令集计算机(CISC)、数字信号处理器(DSP),等等。
在某些示例中,芯片组780可以在操作***710、网络用户设备730、用户I/O设备740、存储750、存储器760、CPU 770或通信装置790之间提供相互通信。例如,芯片组780可以在操作***710、用户I/O设备740、存储器750以及CPU 770之间提供相互通信,以从存储器750检索信息,以在用户I/O设备740中所包括的显示器上显示图形。图形可以由CPU 770应操作***710中所包括的操作***的请求呈现。
在某些示例中,通信装置790可以包括允许主机设备700在外部与远离主机设备700的元件进行通信的逻辑和/或特征。这些逻辑和/或特征可以包括经由一个或多个有线、无线或光学网络通过有线、无线或光学通信信道或链路来进行通信。在跨这样的网络的通信中,通信装置790可以根据任何版本的一个或多个适用的通信或网络标准来操作。此外,在某些示例中,通信装置790还可以与网络I/O设备730集成,以便接收/向远离主机设备700的元件转发与通信相关联的数据。
如上文所提及的,接口754可以允许主机设备700的硬件和/或固件元件可通信地耦合在一起。根据某些示例,接口754可以根据一个或多个协议或标准来操作。可以在一个或多个行业标准(包括后代和变体)中,诸如与集成电路之间(I2C)标准、***管理总线(SMBus)标准、加速图形端口(AGP)标准、***组件互连快速(PCI Express)标准、通用串行总线(USB)规范、高清晰度多媒体接口(HDMI)标准、数字可视接口(DVI)规范、蓝牙TM规范,或串行高级技术附件(SATA)规范相关联的那些,描述这些协议或标准。虽然本发明不仅限于上文所提及的标准和相关联的协议。
在某些示例中,主机设备700可以被包括在计算设备中。计算设备的示例可以包括,但不仅限于,物理终端站、服务器、刀片式服务器、计算板、工作站、台式计算机、个人计算机(PC)或膝上型计算机、超移动计算机等等。
至少一个示例的一个或多个方面可以通过存储在至少一种机器可读介质上的代表性的指令来实现,指令表示处理器内的各种逻辑,指令在由机器、计算设备或***读取时使机器、计算设备或***制造执行此处所描述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
各示例可以使用硬件元件、软件元件或两者的组合来实现。在某些示例中,硬件元件可包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器组件、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。在某些示例中,软件元件可以包括软件组件、程序、应用程序、计算机程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断一个示例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束,如根据需要给定实现的需要。
某些示例可以包括制品或至少一种计算机可读介质。计算机可读介质可以包括存储逻辑的非瞬态的存储介质。在某些示例中,非瞬态的存储介质可包括一种或多种类型的能够存储电子数据的计算机可读存储介质,包括易失性存储器或非易失性存储器,可移动或不可移动存储器,可擦除或不可擦存储器,可写入或可重写的存储器等等。在某些示例中,逻辑可包括各种软件元件,如软件组件、程序、应用、计算机程序、应用程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。
根据某些示例,计算机可读介质可以包括存储或维护指令的非瞬态的存储介质,所述指令,当由机器、计算设备或***执行时,导致机器、计算设备或***执行根据所描述的示例的方法和/或操作。指令可包括任何合适类型的代码,如源代码、已编译的代码、已解释的代码、可执行代码、静态代码、动态代码等等。指令可以根据预定义的计算机语言、方式或语法来实现,以便指示机器、计算设备或***来执行某一功能。指令可以使用任何合适的高级别的、低级别的、面向对象的、可视的、已编译的和/或解释性编程语言来实现。
可以使用表达“在一个示例中”或“示例”以及它们的派生词来描述某些示例。这些术语意味着,参考示例所描述的特定功能、结构或特征包括在至少一个示例中。在本说明书中的不同位置出现短语“在一个示例中”不一定都是指同一个示例。
可以使用表达耦合摂和连接摂以及它们的派生词来描述某些示例。这些术语不一定作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以表示,两个或更多元件彼此处于直接的物理或电接触的状态。然而,术语"耦合"也可以意味着,两个或更多彼此不直接接触,但是仍彼此合作或进行交互的元件。
要强调的是,提供可公开内容的摘要以符合37C.F.R.第1.72(b)段,要求将可使读者快速地弄清本技术公开的特征的摘要。但应理解,它不能被用来解释或限制权利要求的范围或含义。此外,在前面的“具体实施方式”中,可以看出,各种特点可以组合在一个示例中,以便简化说明。本发明的此方法不应被解释为反映带权利要求的各示例需要比每一个权利要求中明确地列举的特点更多的特点的意图。相反,如下面的权利要求所反映的,本发明的主题在于少于所公开的单一示例的所有特点。如此,下面的权利要求被包括到“详细描述”中,每一个权利要求本身也作为单独的示例。在所附权利要求书中,术语“包括”和“其特征在于”被用作相应的术语包含摂和其中摂的普通英语等效词。此外,术语“第一”、“第二”、“第三”等等只用作标记,并不旨在对它们的对象施加数值要求。
在某些示例中,可以实现包括在耦合到主机设备的输入/输出设备接收数据的方法。数据可以与在输入/输出设备中维护的虚拟站接口相关联。虚拟站接口可以通信地耦合到在主机设备中实现的虚拟机。数据可以从虚拟机或能够通过网络通信链路耦合到输入/输出设备的网络元件中的一个发送。可以基于在所述输入/输出设备处用于接收所述数据的端口的指派的端口标识符、所述数据的标识信息以及所述标识信息的至少一部分始发者,来向所述数据指派交换机标识。根据某些示例,所述指派的交换机标识可以被用作查询表的一部分,以确定用于在所述输入/输出设备处处理数据的一个或多个动作。
在某些示例中,此方法的实现可以包括:所述用于接收数据的端口包括以下一者:能够耦合到网络通信链路的物理端口;或能够耦合到数据信道的逻辑端口,所述数据信道被布置为从虚拟机向在主机设备上实现的另一虚拟机路由数据。
根据某些示例,此方法的实现可以包括基于数据的标识信息是在输入/输出设备中生成的,标识信息的至少部分的始发者要标识为本地的,基于所述数据的所述标识信息是在所述输入/输出设备的外部生成的,所述数据始发者被标识为全局的。对于这些示例,本地标识可以与第一标识符相关联,全局标识可以与第二标识符相关联。基于所述始发者是被标识为本地还是全局,所述指派的交换机标识可以包括所述第一标识符或所述第二标识符中的一个。
在某些示例中,此方法的实现可以包括标识信息的至少一部分的始发者将被标识为本地。对于这些示例,数据的标识信息可以包括与虚拟站接口相关联的数据信道标识号码,所述虚拟站接口通信地耦合到所述虚拟机。
根据某些示例,此方法的实现可以包括标识信息的至少一部分的始发者将被标识为本地。对于这些示例,数据的标识信息可以包括基于与控制数据相关联的所述数据而在输入/输出设备处生成的默认标识号码。控制数据可以涉及在网络元件和虚拟机之间建立数据信道。数据信道通过虚拟站接口来路由。
在某些示例中,此方法的实现可以包括根据一个或多个以太网规范,来操作输入/输出设备。一个或多个以太网规范可以包括电气与电子工程师学会(IEEE)802.1Qbg以太网规范或IEEE 802.1BR以太网规范。对于这些示例,标识信息的至少一部分的始发者可以被标识为全局的,且标识号码可以包括服务标记(S-标记)或桥端口扩展标记(E-标记)中的一个。S-标记或E-标记可以与在网络元件和虚拟机之间建立的数据信道有关。建立的数据信道可以通过虚拟站接口来路由。
根据某些示例,此方法的实现可以包括根据一个或多个以太网规范,来操作I/O设备。一个或多个以太网规范包括电气与电子工程师学会(IEEE)802.1Qbg以太网规范或IEEE802.1BR以太网规范。对于这些示例,标识信息的至少一部分的始发者可以被标识为本地的,且标识号码包括服务标记(S-标记)或桥端口扩展标记(E-标记)中的一个。S-标记或E-标记可以与在虚拟机和网络元件之间建立的数据信道有关。建立的数据信道可以通过虚拟站接口来路由。
在某些示例中,此方法的实现可以包括将与所述I/O设备的多个交换机相关联的信息存储在单个交换机标识表中,所述单个交换机标识表被维护在所述输入/输出设备中的存储器中。信息可以包括数据的指派的交换机标识。
在某些示例中,此方法的实现可以包括使用指派的交换机标识作为查询表的一部分,包括将被存储在输入/输出设备中的存储器中的查询表,存储器被布置为三重按内容寻址的存储器(TCAM)。
根据某些示例,至少一个机器可读介质包括多个指令,响应于在计算设备上被执行,所述指令导致所述计算设备执行如上文所提及的示例方法。
在某些示例中,设备可以包括用于执行如上文所提及的示例方法的装置。
根据某些示例,示例设备可以包括处理器电路和通信地耦合到处理器电路的存储器单元。存储器单元可以被布置为存储在处理器电路上操作的逻辑的指令。逻辑可以被配置成在能够耦合到主机设备的输入/输出设备中接收数据。数据可以具有与在输入/输出设备中维护的虚拟站接口相关联的目的地。虚拟站接口可以能够耦合到在主机设备中实现的虚拟机。数据可以从虚拟机或能够通过网络通信链路耦合到输入/输出设备的网络元件中的一个发送。逻辑还可以被配置成基于在输入/输出设备处用于接收数据的指派的端口标识符、数据的标识信息以及标识信息的至少一部分的始发者,向数据指派交换机标识。对于这些示例,逻辑可以被配置成使用所述指派的交换机标识作为查询表的一部分,以便确定用于在所述输入/输出设备处处理所述数据的一个或多个动作。
在示例设备的某些示例中,存储器单元可以包括易失性存储器。
在示例设备的某些示例中,所述用于接收数据的端口可以包括以下一者:能够耦合到网络通信链路的物理端口;或能够耦合到数据信道的逻辑端口,所述数据信道被配置为从虚拟机向在主机设备中实现的虚拟机路由数据。
根据示例设备的某些示例,基于数据的标识信息是在输入/输出设备中生成的,标识信息的至少一部分的始发者可以被标识为本地的。基于所述数据的所述标识信息是在所述输入/输出设备的外部生成的,所述数据始发者也可以被标识也可以全局的。本地标识可以与第一标识符相关联,而全局标识可以与第二标识符相关联。基于所述始发者是被标识为本地还是全局,所述指派的交换机标识可以包括所述第一标识符或所述第二标识符中的一个。
在示例设备的某些示例中,标识信息的至少一部分的始发者可以被标识为本地的。此外,数据的标识信息还可以包括与虚拟站接口相关联的数据信道标识号码,所述虚拟站接口能够耦合到所述虚拟机。
根据示例设备的某些示例,标识信息的至少一部分的始发者可以被标识为本地的。对于这些示例,数据的标识信息可以包括基于与控制数据相关联的所述数据而在输入/输出设备处生成的默认标识号码。控制数据可以与通过虚拟站接口在网络元件和虚拟站接口之间建立数据信道有关。
在示例设备的某些示例中,输入/输出设备可以被配置为根据一个或多个以太网规范操作,包括电气与电子工程师学会(IEEE)802.1Qbg以太网规范或IEEE 802.1BR以太网规范。对于这些示例,标识信息的至少一部分的始发者可以被标识为全局的。标识号码可以包括服务标记(S-标记)或桥端口扩展标记(E-标记)中的一个。S-标记或E-标记可以与在网络元件和虚拟机之间建立的数据信道有关。数据信道可以通过虚拟站接口来路由。
根据示例设备的某些示例,输入/输出设备可以被布置为根据一个或多个以太网规范操作,所述一个或多个以太网规范包括电气与电子工程师学会(IEEE)802.1Qbg以太网规范或IEEE 802.1BR以太网规范。对于这些示例,标识信息的至少一部分的始发者可以被标识为本地的,标识号码包括服务标记(S-标记)或桥端口扩展标记(E-标记)中的一个。此外,S-标记或E-标记还可以与在虚拟机和网络元件之间建立的数据信道有关。建立的数据信道可以通过虚拟站接口来路由。
在示例设备的某些示例中,逻辑也可以被配置成使用指派的交换机标识作为存储在输入/输出设备中的存储器中的查询表的一部分。存储器可以被布置为三重按内容寻址的存储器(TCAM)。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (23)
1.一种用于输入/输出设备的方法,包括:
在耦合到主机设备的输入/输出设备处接收数据,所述数据用于通过在所述输入/输出设备处维护的虚拟站接口被路由,所述虚拟站接口通信地耦合到在所述主机设备处实现的虚拟机,所述数据是从所述虚拟机或网络元件中的一个被发送的,所述网络元件能够通过网络通信链路耦合到所述输入/输出设备;
基于在所述输入/输出设备处接收所述数据所通过的端口的所指派的端口标识符、所述数据的标识信息以及所述标识信息的至少一部分的始发者,向所述数据指派交换机标识;
使用所述指派的交换机标识作为查询表的一部分,以确定用于在所述输入/输出设备处处理数据的一个或多个动作。
2.如权利要求1所述的方法,其特征在于,所述用于接收所述数据的端口包括以下一者:能够耦合到所述网络通信链路的物理端口;或能够耦合到数据信道的逻辑端口,所述数据信道被布置为将数据从所述虚拟机路由到在所述主机设备处实现的另一虚拟机。
3.如权利要求1所述的方法,其特征在于,所述标识信息的至少所述一部分的所述始发者基于在所述输入/输出设备处生成的所述数据的所述标识信息而将被标识为本地的,或者所述数据始发者基于在所述输入/输出设备外部生成的所述标识信息而将被标识为全局的,本地标识与第一标识符相关联,而全局标识与第二标识符相关联,所述指派的交换机标识基于所述始发者是被标识为本地还是全局的而包括所述第一标识符或所述第二标识符中的一个。
4.如权利要求1所述的方法,其特征在于,所述标识信息的至少一部分的所述始发者将被标识为本地,并且所述数据的标识信息包括与所述虚拟站接口相关联的数据信道标识号码,所述虚拟站接口通信地耦合到所述虚拟机。
5.如权利要求1所述的方法,其特征在于,所述标识信息的至少一部分的所述始发者将被标识为本地,并且所述数据的所述标识信息包括基于与控制数据相关联的数据而在所述输入/输出设备处生成的默认标识号码,所述控制数据与在所述网络元件与所述虚拟机之间建立数据信道有关,所述数据信道通过所述虚拟站接口路由。
6.如权利要求1所述的方法,其特征在于,包括根据一个或多个以太网规范来操作所述输入/输出设备,所述以太网规范包括电气与电子工程师学会IEEE 802.1Qbg以太网规范或IEEE 802.1BR以太网规范,所述标识信息的至少一部分的所述始发者将被标识为全局,并且所述标识号码包括服务标记S-标记或桥端口扩展标记E-标记中的一个。
7.如权利要求6所述的方法,其特征在于,所述S-标记或所述E-标记与在所述网络元件和所述虚拟机之间建立的数据信道有关,所建立的数据信道通过所述虚拟站接口路由。
8.如权利要求1所述的方法,其特征在于,包括根据一个或多个以太网规范来操作所述输入/输出设备,所述以太网规范包括电气与电子工程师学会IEEE 802.1Qbg以太网规范或IEEE 802.1BR以太网规范,所述标识信息的至少一部分的所述始发者将被标识为本地,所述标识号码包括服务标记S-标记或桥端口扩展标记E-标记中的一个。
9.如权利要求8所述的方法,其特征在于,所述S-标记或所述E-标记与在所述虚拟机和所述网络元件之间建立的数据信道有关,所建立的数据信道通过所述虚拟站接口路由。
10.如权利要求1所述的方法,包括将与所述输入/输出设备的多个交换机相关联的信息存储在单个交换机标识表中,所述单个交换机标识表在所述输入/输出设备处的存储器中被维护。
11.如权利要求10所述的方法,其特征在于,包括包含所述数据的所述指派的交换机标识的所述信息。
12.如权利要求1所述的方法,其特征在于,使用所述指派的交换机标识作为查询表的一部分包括要存储在所述输入/输出设备处的存储器中的所述查询表,所述存储器被布置为三重按内容寻址的存储器TCAM。
13.一种用于输入/输出设备的装置,包括:
处理器电路;以及
通信地耦合到所述处理器电路的存储器单元,所述存储器单元被布置为存储用于在所述处理器电路上操作的逻辑的指令,所述逻辑被配置成在能够耦合到主机设备的输入/输出设备处接收数据,所述数据布置为通过在所述输入/输出设备处维护的虚拟站接口被路由,所述虚拟站接口能够耦合到在所述主机设备上实现的虚拟机,所述数据是从所述虚拟机或能够通过网络通信链路耦合到所述输入/输出设备的网络元件中的一个发送的,所述逻辑还被配置成基于在所述输入/输出设备处接收所述数据所通过的端口的所指派的端口标识符、所述数据的标识信息以及所述标识信息的至少一部分的始发者,向所述数据指派交换机标识,所述逻辑被配置成使用所述指派的交换机标识作为查询表的一部分,以便确定用于在所述输入/输出设备处处理所述数据的一个或多个动作。
14.如权利要求13所述的装置,其特征在于,包括所述存储器单元,所述存储器包括易失性存储器。
15.如权利要求13所述的装置,其特征在于,所述用于接收所述数据的端口包括以下一者:能够耦合到所述网络通信链路的物理端口;或能够耦合到数据信道的逻辑端口,所述数据信道被布置为将数据从所述虚拟机路由到在所述主机设备处实现的另一虚拟机。
16.如权利要求13所述的装置,基于在所述输入/输出设备处生成的所述数据的所述标识信息,将所述标识信息的至少所述一部分的所述始发者标识为本地的,或者基于在所述输入/输出设备的外部生成的所述数据的所述标识信息,将所述始发者被标识为全局的,本地标识与第一标识符相关联,而全局标识与第二标识符相关联,所述指派的交换机标识基于所述始发者是被标识为本地还是全局而包括所述第一标识符或所述第二标识符中的一个。
17.如权利要求16所述的装置,其特征在于,包括:所述标识信息的至少一部分的所述始发者将被标识为本地的,并且所述数据的所述标识信息包括与所述虚拟站接口相关联的数据信道标识号码,所述虚拟站接口能够耦合到所述虚拟机。
18.如权利要求16所述的装置,其特征在于,包括:所述标识信息的至少一部分的所述始发者将被标识为本地的,并且所述数据的所述标识信息包括基于与控制数据相关联的数据而在所述输入/输出设备处生成的默认标识号码,所述控制数据与在所述网络元件与所述虚拟机之间建立数据信道有关,所述数据信道通过所述虚拟站接口路由。
19.如权利要求13所述的装置,所述输入/输出设备被布置为根据一个或多个以太网规范操作,所述以太网规范包括电气与电子工程师学会IEEE 802.1Qbg以太网规范或IEEE802.1BR以太网规范,所述标识信息的至少一部分的所述始发者将被标识为全局的,并且所述标识号码包括服务标记S-标记或桥端口扩展标记E-标记中的一个。
20.如权利要求19所述的装置,其特征在于,所述S-标记或所述E-标记与在所述网络元件和所述虚拟机之间建立的数据信道有关,所建立的数据信道通过所述虚拟站接口路由。
21.如权利要求13所述的装置,所述输入/输出设备被布置为根据一个或多个以太网规范操作,所述以太网规范包括电气与电子工程师学会IEEE802.1Qbg以太网规范或IEEE802.1BR以太网规范,所述标识信息的至少一部分的所述始发者将被标识为本地,并且所述标识号码包括服务标记S-标记或桥端口扩展标记E-标记中的一个。
22.如权利要求21所述的装置,其特征在于,所述S-标记或所述E-标记与在所述虚拟机和所述网络元件之间建立的数据信道有关,所建立的数据信道通过所述虚拟站接口路由。
23.如权利要求13所述的装置,包括所述逻辑还被配置成使用所述指派的交换机标识作为存储在所述输入/输出设备处的存储器中的查询表的一部分,所述存储器被布置为三重按内容寻址的存储器TCAM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710697402.5A CN107508767B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280071997.9A CN104221343B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
PCT/US2012/031276 WO2013147805A1 (en) | 2012-03-29 | 2012-03-29 | Techniques for using an assigned switch identification at an input/output device |
CN201710697402.5A CN107508767B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071997.9A Division CN104221343B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107508767A CN107508767A (zh) | 2017-12-22 |
CN107508767B true CN107508767B (zh) | 2020-10-02 |
Family
ID=49260867
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071997.9A Active CN104221343B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
CN201710697402.5A Active CN107508767B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280071997.9A Active CN104221343B (zh) | 2012-03-29 | 2012-03-29 | 用于在输入/输出设备中使用指派的交换机标识的技术 |
Country Status (5)
Country | Link |
---|---|
KR (1) | KR101617210B1 (zh) |
CN (2) | CN104221343B (zh) |
DE (1) | DE112012006126T5 (zh) |
TW (1) | TWI651957B (zh) |
WO (1) | WO2013147805A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9823849B2 (en) * | 2015-06-26 | 2017-11-21 | Intel Corporation | Method and apparatus for dynamically allocating storage resources to compute nodes |
TWI622884B (zh) * | 2016-11-17 | 2018-05-01 | 宏碁股份有限公司 | 根複合體管理方法及根複合體 |
CN109426545B (zh) * | 2017-08-31 | 2023-02-03 | 阿里巴巴集团控股有限公司 | 一种数据通信方法及装置 |
CN112532756B (zh) * | 2019-09-17 | 2023-10-24 | 华为技术有限公司 | 接口扩展方法、装置和*** |
CN114328623A (zh) * | 2021-12-28 | 2022-04-12 | 深圳云天励飞技术股份有限公司 | 芯片***中的数据传输处理方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010028028A1 (en) * | 2008-09-08 | 2010-03-11 | Virginia Tech Intellectual Properties | Systems, devices, and methods for managing energy usage |
US7693158B1 (en) * | 2003-12-22 | 2010-04-06 | Extreme Networks, Inc. | Methods and systems for selectively processing virtual local area network (VLAN) traffic from different networks while allowing flexible VLAN identifier assignment |
CN102340419A (zh) * | 2010-07-16 | 2012-02-01 | 美国博通公司 | 用于网络的方法和*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101202706A (zh) * | 2003-09-26 | 2008-06-18 | 华为技术有限公司 | 一种虚拟交换机*** |
US8838743B2 (en) * | 2004-02-13 | 2014-09-16 | Intel Corporation | Apparatus and method for a dynamically extensible virtual switch |
US7620741B2 (en) * | 2005-04-22 | 2009-11-17 | Sun Microsystems, Inc. | Proxy-based device sharing |
TW200917240A (en) * | 2007-10-05 | 2009-04-16 | Sheng-Chi Chen | Perpendicular magnetic recording film and method of fabricating the same |
US8195774B2 (en) * | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US8924960B2 (en) * | 2008-08-28 | 2014-12-30 | Intel Corporation | Assignment, at least in part, of at least one virtual machine to at least one packet |
US8213336B2 (en) * | 2009-02-23 | 2012-07-03 | Cisco Technology, Inc. | Distributed data center access switch |
US8130641B2 (en) * | 2009-03-13 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Methods and systems for managing network traffic within a virtual network system |
US20110286380A1 (en) * | 2010-05-21 | 2011-11-24 | Yee Yi Zhu | Wireless workgroup bridge for network viryualization |
CN102316001B (zh) * | 2011-10-13 | 2014-02-05 | 杭州华三通信技术有限公司 | 一种虚拟网络连接配置实现方法和网络设备 |
-
2012
- 2012-03-29 DE DE112012006126.8T patent/DE112012006126T5/de not_active Ceased
- 2012-03-29 WO PCT/US2012/031276 patent/WO2013147805A1/en active Application Filing
- 2012-03-29 KR KR1020147027286A patent/KR101617210B1/ko not_active IP Right Cessation
- 2012-03-29 CN CN201280071997.9A patent/CN104221343B/zh active Active
- 2012-03-29 CN CN201710697402.5A patent/CN107508767B/zh active Active
-
2013
- 2013-02-26 TW TW102106685A patent/TWI651957B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7693158B1 (en) * | 2003-12-22 | 2010-04-06 | Extreme Networks, Inc. | Methods and systems for selectively processing virtual local area network (VLAN) traffic from different networks while allowing flexible VLAN identifier assignment |
WO2010028028A1 (en) * | 2008-09-08 | 2010-03-11 | Virginia Tech Intellectual Properties | Systems, devices, and methods for managing energy usage |
CN102340419A (zh) * | 2010-07-16 | 2012-02-01 | 美国博通公司 | 用于网络的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
KR20140139522A (ko) | 2014-12-05 |
DE112012006126T5 (de) | 2014-12-24 |
CN107508767A (zh) | 2017-12-22 |
CN104221343B (zh) | 2017-09-26 |
CN104221343A (zh) | 2014-12-17 |
KR101617210B1 (ko) | 2016-05-18 |
TWI651957B (zh) | 2019-02-21 |
WO2013147805A1 (en) | 2013-10-03 |
TW201404097A (zh) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280367B2 (en) | Techniques for using an assigned switch identification at an input/output device | |
US10491517B2 (en) | Packet processing method in cloud computing system, host, and system | |
US11005755B2 (en) | Packet processing method in cloud computing system, host, and system | |
EP3386157B1 (en) | Packet transmission method, device and system | |
US8964600B2 (en) | Methods of forming virtual network overlays | |
US8806025B2 (en) | Systems and methods for input/output virtualization | |
US8798056B2 (en) | Method and system for virtual port communications | |
US9602416B2 (en) | Overlay capabilities exchange using DCBX | |
CN107508767B (zh) | 用于在输入/输出设备中使用指派的交换机标识的技术 | |
US9973335B2 (en) | Shared buffers for processing elements on a network device | |
US20190196857A1 (en) | Providing link aggregation and high availability through network virtualization layer | |
US8533320B2 (en) | Coalescing network notifications for live migration | |
US20200021518A1 (en) | Packet processing using service chains | |
US9503278B2 (en) | Reflective relay processing on logical ports for channelized links in edge virtual bridging systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |