TW201404097A - Techniques for using an assigned switch identification at an input/output device - Google Patents

Techniques for using an assigned switch identification at an input/output device Download PDF

Info

Publication number
TW201404097A
TW201404097A TW102106685A TW102106685A TW201404097A TW 201404097 A TW201404097 A TW 201404097A TW 102106685 A TW102106685 A TW 102106685A TW 102106685 A TW102106685 A TW 102106685A TW 201404097 A TW201404097 A TW 201404097A
Authority
TW
Taiwan
Prior art keywords
data
identification
input
identification information
tag
Prior art date
Application number
TW102106685A
Other languages
Chinese (zh)
Other versions
TWI651957B (en
Inventor
Eliel Louzoun
Izhar Hofshi
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201404097A publication Critical patent/TW201404097A/en
Application granted granted Critical
Publication of TWI651957B publication Critical patent/TWI651957B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment

Abstract

Examples are disclosed for assigning a switch identification to data received at an input/output device coupled to a host device. In some examples, the data may be associated with a virtual station interface (VSI) for a virtual machine implemented at the host device. For these examples, a switch identification may be assigned to the data based on an assigned port identifier, identification information for the data, or an originator of at least a portion of the identification information. The assigned switch identification may then be used as part of a lookup table to determine one or more actions for processing the data at the input/output device. Other examples are described and claimed.

Description

使用經指派之切換識別於輸入/輸出裝置上的技術 Techniques for identifying the input/output devices using assigned switches

本發明係有關於使用經指派之切換識別於輸入/輸出裝置上的技術。 The present invention is directed to techniques for identifying an input/output device using an assigned switch.

發明背景 Background of the invention

諸如網路介面卡(network interface card,NIC)之輸入/輸出(I/O)裝置可耦接至部署於伺服器-網路邊緣中之計算平台或主機裝置,在該伺服器-網路邊緣處,伺服器網域(server domain)結束且外部網路網域(external network domain)開始。用以在此等類型之環境中使切換邏輯或電路實施於NIC處之已知方式係經由使用一組查找表。該等查找表可識別諸如封包標頭之資料之部分,且接著,可基於封包標頭而在查找表中定義動作。查找表通常在實施經由單一切換執行個體而連接所有埠之切換電路之NIC中良好地起作用。 An input/output (I/O) device, such as a network interface card (NIC), can be coupled to a computing platform or host device deployed in the server-network edge at the server-network edge At the end, the server domain ends and the external network domain begins. A known way to implement switching logic or circuitry at the NIC in these types of environments is via the use of a set of lookup tables. The lookup tables may identify portions of the material such as the packet header, and then, the actions may be defined in the lookup table based on the packet header. Lookup tables generally function well in NICs that implement switching circuits that connect all of the ports via a single handoff.

美國電機電子工程師學會(Institute of Electrical and Electronics Engineers,IEEE)之建議標準描述將眾多切換器實施為邊緣虛擬橋接(Edge Virtual Bridging,EVB)之部 分。該建議標準具有標題「IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Amendment Edge Virtual Bridging」,且被識別為2012年1月30日公開之IEEE 802.1Qbg--草稿2.1(在下文中為「IEEE 802.1Qbg」)。根據IEEE 802.Qbg而操作之NIC可需要針對與乙太網路埠相關聯之各邏輯或虛擬埠實施分離專用切換執行個體。又,該NIC可需要針對可包括虛擬機(virtual machine,VM)之主機裝置處之處理元件之間的內部訊務實施額外區域切換執行個體(local switch instance)。另外,可需要串接式切換執行個體以在單一乙太網路埠內實施虛擬乙太網路橋接器(Virtual Ethernet Bridge,VEB)或虛擬乙太網路埠彙總工具(Virtual Ethernet Port Aggregator,VEPA)。對於此等多個切換執行個體,針對各切換執行個體使用分離查找表可需要實質量之NIC資源。 The proposed standard of the Institute of Electrical and Electronics Engineers (IEEE) describes the implementation of many switchers as Edge Virtual Bridging (EVB). Minute. The proposed standard has the title "IEEE Standard for Local and Metropolitan Area Networks - Virtual Bridged Local Area Networks - Amendment Edge Virtual Bridging" and is identified as IEEE 802.1Qbg - Draft 2.1 published on January 30, 2012 (hereinafter in "IEEE 802.1Qbg"). A NIC operating in accordance with IEEE 802.Qbg may need to implement separate dedicated handover enforcement entities for each logical or virtual port associated with the Ethernet network. Again, the NIC may need to implement an additional local switch instance for internal traffic between processing elements at the host device that may include a virtual machine (VM). In addition, a tandem switch implementation entity may be required to implement a Virtual Ethernet Bridge (VEB) or a Virtual Ethernet Port Aggregator (VEPA) within a single Ethernet network. ). For such multiple handover performers, the use of a separate lookup table for each handover executive may require a substantial quality NIC resource.

依據本發明之一實施例,係特地提出一種方法,其包含:在耦接至一主機裝置之一輸入/輸出裝置處接收資料,該資料係與維持於該輸入/輸出裝置處之一虛擬站介面相關聯,該虛擬站介面以通信方式耦接至實施於該主機裝置處之一虛擬機,該資料係自該虛擬機或一網路元件中之一者予以發送,該網路元件能夠經由一網路通信鏈路而耦接至該輸入/輸出裝置;基於用於在該輸入/輸出裝置處接收該資料所透過的埠之一經指派的埠識別符、用於該資料之識別資訊及該識別資訊之至少一部分之一發源端而將一切 換識別指派至該資料;使用該經指派之切換識別作為一查找表之部分以判定用於在該輸入/輸出裝置處處理該資料之一個或多個動作。 According to an embodiment of the present invention, a method is specifically provided, comprising: receiving data at an input/output device coupled to a host device, the data being maintained at a virtual station at the input/output device Associated with the interface, the virtual station interface is communicatively coupled to a virtual machine implemented at the host device, the data being transmitted from one of the virtual machine or a network element, the network element being a network communication link coupled to the input/output device; one of the assigned identifiers for transmitting the data at the input/output device, the identification information for the data, and the Identifying at least one of the sources of information and putting everything The change identification is assigned to the profile; the assigned switch identification is used as part of a lookup table to determine one or more actions for processing the data at the input/output device.

100‧‧‧系統 100‧‧‧ system

101、700‧‧‧主機裝置 101, 700‧‧‧ host device

103-2‧‧‧實體埠 103-2‧‧‧ Entity

111、112、113、114、115、116、117、118‧‧‧虛擬機(VM) 111, 112, 113, 114, 115, 116, 117, 118‧‧‧ virtual machine (VM)

111D、112D、113A、114B、115C、116D、117E、118x‧‧‧虛擬站介面(VSI) 111D, 112D, 113A, 114B, 115C, 116D, 117E, 118x‧‧‧ Virtual Station Interface (VSI)

130-1、130-2、130-3、130-4‧‧‧埠 130-1, 130-2, 130-3, 130-4‧‧‧埠

140‧‧‧輸入/輸出(I/O)裝置 140‧‧‧Input/Output (I/O) devices

141、143、146、147、148、149‧‧‧虛擬切換器(V.S.) 141, 143, 146, 147, 148, 149‧‧ virtual switchers (V.S.)

141-D‧‧‧邏輯埠(L埠) 141-D‧‧‧Logical (L埠)

142‧‧‧切換管理器 142‧‧‧Switch Manager

143A/B、146C、147D、148E、149x‧‧‧鏈路 143A/B, 146C, 147D, 148E, 149x‧‧ links

144‧‧‧埠延伸器 144‧‧‧埠 Extender

144-1C、144-2D‧‧‧E埠 144-1C, 144-2D‧‧‧E埠

145、530、760‧‧‧記憶體 145, 530, 760‧‧‧ memory

150-1、150-2、150-3、150-4‧‧‧通信鏈路 150-1, 150-2, 150-3, 150-4‧‧‧ communication links

160‧‧‧網路 160‧‧‧Network

200‧‧‧實例切換識別結構 200‧‧‧Instance switching identification structure

210、220、230‧‧‧欄位 210, 220, 230‧‧‧ fields

300‧‧‧經指派之切換識別表 300‧‧‧ Assigned Switch Identification Table

400‧‧‧查找表 400‧‧‧ lookup table

510‧‧‧切換邏輯 510‧‧‧Switching logic

512‧‧‧接收特徵 512‧‧‧ receiving characteristics

514‧‧‧指派特徵 514‧‧‧ Assignment features

516‧‧‧查找特徵 516‧‧‧ Find features

520‧‧‧控制邏輯 520‧‧‧Control logic

540‧‧‧輸入/輸出(I/O)介面 540‧‧‧Input/Output (I/O) interface

610至680‧‧‧區塊 Block 610 to 680‧‧

705‧‧‧超級監督器 705‧‧‧Super Supervisor

710‧‧‧作業系統 710‧‧‧ operating system

711‧‧‧裝置驅動器 711‧‧‧ device driver

715‧‧‧使用者介面 715‧‧‧User interface

720‧‧‧應用程式 720‧‧‧Application

730‧‧‧網路輸入/輸出(I/O)裝置 730‧‧‧Network Input/Output (I/O) Devices

735、754‧‧‧介面 735, 754‧‧ interface

740‧‧‧使用者輸入/輸出(I/O)裝置 740‧‧‧User input/output (I/O) device

750‧‧‧儲存器 750‧‧‧Storage

770‧‧‧中央處理單元(CPU) 770‧‧‧Central Processing Unit (CPU)

780‧‧‧晶片組 780‧‧‧ chipsets

790‧‧‧通信(Comms) 790‧‧‧Communication (Comms)

圖1例示實例系統。 Figure 1 illustrates an example system.

圖2例示實例切換識別結構。 Figure 2 illustrates an example switch identification structure.

圖3例示實例經指派之切換識別表。 FIG. 3 illustrates an example assigned handover identification table.

圖4例示實例查找表。 Figure 4 illustrates an example lookup table.

圖5例示用於切換管理器之實例架構的方塊圖。 Figure 5 illustrates a block diagram of an example architecture for a handover manager.

圖6例示用於指派切換識別之實例流程圖。 Figure 6 illustrates an example flow diagram for assigning handover identification.

圖7例示用於主機裝置之實例系統圖。 Figure 7 illustrates an example system diagram for a host device.

較佳實施例之詳細說明 Detailed description of the preferred embodiment

如本發明所預期,當針對各切換執行個體使用分離查找表時,在實施EVB時之多個切換執行個體可需要實質量之NIC資源。又,虛擬切換環境中之切換執行個體可與動態組配相關聯。由於動態組配,針對各可能切換執行個體指派一分離查找表可需要過多資源且亦可限定可能組配,此係因為給定NIC具有有限資源來支援此等分離查找表。 As contemplated by the present invention, when a separate lookup table is used for each handover execution individual, multiple handover execution individuals may need real quality NIC resources when implementing the EVB. Also, the handover execution individual in the virtual handover environment can be associated with the dynamic association. Due to dynamic composition, assigning a separate lookup table for each possible handover execution individual may require too much resources and may also define possible combinations, since a given NIC has limited resources to support such separate lookup tables.

在一些實例中,實施用於將切換識別指派至在耦接至主機裝置之輸入/輸出裝置處接收之資料的技術。對於此等實例,該資料可與維持於I/O裝置處之虛擬站介面(virtual station interface,VSI)相關聯,VSI可以通信方式耦 接至實施於主機裝置處之虛擬機。對於此等實例,資料可能已自虛擬機或網路元件中之一者予以發送,該網路元件能夠經由網路通信鏈路而耦接至I/O裝置。可基於用於供在I/O裝置處接收資料之埠的經指派之埠識別符、用於資料之識別資訊及識別資訊之至少一部分之發源端而將切換識別指派至資料。可使用經指派之切換識別作為查找表之部分以判定用於在I/O裝置處處理資料之一或多個動作。 In some examples, techniques are implemented for assigning handover identification to data received at an input/output device coupled to a host device. For such instances, the data can be associated with a virtual station interface (VSI) maintained at the I/O device, and the VSI can be communicatively coupled. Connect to the virtual machine implemented at the host device. For such instances, the data may have been sent from one of a virtual machine or a network element that can be coupled to the I/O device via a network communication link. The handover identification can be assigned to the profile based on the originator for the at least a portion of the assigned 埠 identifier for the data received at the I/O device, the identification information for the data, and the identification information. The assigned handover identification can be used as part of a lookup table to determine one or more actions for processing data at the I/O device.

圖1例示實例第一系統。如圖1所示,實例第一系統包括系統100。系統100可包括耦接至輸入/輸出(I/O)裝置140之主機裝置101。如圖1所示,I/O裝置140可經由包括於虛擬切換器(virtual switch,V.S.)141、143、146、147、148及149中之各種虛擬站介面(VSI)111D、112D、113A、114B、115C、116D、117E及118x而耦接至主機裝置101(「x」指示與仍待建立之資料通道的關聯)。與此等虛擬切換器一起被包括之各種VSI可經分離地配置以如圖1所示而耦接至虛擬機(VM)111至118,且可使資料(例如,呈資料封包或資料訊框之形式)能夠自VM 111至118予以接收/傳輸至VM 111至118。對於此等實例,VM 111至118可經組配或配置以使用維持於主機裝置101處之計算資源予以實施。任何數目個虛擬切換器可與任何數目個VSI相關聯而以通信方式耦接至任何數目個VM及/或虛擬機管理器(超級監督器)。 Figure 1 illustrates an example first system. As shown in FIG. 1, an example first system includes system 100. System 100 can include a host device 101 coupled to an input/output (I/O) device 140. As shown in FIG. 1, the I/O device 140 can be connected via various virtual station interfaces (VSI) 111D, 112D, 113A included in virtual switches (VS) 141, 143, 146, 147, 148, and 149. 114B, 115C, 116D, 117E and 118x are coupled to the host device 101 ("x" indicates association with a data channel still to be established). The various VSIs included with such virtual switchers can be separately configured to be coupled to virtual machines (VMs) 111-118 as shown in FIG. 1, and can enable data (eg, data packets or data frames) The form can be received/transmitted from VMs 111 through 118 to VMs 111 through 118. For such instances, VMs 111 through 118 can be configured or configured to be implemented using computing resources maintained at host device 101. Any number of virtual switchers can be associated with any number of VSIs and communicatively coupled to any number of VMs and/or virtual machine managers (super supervisors).

根據一些實例,如圖1所示,邏輯埠(L埠)141-D被展示為包括於虛擬切換器141中。L埠141-D可充當能 夠耦接至資料通道D之邏輯埠。如下文更多所提及,資料通道D可經配置以在VM 111與VM 112之間路由資料。舉例來說,資料之路由可經由各別VSI 111及112,如圖1所示。 According to some examples, as shown in FIG. 1, a logical volume (L埠) 141-D is shown as being included in the virtual switcher 141. L埠141-D can act as energy The logic 耦 is coupled to the data channel D. As mentioned more below, data channel D can be configured to route data between VM 111 and VM 112. For example, routing of data can be via respective VSIs 111 and 112, as shown in FIG.

又,如圖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可使實體埠103-2能夠延伸至至少兩個延伸器/邏輯埠以經由E埠144-1C及E埠144-2D而將資料路由至虛擬切換器146及147/自虛擬切換器146及147路由資料。 Also, as shown in FIG. 1, communication links 150-1 through 150-4 can couple network elements included in network 160 to host device 101 via respective ports 130-1 through 130-4. In some examples, 埠130-1 through 130-4 may represent entities available for receiving/transmitting data (eg, in the form of data packets or frames) from I/O device 140. Connector or port. I/O device 140 is also shown to include a bore extender 144. According to some examples, as shown in FIG. 1, the ankle extender 144 can include E埠144-1C and E埠144-2D. For such examples, the 埠 extender 144 can enable the entity 埠 103-2 to extend to at least two extenders/logic 埠 to route data to the virtual switch 146 via the E 埠 144-1C and E 埠 144-2D and 147/ Routing data from virtual switchers 146 and 147.

在一些實例中,如圖1所示,I/O裝置140包括切換管理器142。如下文更多所描述,切換管理器142可包括用以將切換識別指派至在I/O裝置140處接收之資料之邏輯及/或特徵。對於此等實例,該資料可在來自圖1所描繪之各種埠當中之埠處被接收。接著,可使用經指派之切換識別作為查找表之部分以判定用於在I/O裝置140處處理資料之一或多個動作(例如,轉遞、密碼編譯/安全性處理,等等)。 In some examples, as shown in FIG. 1, I/O device 140 includes a switch manager 142. As described more below, the switch manager 142 can include logic and/or features to assign handover identification to data received at the I/O device 140. For such instances, the data may be received at the top of the various ports depicted in FIG. The assigned handover identification can then be used as part of the lookup table to determine one or more actions (eg, forwarding, cryptographic/security processing, etc.) for processing the data at I/O device 140.

根據一些實例,I/O裝置140可經組配以根據一 建議IEEE標準(包括後裔及變型)之至少一些態樣而操作,或實施該至少一些態樣,該建議IEEE標準具有標題「Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Bridge Port Extension」且被識別為2012年1月25日公開之IEEE 802.1BR--草稿3.2(在下文中「IEEE 802.1BR」)。對於此等實例,I/O裝置140亦可經組配以依照建議IEEE 802.1Qbg標準(包括後裔及變型)之至少一些態樣而操作,或實施該至少一些態樣。作為IEEE 802.1Qbg或IEEE 802.1BR之實施之部分,可建立各種資料通道以用於在主機裝置101上之虛擬機之間區域地路由資料或將資料全域地路由至位於網路160處之網路元件。 According to some examples, I/O device 140 may be configured to be based on one It is recommended to operate at least some aspects of the IEEE standard (including descendants and variants) that have the title "Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks-Bridge Port Extension". It is also identified as IEEE 802.1BR published on January 25, 2012 - Draft 3.2 (hereinafter "IEEE 802.1BR"). For such examples, I/O device 140 may also be configured to operate in accordance with at least some aspects of the proposed IEEE 802.1Qbg standard (including descendants and variants), or to implement at least some aspects. As part of the implementation of IEEE 802.1Qbg or IEEE 802.1BR, various data channels can be established for routing data locally between virtual machines on host device 101 or routing data across the network at network 160. element.

在一些實例中,如圖1所示,各種經建立之資料通道被識別為資料通道A至E。對於此等實例,耦接至VM 111至116之各種VSI係與資料通道A、B、C、D或E相關聯,惟耦接至虛擬機118之VSI 118x除外。在一些實例中,VSI 118x可表示仍待與經建立之資料通道相關聯的VSI。如下文更多所提及,經由VSI 118x而路由之資料可包括用以最終與VSI 118x建立資料通道之控制資訊。對於此等執行個體,用於此控制資料之預設識別或標籤可區域地產生或發源於I/O裝置140處且接著用以將切換識別指派至該資料。 In some examples, as shown in FIG. 1, various established data channels are identified as data channels A through E. For these examples, the various VSIs coupled to VMs 111-116 are associated with data channels A, B, C, D, or E, except for VSI 118x coupled to virtual machine 118. In some examples, VSI 118x may represent a VSI that is still to be associated with an established data channel. As mentioned more below, the data routed via the VSI 118x may include control information to ultimately establish a data channel with the VSI 118x. For such executing individuals, a preset identification or tag for the control material may be generated or originated at the I/O device 140 and then used to assign the switching identification to the material.

根據一些實例,資料通道可用以在位於主機裝置101處之VM之間路由資料,或將資料路由至VM與位於 網路160處之網路元件之間。對於此等實例,用於經由此等資料通道而路由之資料之識別資訊可包括IEEE 802.1Qbg或IEEE 802.1BR所描述之標籤。該標籤可為服務(Service)標籤(S標籤)或橋接埠延伸(Bridge Port Extension)標籤(E標籤)。在一些實例中,S標籤或E標籤可為識別資訊以指示出具有此等標籤中之一者之資料可與給定通道相關聯。此等標籤可自在I/O裝置140遠端之元件(諸如,網路160處之網路元件)予以全域地產生或發源。 According to some examples, a data channel can be used to route data between VMs located at host device 101, or to route data to VMs and located Between network elements at network 160. For such instances, the identification information for the data routed via such data channels may include the labels described by IEEE 802.1Qbg or IEEE 802.1BR. The tag can be a Service tag (S tag) or a Bridge Port Extension tag (E tag). In some examples, the S-tag or E-tag can be identification information to indicate that the material having one of the tags can be associated with a given channel. Such tags may be generated or originated globally from components at the remote end of I/O device 140, such as network elements at network 160.

在一些實例中,切換管理器142可包括經配置以在I/O裝置140處接收資料之邏輯及/或特徵。該資料可與VSI相關聯,且可具有識別資訊(例如,S標籤或E標籤)以指示與通道A之關聯。如圖1所示,耦接至通道A或與通道A相關聯之VSI可為VSI 113A。對於此等實例,VSI 113A可經配置或為可組配式以耦接至VM 113,且亦經配置以經由虛擬切換器143而路由來自VM 113之資料。根據一些實例,由於經由耦接至網路160之資料通道而路由資料,故可將資料視為在耦接至通道A之實體埠130-1處被接收。切換管理器142可包括經配置或組配以基於指派至埠130-1之識別符、用於資料之識別資訊(例如,標籤資訊)及識別資訊之至少一部分之發源端而將切換識別號碼指派至資料的邏輯及/或特徵。切換識別資訊接著可由切換管理器142之邏輯及/或特徵用作查找表之部分以判定用於在I/O裝置140處處理資料之一或多個動作。 In some examples, the switch manager 142 can include logic and/or features configured to receive data at the I/O device 140. The material may be associated with the VSI and may have identifying information (eg, an S-tag or an E-tag) to indicate association with channel A. As shown in FIG. 1, the VSI coupled to channel A or associated with channel A can be VSI 113A. For such instances, VSI 113A may be configured or configurable to couple to VM 113 and also configured to route data from VM 113 via virtual switch 143. According to some examples, since the data is routed via a data channel coupled to the network 160, the data can be considered to be received at the entity 埠 130-1 coupled to channel A. The handover manager 142 can include a switch identification number assigned or configured to assign a handover identification number based on an identifier assigned to the identifier 130-1, identification information for the data (eg, tag information), and at least a portion of the identification information. To the logic and / or characteristics of the data. The handover identification information can then be used as part of a lookup table by the logic and/or features of the handover manager 142 to determine one or more actions for processing the data at the I/O device 140.

在一些其他實例中,具有識別資訊以指示與通道 A之關聯之資料可經由埠130-1而在I/O裝置140處被接收。經由埠130-1而接收之資料接著可經由通道A而路由至虛擬切換器143。如先前所提及,VSI 113A可耦接至VM 113。對於此等實例,VSI 113A可經配置以使資料發送或傳輸至VM 113。對於此等其他實例,切換管理器142可包括經配置或組配以基於指派至I/O裝置140接收埠(埠130-1)之識別符、用於資料之識別資訊及識別資訊之至少一部分之發源端而將切換識別號碼指派至資料的邏輯及/或特徵。切換識別資訊接著可由切換管理器142之邏輯及/或特徵用作查找表之部分以判定用於在I/O裝置140處處理資料之一或多個動作。 In some other examples, there is identification information to indicate and channel The associated data of A can be received at I/O device 140 via 埠130-1. The data received via 埠 130-1 can then be routed to virtual switch 143 via channel A. As mentioned previously, the VSI 113A can be coupled to the VM 113. For such instances, the VSI 113A can be configured to send or transmit data to the VM 113. For such other examples, the switch manager 142 can include at least a portion configured or assembled to receive an identifier for the data (identification information and identification information for the data based on the identifier assigned to the I/O device 140. The originating end assigns the switching identification number to the logic and/or features of the material. The handover identification information can then be used as part of a lookup table by the logic and/or features of the handover manager 142 to determine one or more actions for processing the data at the I/O device 140.

在一些實例中,資料可在包括於I/O裝置140中之埠處被接收,該資料可經由虛擬切換器141處之資料通道D而在VM 111與VM 112之間進行路由。自VM 111經由VSI 111D而在L埠141-1D處接收之資料可具有為VM 112之目的地。對於此等實例,用於在埠141-1D處接收之資料之識別資訊可包括發源於I/O裝置140處(例如,虛擬切換器141處)之資料通道識別號碼。資料通道D識別號碼可相似於S標籤或E標籤之格式。切換管理器142可包括經配置或組配以基於指派至埠141-1D之識別符、經區域產生之通道D識別號碼及識別資訊之至少一部分之發源端位於I/O裝置140處的指示而將切換識別號碼指派至資料的邏輯及/或特徵。切換識別資訊接著可由切換管理器142之邏輯及/或特徵用作查找表之部分以判定用於在I/O裝置 140處處理資料之一或多個動作。 In some examples, data may be received at a location included in I/O device 140, which may be routed between VM 111 and VM 112 via data channel D at virtual switch 141. The material received from VM 111 via LSI 14D at L埠 141-1D may have a destination for VM 112. For such instances, the identification information for the data received at 埠 141-1D may include a data channel identification number originating at I/O device 140 (eg, at virtual switch 141). The data channel D identification number can be similar to the format of the S tag or the E tag. The switch manager 142 can include an indication configured or assembled to be located at the I/O device 140 based on an identifier assigned to the identifier of the UI 141-1D, the channel-generated identification number generated by the region, and at least a portion of the identification information. Assign the switching identification number to the logic and/or characteristics of the material. The switching identification information can then be used as part of a lookup table by the logic and/or features of the switching manager 142 to determine that it is used in the I/O device. One or more actions are processed at 140.

在一些實例中,虛擬切換器141可經組配以根據IEEE 802.1Qbg而操作,且充當虛擬乙太網路橋接器(VEB)。 In some examples, virtual switcher 141 can be configured to operate in accordance with IEEE 802.1Qbg and act as a virtual Ethernet bridge (VEB).

在一些實例中,通信鏈路150-1至150-4可分別經由埠130-1至130-4而將I/O裝置140以通信方式耦接至網路160。通信鏈路150-1至150-4可包括各種類型之有線、無線或光學通信媒體。對於此等實例,通信鏈路150-1至150-4可根據呈任何版本之一或多個適用通信或網路連接標準而操作。該等通信或網路連接標準可包括(但不限於)IEEE 802.1Qbg或IEEE 802.1BR。 In some examples, communication links 150-1 through 150-4 can communicatively couple I/O device 140 to network 160 via ports 130-1 through 130-4, respectively. Communication links 150-1 through 150-4 may include various types of wired, wireless, or optical communication media. For such instances, communication links 150-1 through 150-4 can operate in accordance with one or more applicable communication or network connection standards in any version. Such communication or network connection standards may include, but are not limited to, IEEE 802.1Qbg or IEEE 802.1BR.

圖2例示實例切換識別結構200。在一些實例中,切換管理器142可包括用以使用切換識別結構200以將切換識別指派至在I/O裝置140處接收之資料的邏輯及/或特徵。如圖2所示,切換識別結構包括欄位210、220及230。在一些實例中,欄位210可指示用於資料之識別資訊之至少一部分的發源端。欄位220可指示用於可供在I/O裝置140處接收資料之埠的經指派之埠識別符。欄位230可指示用於資料之識別資訊。用於資料之識別資訊可包括資料通道識別號碼,諸如,S標籤、E標籤,或經區域產生/發源之預設資訊。 FIG. 2 illustrates an example switch identification structure 200. In some examples, handover manager 142 can include logic and/or features to use handover identification structure 200 to assign handover identification to data received at I/O device 140. As shown in FIG. 2, the handover identification structure includes fields 210, 220, and 230. In some examples, field 210 may indicate the origin of at least a portion of the identification information for the data. Field 220 may indicate an assigned 埠 identifier for use in receiving data at I/O device 140. Field 230 may indicate identifying information for the data. The identification information for the data may include a data channel identification number, such as an S-tag, an E-tag, or a preset information generated/originated by the region.

根據一些實例,識別資訊之區域發源端可藉由為0之1位元二進位值指示於切換ID結構200中,且全域發源端可藉由欄位210中為1之1位元值指示。又,欄位220中之經接收之埠#可藉由3位元值指示。因此,舉例來說, 為「4」之經指派之識別符將藉由為100之3位元二進位值指示,且為「2」之經指派之識別符將藉由為010之3位元二進位值指示。本發明不限於分別針對欄位210或220之1位元或3位元二進位值。 According to some examples, the originating end of the identification information may be indicated in the switching ID structure 200 by a 1-bit binary value of 0, and the global originating end may be indicated by a 1-bit value in the field 210. Again, the received 埠# in field 220 can be indicated by a 3-bit value. So, for example, The assigned identifier for "4" will be indicated by a 3-bit binary value of 100, and the assigned identifier of "2" will be indicated by a 3-bit binary value of 010. The invention is not limited to a 1-bit or 3-bit binary value for field 210 or 220, respectively.

在一些實例中,用於包括於欄位230中之資料之識別資訊可包括範圍為1至4096之資料通道識別號碼。又,S標籤或E標籤資訊可包括範圍為1至4096之識別號碼。此等識別號碼可在欄位230中被表示為12位元二進位值或3字元十六進位值。本發明不限於針對欄位230之12位元二進位值或3字元16進位值,或不限於範圍為1至4096之號碼。 In some examples, the identification information for the data included in field 230 may include a data channel identification number ranging from 1 to 4096. Also, the S-tag or E-tag information may include an identification number ranging from 1 to 4096. These identification numbers may be represented in field 230 as a 12-bit binary value or a 3-character hexadecimal value. The invention is not limited to a 12-bit binary value or a 3-character 16-digit value for field 230, or is not limited to a number ranging from 1 to 4096.

圖3例示實例經指派之切換識別表300。在一些實例中,經指派之切換ID表300描繪與切換ID結構200相關聯之值可如何用以將切換識別指派至資料。對於此等實例,經指派之切換ID表300可至少儲存於維持於I/O裝置140處之記憶體(例如,記憶體145)中。I/O裝置140之各種虛擬切換器列出於經指派之切換識別表300之左側欄中,且用於經接收資料之經指派之切換識別列出於右側三個欄中。 FIG. 3 illustrates an example assigned switch identification table 300. In some examples, the assigned switch ID table 300 depicts how the value associated with the switch ID structure 200 can be used to assign switch identification to the profile. For such instances, the assigned switch ID table 300 can be stored at least in memory (eg, memory 145) maintained at I/O device 140. The various virtual switches of I/O device 140 are listed in the left column of the assigned switch identification table 300, and the assigned handoff identifications for the received data are listed in the three columns on the right.

根據一些實例,切換管理器142可包括經組配或配置以基於用於供接收資料之埠的經指派之埠識別符、用於資料之識別資訊(標籤或預設值)及識別資訊之至少一部分之發源端(區域或全域)而將切換識別指派至資料的邏輯及/或特徵。舉例來說,上文將虛擬切換器141提及為產生 用於在VM 111與VM 112之間路由之資料的識別資訊。因此,為0之值針對虛擬切換器141指示於「區域/全域」欄中。又,在一些實例中,虛擬切換器141之L埠141-1D可能已被指派為1之埠號碼,且用於虛擬切換器141之此埠號碼在表300中被展示為具有為001之二進位值。另外,資料可經由資料通道D而在耦接至虛擬切換器141之VSI之間進行轉遞。對於此實例,與資料通道D相關聯之資料通道識別可具有為0x005之十六進位值,且此值在圖3中展示於「識別資訊」欄中。 According to some examples, the switch manager 142 can include at least an assigned 埠 identifier based on the 用于 for receiving data, identification information (tag or preset value) for the data, and at least identification information. A portion of the source (region or global) assigns the switch identification to the logic and/or features of the profile. For example, the virtual switcher 141 is mentioned above as being generated Identification information for data routed between VM 111 and VM 112. Therefore, a value of 0 is indicated for the virtual switcher 141 in the "Region/Global" column. Also, in some examples, L埠141-1D of virtual switcher 141 may have been assigned a number of 1 and the number for virtual switch 141 is shown in table 300 as having 001 bis Carry value. In addition, the data can be transferred between the VSIs coupled to the virtual switch 141 via the data channel D. For this example, the data channel identification associated with data channel D can have a hexadecimal value of 0x005, and this value is shown in the "Identification Information" column in Figure 3.

在一些實例中,如上文針對圖1所提及,虛擬切換器143及146至148可經組配以接收具有在I/O裝置140遠端產生或發源之識別資訊的資料。因此,為1之值針對虛擬切換器143及146至148指示於「區域/全域」欄中。對於此等虛擬切換器,可經由埠130-1至130-3而接收自網路160接收之資料。此三個埠可自左側至右側(參見圖1)被指派為1至3之埠號碼,且此等埠號碼在表300中被展示為分別具有為001、010及011之二進位值。另外,資料可經由資料通道A至E中之一者而轉遞至耦接至此等虛擬切換器之VSI,或經由該等VSI進行路由。根據一些實例,S標籤可與經由資料通道A至E而接收之資料相關聯。經由資料通道A至E而接收之S標籤可具有一識別號碼,該識別號碼具有分別為0x002、0x003、0x004、0x005及0x006之十六進位值。 In some examples, as mentioned above with respect to FIG. 1, virtual switchers 143 and 146-148 may be configured to receive data having identification information generated or originated at the far end of I/O device 140. Therefore, a value of 1 is indicated for the virtual switchers 143 and 146 to 148 in the "area/global" column. For such virtual switchers, the data received from the network 160 can be received via ports 130-1 through 130-3. These three turns can be assigned from 1 to 3 from left to right (see Figure 1), and these numbers are shown in table 300 as having binary values of 001, 010, and 011, respectively. In addition, data may be forwarded to or routed through VSIs coupled to such virtual switches via one of data channels A through E. According to some examples, the S-tag can be associated with data received via data channels A through E. The S-tags received via data channels A through E may have an identification number having hexadecimal values of 0x002, 0x003, 0x004, 0x005, and 0x006, respectively.

在一些實例中,虛擬切換器149可經組配以經由 耦接至埠130-4之未經指派之資料通道x而接收資料。由於該資料通道不具有經指派之資料號碼,故用於經由通道x而接收之資料的識別資訊之發源端被視為區域,且為1之值針對虛擬切換器149指示於「區域/全域」欄中。如圖1所示,埠130-4可為耦接至網路160之第四埠。根據一些實例,如「經接收之埠#」欄所指示,埠130-4可被指派具有為100之二進位值的為4之埠號碼。又,指示於「識別資訊」欄中的為0x000之預設十六進位值展示出在虛擬切換器149處接收之資料可仍未與資料通道識別號碼相關聯或被指派資料通道識別號碼。 In some examples, virtual switch 149 can be assembled to pass via The data is received by being coupled to the unassigned data channel x of 埠130-4. Since the data channel does not have an assigned data number, the source of the identification information for the data received via channel x is considered to be the region, and a value of 1 is indicated for the virtual switch 149 to "area/global" In the column. As shown in FIG. 1 , the 埠 130-4 may be coupled to the fourth port of the network 160 . According to some examples, 埠130-4 may be assigned a number of 4 after having a carry value of 100, as indicated by the "Received 埠#" column. Also, the preset hexadecimal value indicated as 0x000 in the "Identification Information" column indicates that the data received at the virtual switch 149 may not yet be associated with the data channel identification number or assigned a data channel identification number.

根據一些實例,如表300所示,用於虛擬切換器141處之資料通道D及虛擬切換器147處之資料通道D的資料通道識別號碼皆為0x005。然而,由於用於虛擬切換器141處之資料通道D的資料通道識別符係來自區域發源端,故相比於具有針對虛擬切換器147處之資料通道D的為1之值的全域識別符,經指派之切換識別歸因於具有為0之值的區域識別符而不同。 According to some examples, as shown in the table 300, the data channel identification numbers of the data channel D at the virtual switch 141 and the data channel D at the virtual switch 147 are both 0x005. However, since the data channel identifier for the data channel D at the virtual switch 141 is from the regional origin, compared to the global identifier having a value of 1 for the data channel D at the virtual switch 147, The assigned handover identification is different due to the zone identifier having a value of zero.

圖4例示實例查找表400。如圖4所示,查找表400包括針對經指派之切換識別、VSI識別及關聯動作的欄。根據一些實例,經指派之切換識別可能已基於如上文針對圖3所描述的經指派之切換ID表300。對於此等實例,「區域/全域」及「經接收之埠#」欄中之1位元及3位元二進位值可經組合以形成4位元二進位值,且彼4位元二進位值接著可轉換至1字元十六進位值。1字元十六進位值接 著可作為第四字元加至展示於經指派之切換ID表300之「識別資訊」欄中的3字元資料特性值。由於此等組合,給定經指派之切換識別可具有如查找表400所示之4字元十六進位值。舉例來說,具有用於識別資訊之全域發源端且在I/O裝置140之埠3處接收的資料將具有為1011之4位元二進位值,且此值轉換至為B之十六進位值(或為11之十進位值)。 FIG. 4 illustrates an example lookup table 400. As shown in FIG. 4, lookup table 400 includes fields for assigned handover identification, VSI identification, and associated actions. According to some examples, the assigned handover identification may have been based on the assigned handover ID table 300 as described above with respect to FIG. For these examples, the 1-bit and 3-bit binary values in the "Region/Whole Area" and "Received 埠#" fields can be combined to form a 4-bit binary value, and the 4-bit binary bit The value can then be converted to a 1-character hexadecimal value. 1 character hexadecimal value The third character can be added as a fourth character to the 3-character data characteristic value displayed in the "identification information" column of the assigned switching ID table 300. Due to these combinations, a given assigned handover identification may have a 4-character hexadecimal value as shown in lookup table 400. For example, a material having a global origin for identifying information and received at 埠3 of I/O device 140 will have a 4-bit binary value of 1011, and this value is converted to a hexadecimal value of B. Value (or a decimal value of 11).

根據一些實例,如圖4所示,查找表400可包括「VSI資訊」欄以指示識別資訊以包括虛擬區域網路(virtual local area network,VLAN)/媒體存取控制器(media access controller,MAC)ID。對於此等實例,可使用VLAN/MAC ID資訊連同經指派之切換ID以進一步判定將針對在I/O裝置140處接收之資料採取何些動作。 According to some examples, as shown in FIG. 4, the lookup table 400 may include a "VSI Information" column to indicate identification information to include a virtual local area network (VLAN)/media access controller (MAC). ) ID. For such instances, the VLAN/MAC ID information along with the assigned handover ID can be used to further determine what actions will be taken for the data received at I/O device 140.

在一些實例中,如圖4所示,經接收資料可被指派4字元切換識別號碼,且切換管理器142可包括經組配或配置以使用經指派之切換識別作為查找表400之部分且可能地使用VLAN/MAC ID資訊以便判定針對經由I/O裝置140處之給定埠而接收之資料的動作的邏輯及/或特徵。 In some examples, as shown in FIG. 4, the received material can be assigned a 4-character switch identification number, and the switch manager 142 can include being configured or configured to use the assigned switch identification as part of the lookup table 400 and The VLAN/MAC ID information may be used to determine the logic and/or characteristics of the action for the material received via a given volume at I/O device 140.

根據一些實例,維持於I/O裝置140處之切換管理器142可包括用以將查找表400至少臨時儲存於記憶體145處之邏輯及/或特徵。對於此等實例,記憶體145之至少若干部分可經配置或組配為三元內容可定址記憶體(ternary content-addressable memory,TCAM)。在I/O裝置140處接收且被指派給定切換識別之資料可快速地與其各 別經指派之切換識別相關聯,且可基於指示於查找表400中之內容而使用彼經指派之切換識別來快速地判定對應處理動作。 According to some examples, the switch manager 142 maintained at the I/O device 140 can include logic and/or features to store the lookup table 400 at least temporarily at the memory 145. For such instances, at least portions of the memory 145 can be configured or assembled as a ternary content-addressable memory (TCAM). The data received at I/O device 140 and assigned to a given handoff identification can be quickly associated with each other The assigned handover identification is associated, and the corresponding processing action can be quickly determined using the assigned handover identification based on the content indicated in the lookup table 400.

在一些實例中,如圖4中針對查找表400所示,用於處理被指派給定切換識別之資料的動作可包括將資料直接地路由至給定埠。舉例來說,可將具有為0x1 005之經指派之切換識別的資料直接地路由至VSI 111D。接著,可將此資料自VSI 111D傳輸/發送至VM 112。 In some examples, as shown for lookup table 400 in FIG. 4, the act of processing the data assigned to a given handoff identification may include routing the material directly to a given volume. For example, data having an assigned handover identification of 0x1 005 can be routed directly to the VSI 111D. This material can then be transmitted/transmitted from the VSI 111D to the VM 112.

根據一些實例,如圖4中針對查找表400所示,用於處理被指派給定切換識別之資料的動作可包括I/O裝置140之元件(例如,密碼編譯處理器電路)執行該資料之密碼編譯處理且接著將該資料路由至給定埠。舉例來說,可將具有為0x9002之經指派之切換識別的資料轉遞至密碼編譯處理器電路以供加密/解密且接著路由至VSI 113A。接著,可將該資料自VSI 113A傳輸/發送至VM 113。 According to some examples, as shown for lookup table 400 in FIG. 4, the acts for processing data assigned to a given handoff identification may include elements of I/O device 140 (eg, cryptographic processor circuitry) executing the data. The cryptographic compilation process then routes the material to the given 埠. For example, data having an assigned handover identification of 0x9002 can be forwarded to a cryptographic compilation processor circuit for encryption/decryption and then routed to VSI 113A. This material can then be transmitted/sent from the VSI 113A to the VM 113.

在一些實例中,如圖4中針對查找表400所示,用於處理被指派給定切換識別之資料的動作可包括I/O裝置140之元件(例如,安全性處理器電路)執行該資料之封包/訊框檢驗處理且接著將該資料路由至給定埠。舉例來說,可將具有為0xA005之經指派之切換識別的資料轉遞至安全性處理器電路以供封包/訊框檢驗且接著路由至埠143-1A。接著,可將該資料自VSI 115D傳輸/發送至VM 115。 In some examples, as shown for lookup table 400 in FIG. 4, the actions for processing the data assigned to a given handoff identification may include elements (eg, security processor circuits) of I/O device 140 executing the data. The packet/frame check process is then routed to the given frame. For example, data having an assigned handover identification of 0xA005 can be forwarded to the security processor circuit for packet/frame verification and then routed to 埠143-1A. This material can then be transmitted/transmitted from the VSI 115D to the VM 115.

圖5例示用於切換管理器142之實例架構的方塊 圖。在一些實例中,切換管理器142包括經組配或配置用於將切換識別指派至在耦接至主機裝置之I/O裝置處接收之資料的特徵及/或邏輯。根據一些實例,如圖5所示,切換管理器142包括切換邏輯510、控制邏輯520、記憶體530及輸入/輸出(I/O)介面540。如圖5所例示,切換邏輯510可耦接至控制邏輯520、記憶體530及I/O介面540。切換邏輯510可包括接收特徵512、指派特徵514或查找特徵516或其任何合理組合中之一或多者。 FIG. 5 illustrates a block for an example architecture of the switch manager 142. Figure. In some examples, the switch manager 142 includes features and/or logic that are configured or configured to assign handover identification to data received at an I/O device coupled to the host device. According to some examples, as shown in FIG. 5, the switch manager 142 includes switching logic 510, control logic 520, memory 530, and an input/output (I/O) interface 540. As illustrated in FIG. 5, the switching logic 510 can be coupled to the control logic 520, the memory 530, and the I/O interface 540. Switching logic 510 can include one or more of receiving feature 512, assigning feature 514, or looking up feature 516, or any reasonable combination thereof.

在一些實例中,圖5所描繪之元件經組配以支援或啟用切換管理器142,如本發明在別處所描述。給定切換管理器142可包括圖5所描繪之元件中之一些、全部或多於該等元件之元件。舉例來說,切換邏輯510及控制邏輯520可分離地或共同地表示各種各樣之邏輯裝置或可執行內容以實施切換管理器142之特徵。實例邏輯裝置可包括處理器電路、微處理器、微控制器、處理器電路、場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)、多核心/多執行緒微處理器之隱退執行緒或核心、密碼編譯區塊、卸載處理器或其組合中之一或多者。 In some examples, the elements depicted in FIG. 5 are assembled to support or enable the switch manager 142 as described elsewhere herein. A given switching manager 142 may include some, all or more of the elements depicted in FIG. For example, switching logic 510 and control logic 520 can represent various logic devices or executable content separately or collectively to implement the features of switching manager 142. Example logic devices can include processor circuits, microprocessors, microcontrollers, processor circuits, field programmable gate arrays (FPGAs), special application integrated circuits (ASICs), multi-core/multi-threaded microprocessors One or more of the retreat thread or core, cryptographic compilation block, offload processor, or a combination thereof.

在一些實例中,如圖5所示,切換邏輯510包括接收特徵512、指派特徵514或查找特徵516。切換邏輯510可經組配以使用此等特徵中之一或多者以執行操作。舉例來說,接收特徵512可輔助I/O裝置接收資料。指派特徵514可基於用於供在I/O裝置處接收資料之埠的經指派之埠識別符、用於資料之識別資訊及識別資訊之至少一部分之 發源端而指派切換識別號碼。查找特徵516可使用經指派之切換識別作為查找表之部分以判定用於在I/O裝置處處理資料之一或多個動作。 In some examples, as shown in FIG. 5, handover logic 510 includes a receive feature 512, an assignment feature 514, or a lookup feature 516. Switching logic 510 can be assembled to use one or more of these features to perform operations. For example, the receiving feature 512 can assist the I/O device in receiving data. The assignment feature 514 can be based on at least a portion of the assigned identifier for the data to be received at the I/O device, the identification information for the data, and the identification information. The originating end assigns a handover identification number. The lookup feature 516 can use the assigned switch identification as part of the lookup table to determine one or more actions for processing the data at the I/O device.

在一些實例中,控制邏輯520可經組配以控制切換管理器142之總操作。如上文所提及,控制邏輯520可表示各種各樣之邏輯裝置或可執行內容中任一者。對於一些實例,控制邏輯520可經組配以結合可執行內容或指令而操作以實施切換管理器142之控制。在一些替代實例中,控制邏輯520之特徵及功能性可實施於切換邏輯510內。 In some examples, control logic 520 can be configured to control the overall operation of switching manager 142. As mentioned above, control logic 520 can represent any of a wide variety of logic devices or executable content. For some examples, control logic 520 can be configured to operate in conjunction with executable content or instructions to implement control of switching manager 142. In some alternative examples, the features and functionality of control logic 520 may be implemented within switching logic 510.

根據一些實例,記憶體530可經配置以儲存可執行內容或指令以供控制邏輯520及/或切換邏輯510使用。可執行內容或指令可用以實施或啟動切換管理器142之特徵、元件或邏輯。如下文更多所描述,記憶體530亦可經配置以至少臨時維持與將切換識別號碼指派至在耦接至主機裝置之I/O裝置處接收之資料相關聯的資訊。 According to some examples, memory 530 can be configured to store executable content or instructions for use by control logic 520 and/or switching logic 510. Executable content or instructions may be used to implement or initiate the features, elements or logic of the switch manager 142. As described more below, memory 530 can also be configured to at least temporarily maintain information associated with assigning a handover identification number to material received at an I/O device coupled to the host device.

記憶體530可包括各種各樣之非揮發性記憶體媒體,包括(但不限於)一或多種類型之快閃記憶體、可程式化變數或狀態、唯讀記憶體(ROM)、隨機存取記憶體(RAM)或其他靜態或動態儲存媒體。 Memory 530 can include a wide variety of non-volatile memory media including, but not limited to, one or more types of flash memory, programmable variables or states, read only memory (ROM), random access. Memory (RAM) or other static or dynamic storage media.

在一些實例中,I/O介面540可經由區域通信媒體或鏈路而在切換管理器142與I/O裝置之元件或主機裝置之元件之間提供介面。I/O介面540可包括根據各種通信協定或標準而操作以經由區域通信媒體或鏈路而通信之介面。此等通信協定或標準可描述於諸如與以下各者相關聯 之工業標準的一或多個工業標準(包括後裔及變型)中:互積體電路(Inter-Integrated Circuit,I2C)規範、系統管理匯流排(System Management Bus,SMBus)規範、快速周邊組件互連(Peripheral Component Interconnect Express,PCI Express)規範、通用串列匯流排(Universal Serial Bus,USB)規範,或串列進階附接技術(Serial Advanced Technology Attachment,SATA)規範。但,本發明不僅僅限於上述標準及關聯協定。 In some examples, I/O interface 540 can provide an interface between switching manager 142 and elements of an I/O device or elements of a host device via a regional communication medium or link. I/O interface 540 can include an interface that operates in accordance with various communication protocols or standards to communicate via regional communication media or links. Such communication protocols or standards may be described in one or more industry standards (including descendants and variants) such as industry standards associated with: Inter-Integrated Circuit (I 2 C) specifications, System Management Bus (SMBus) Specification, Peripheral Component Interconnect Express (PCI Express) Specification, Universal Serial Bus (USB) Specification, or Serial Advanced Attachment Serial Advanced Technology Attachment (SATA) specification. However, the invention is not limited only to the above criteria and associated agreements.

根據一些實例,I/O介面540可經由網路通信鏈路或通道而在切換管理器142與位於耦接至I/O裝置之計算裝置處之元件及/或與耦接至I/O裝置之通信鏈路相關聯之網路元件之間提供介面。I/O介面540可包括根據各種通信協定或標準而操作以經由網路通信鏈路或通道而通信之介面。此等通信協定或標準可描述於諸如與IEEE 802.1Qbg或IEEE 802.1BR相關聯之標準或規範的乙太網路相關標準或規範(包括後裔及變型)中。本發明不僅僅限於此等乙太網路相關標準。 According to some examples, the I/O interface 540 can be coupled to the I/O device at the switching manager 142 and the computing device coupled to the I/O device via a network communication link or channel. An interface is provided between the network elements associated with the communication link. I/O interface 540 can include an interface that operates in accordance with various communication protocols or standards to communicate via a network communication link or channel. Such communication protocols or standards may be described in Ethernet related standards or specifications (including descendants and variants) such as standards or specifications associated with IEEE 802.1Qbg or IEEE 802.1BR. The invention is not limited only to such Ethernet-related standards.

圖6例示用於指派切換識別之實例流程圖。在一些實例中,如圖1所示之系統100之元件可用以例示與圖6所描繪之流程圖相關之實例操作。如圖1或圖5所示之切換管理器142亦可用以例示該等實例操作。但,所描述之實例操作不限於在系統100上之實施或不限於如上文針對圖1或圖5所描述之切換管理器142。 Figure 6 illustrates an example flow diagram for assigning handover identification. In some examples, elements of system 100 as shown in FIG. 1 may be used to illustrate example operations associated with the flowchart depicted in FIG. The switch manager 142 as shown in FIG. 1 or FIG. 5 can also be used to illustrate the example operations. However, the example operations described are not limited to implementation on system 100 or are not limited to switching manager 142 as described above with respect to FIG. 1 or FIG.

如圖2至圖4所示之切換ID結構200、經指派之切換ID表300及查找表400亦可用以例示與圖6所描繪 之流程圖相關之實例操作。但,所描述之實例操作不限於如圖2至圖4所示之此等特定結構或表。 The switch ID structure 200, the assigned switch ID table 300, and the lookup table 400 as shown in FIG. 2 to FIG. 4 can also be used to illustrate and FIG. Example operations related to the flowchart. However, the example operations described are not limited to such specific structures or tables as shown in Figures 2 through 4.

自開始移動至區塊610(接收資料),切換管理器142可包括經配置以輔助I/O裝置140接收資料(例如,經由接收特徵512)之邏輯及/或特徵。在一些實例中,資料可呈資料封包或訊框之格式,且具有與主機裝置101處之一或多個虛擬機或與網路160處之一或多個網路元件相關聯的目的地。 From the beginning of the move to block 610 (receiving data), the switch manager 142 can include logic and/or features configured to assist the I/O device 140 in receiving data (e.g., via the receive feature 512). In some examples, the material may be in the form of a data packet or frame and have a destination associated with one or more virtual machines at host device 101 or with one or more network elements at network 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一起被定位或位於網路160處之網路元件被接收。對於此等其他實例,程序移動至決策區塊650。 From block 610 to decision block 620 (from the network?), the switch manager 142 can include a configuration 130 to determine that the data is coupled to the communication links 150-1 through 150-4 via the 130-1 or 130 -4 or logic and/or features received (e.g., via receiving feature 512) at L埠141-1D included in virtual switcher 141. In some examples, the data may have been received from VM 111 or VM 112 by L埠 141-1D included in virtual switch 141. For these examples, the program moves to decision block 630. In other examples, the data may have been received from a network element located with or located at network 160. For these other examples, the program moves to decision block 650.

自決策區塊620移動至決策區塊630(具有標籤?),切換管理器142可包括經配置以判定經接收資料是否包括諸如S標籤或E標籤之識別資訊(例如,經由指派特徵514)的邏輯及/或特徵。在一些實例中,與資料相關聯之資料封包標頭可不包括識別資訊以識別與資料通道之關聯。對於此等實例,程序移動至區塊640。否則,若經接收 資料包括識別資訊,則程序移動至區塊670。 From decision block 620 to decision block 630 (with tags?), switch manager 142 can include identification information configured to determine whether the received material includes identification information such as an S-tag or an E-tag (eg, via assignment feature 514) Logic and / or features. In some instances, the data packet header associated with the data may not include identification information to identify associations with the data channel. For these examples, the program moves to block 640. Otherwise, if received The data includes identification information and the program moves to block 670.

自決策區塊630移動至區塊640(切換ID={區域,埠#,VSI通道ID}),切換管理器142可包括經配置以將切換識別指派至資料(例如,經由指派特徵514)之邏輯及/或特徵。在一些實例中,由於資料不包括識別資訊,故識別資訊之發源端將為區域。埠#將為用於包括於虛擬切換器141中之L埠141-1D的經指派之識別符。VSI通道ID可為由切換管理器142指派之通道識別號碼,其可呈相似於S標籤或E標籤之格式。 From decision block 630 to block 640 (handover ID = {area, 埠 #, VSI channel ID}), handover manager 142 can include a switch configured to assign handover identification to the profile (eg, via assignment feature 514) Logic and / or features. In some instances, since the data does not include identification information, the source of the identification information will be the region.埠# will be the assigned identifier for the L埠141-1D included in the virtual switcher 141. The VSI channel ID may be the channel identification number assigned by the handover manager 142, which may be in a format similar to an S-tag or an E-tag.

自決策區塊620移動至決策區塊650(具有標籤?),相似於決策區塊630,切換管理器142可判定經接收資料是否包括諸如S標籤或E標籤之識別資訊。在一些實例中,與資料相關聯之資料封包標頭可不包括識別資訊以識別與資料通道之關聯。對於此等實例,程序移動至區塊660。否則,若經接收資料包括識別資訊,則程序移動至區塊670。 From the decision block 620 to the decision block 650 (with tags?), similar to the decision block 630, the switch manager 142 can determine whether the received data includes identification information such as an S-tag or an E-tag. In some instances, the data packet header associated with the data may not include identification information to identify associations with the data channel. For these examples, the program moves to block 660. Otherwise, if the received data includes identification information, the program moves to block 670.

自決策區塊650移動至區塊660(切換ID={區域,埠#,預設ID}),切換管理器142可包括經配置以將切換識別指派至資料(例如,經由指派特徵514)之邏輯及/或特徵。在一些實例中,相似於區塊640,由於資料不包括識別資訊,故識別資訊之發源端將為區域。埠#可為用於供自網路接收資料的耦接至通信鏈路150-1至150-4中之一者之埠(例如,埠#4)的經指派之識別符。預設ID可為由切換管理器142指派之預設通道識別號碼,其可呈相似於S標籤或 E標籤之格式。 From decision block 650 to block 660 (handover ID = {area, 埠#, preset ID}), handover manager 142 can include a switch configured to assign handover identification to the profile (eg, via assignment feature 514) Logic and / or features. In some instances, similar to block 640, since the data does not include identification information, the source of the identification information will be the region. The 埠# may be an assigned identifier for 埠 (eg, 埠#4) coupled to one of the communication links 150-1 to 150-4 for receiving data from the network. The preset ID may be a preset channel identification number assigned by the switching manager 142, which may be similar to an S-tag or The format of the E tag.

自決策區塊630或決策區塊650移動至區塊670(切換ID={全域,埠#,標籤}),切換管理器142可包括經組配以將切換識別指派至資料(例如,經由指派特徵514)之邏輯及/或特徵。在一些實例中,用於資料之識別資訊可能已發源於I/O裝置140外部或遠端,且因此被視為全域。埠#可為用於供自網路接收資料的耦接至通信鏈路150-1至150-4中之一者之埠(例如,埠#2)的經指派之識別符。又,標籤可為用於資料之識別資訊,且可呈相似於S標籤或E標籤之格式。 From decision block 630 or decision block 650 to block 670 (handover ID = {global, 埠 #, tag}), handover manager 142 may include being configured to assign handover identification to the profile (eg, via assignment) The logic and/or features of feature 514). In some instances, the identification information for the data may have originated outside or far of the I/O device 140 and is therefore considered to be global. The 埠# may be an assigned identifier for 埠 (eg, 埠#2) coupled to one of the communication links 150-1 to 150-4 for receiving data from the network. Also, the tag may be identification information for the data and may be in a format similar to the S tag or the E tag.

自區塊640、660或670移動至區塊680(使用切換ID以處理資料),切換管理器142可包括用以使用指派至資料之切換識別號碼之邏輯及/或特徵,且亦可使用VSI ID資訊(VLAN/MAC ID)以判定用於在I/O裝置140處處理資料之一或多個動作(例如,經由查找特徵516)。在一些實例中,在查找表400中針對對應切換識別號碼識別之動作可用以判定用於資料之一或多個動作。如上文所提及,該一或多個動作可包括路由資料、資料之密碼編譯處理,或資料之封包檢驗處理。程序接著結束。 Moving from block 640, 660 or 670 to block 680 (using a switch ID to process data), switch manager 142 may include logic and/or features to use the switch identification number assigned to the profile, and may also use VSI The ID information (VLAN/MAC ID) is used to determine one or more actions for processing data at the I/O device 140 (eg, via the lookup feature 516). In some examples, the action identified in the lookup table 400 for the corresponding switch identification number can be used to determine one or more actions for the profile. As mentioned above, the one or more actions may include routing data, cryptographic compilation of the data, or packet inspection processing of the data. The program then ends.

圖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之硬體及/或韌體元件(例如)經由系統匯流排或其他類型之內部通信通道而以通信方式耦接在一起。 FIG. 7 illustrates an example system diagram for host device 700. As shown in FIG. 7, the host device 700 includes a hypervisor 705, an operating system 710, an application 720, a network input/output (I/O) device 730, a user input/output (I/O) device 740, and storage. The device 750, the memory 760, the central processing unit (CPU) 770, the chipset 780, and the communication (Comms) 790. According to some By way of example, several interfaces for interconnecting and/or communicatively coupling elements of host device 700 are also depicted in FIG. For example, user interface 715 and interface 735 may allow a user (not shown) and/or application 720 to be coupled to operating system 710 and/or hypervisor 705. Moreover, interface 735 may allow elements of supervisor 705 and/or operating system 710 (eg, device driver 711) to be communicatively coupled to elements of host device 700, such as network I/O device 730, user I /O device 740, storage 750, memory 760, CPU 770, chipset 780, or communication 790. For example, interface 754 can allow hardware and/or firmware elements of host device 700 to be communicatively coupled together, for example, via a system bus or other type of internal communication channel.

在一些實例中,如圖7所示,主機裝置700可包括作業系統710。舉例來說,作業系統710可包括一或多個作業系統。包括於作業系統710中之分離作業系統可被實施為由主機裝置700之元件支援之分離虛擬機的部分。對於此等實例,該等分離虛擬機可與包括於CPU 770中之一或多個處理器相關聯。又,對於此等實例,超級監督器705可充當用於此等分離虛擬機之虛擬機管理器。 In some examples, as shown in FIG. 7, host device 700 can include an operating system 710. For example, operating system 710 can include one or more operating systems. The separate operating system included in operating system 710 can be implemented as part of a split virtual machine supported by components of host device 700. For such instances, the separate virtual machines can be associated with one or more processors included in CPU 770. Again, for these examples, hypervisor 705 can act as a virtual machine manager for such separate virtual machines.

根據一些實例,如圖7所示,作業系統710可分離地包括裝置驅動器711。裝置驅動器711可包括經組配以與主機裝置700之硬體/韌體類型元件互動(例如,經由介面735)之邏輯及/或特徵。舉例來說,裝置驅動器711可包括用以控制或指導儲存器750或記憶體760履行由應用程式720或作業系統710進行之請求之裝置驅動器。裝置驅動器 711亦可包括用以允許網路I/O裝置730與CPU 770及記憶體760互動以經由耦接至主機裝置700之通信通道而接收/轉遞資料(例如,經由網路I/O裝置730或通信790)之裝置驅動器。 According to some examples, as shown in FIG. 7, operating system 710 can include device driver 711 separately. Device driver 711 can include logic and/or features that are assembled to interact with (eg, via interface 735) hardware/firmware type elements of host device 700. For example, device driver 711 can include a device driver to control or direct storage 750 or memory 760 to fulfill requests made by application 720 or operating system 710. Device driver 711 can also include to allow network I/O device 730 to interact with CPU 770 and memory 760 to receive/deliver data via a communication channel coupled to host device 700 (eg, via network I/O device 730) Or the device driver of communication 790).

在一些實例中,應用程式720可包括可實施於主機裝置700上之應用程式。對於此等實例,應用程式720可請求諸如使用者I/O裝置740、儲存器750或記憶體760之系統之元件的存取(例如,經由作業系統710)或使用。 In some examples, application 720 can include an application that can be implemented on host device 700. For such instances, application 720 can request access (e.g., via operating system 710) or use of elements of a system such as user I/O device 740, storage 750, or memory 760.

根據一些實例,網路I/O裝置730可相似於上文針對圖1所描述之I/O裝置140。對於此等實例,網路I/O裝置730可包括具有經組配或配置用於將切換識別指派至在網路I/O裝置730處接收之資料之邏輯及/或特徵的切換管理器142(圖7中未圖示)。在一些實例中,網路I/O裝置730可經配置以充當網路介面卡(NIC)。 According to some examples, network I/O device 730 can be similar to I/O device 140 described above with respect to FIG. For such examples, network I/O device 730 can include a switch manager 142 having logic and/or features that are configured or configured to assign handover identification to data received at network I/O device 730. (Not shown in Fig. 7). In some examples, network I/O device 730 can be configured to act as a network interface card (NIC).

在一些實例中,使用者I/O裝置740可包括耦接 至用於鍵入待由主機裝置700之元件實施之資料及命令的介面754之一或多個使用者輸入裝置。舉例來說,該等使用者輸入裝置可包括鍵盤、滑鼠、觸控式螢幕、軌跡墊、軌跡球、isopoint、語音辨識系統及/或其類似者。相似地,使用者I/O裝置740可包括耦接至用於將資訊輸出至操作員或使用者之介面754之一或多個使用者輸出裝置。舉例來說,視需要,該等使用者輸出裝置可包括一或多個顯示器、印表機、揚聲器及/或其他輸出裝置。舉例來說,該等使用者輸出裝置中之一者可為顯示器。該顯示器可為陰極 射線管(cathode ray tube,CRT)、液晶顯示器(liquid crystal display,LCD),或任何其他類型之顯示器。 In some examples, user I/O device 740 can include coupling One or more user input devices to interface 754 for entering data and commands to be executed by elements of host device 700. For example, the user input devices can include a keyboard, a mouse, a touch screen, a track pad, a trackball, an isopoint, a voice recognition system, and/or the like. Similarly, user I/O device 740 can include one or more user output devices coupled to interface 754 for outputting information to an operator or user. For example, such user output devices may include one or more displays, printers, speakers, and/or other output devices, as desired. For example, one of the user output devices can be a display. The display can be a cathode A cathode ray tube (CRT), a liquid crystal display (LCD), or any other type of display.

在一些實例中,儲存器750可包括經組配以在儲存操作模式下實施或操作的各種類型之記憶體。儲存器750可包括不同類型之儲存裝置中至少一者或其組合以儲存相對大量資料。此等不同類型之儲存裝置可包括(但不限於)以下各者中之一或多者:磁碟機、光碟機、磁帶機、內部儲存裝置、附接式儲存裝置、快閃記憶體、電池備用SDRAM(同步DRAM)、網路可存取儲存裝置,及/或其他類型之非揮發性記憶體(例如,相變記憶體(phase change memory,PCM))。在一些實例中,儲存器750可被包括為使用者I/O裝置730之部分,而非如圖7所描繪之分離元件。 In some examples, storage 750 can include various types of memory that are assembled to be implemented or operated in a storage mode of operation. The storage 750 can include at least one of a combination of different types of storage devices or a combination thereof to store a relatively large amount of data. These different types of storage devices may include, but are not limited to, one or more of the following: a disk drive, a CD player, a tape drive, an internal storage device, an attached storage device, a flash memory, a battery Standby SDRAM (synchronous DRAM), network accessible storage, and/or other types of non-volatile memory (eg, phase change memory (PCM)). In some examples, the storage 750 can be included as part of the user I/O device 730 rather than a separate component as depicted in FIG.

根據一些實例,記憶體760可包括不同類型之記憶體中至少一者或其組合以包括RAM、DRAM、靜態RAM(SRAM)、相變材料RAM(PRAM)及/或其他類型之揮發性記憶體。在一些實例中,記憶體760可經組配以維持由網路I/O裝置730、CPU 770之元件及/或作業系統710使用之緩衝器以至少臨時儲存經接收資料。 According to some examples, memory 760 can include at least one or a combination of different types of memory to include RAM, DRAM, static RAM (SRAM), phase change material RAM (PRAM), and/or other types of volatile memory. . In some examples, memory 760 can be configured to maintain buffers used by network I/O device 730, components of CPU 770, and/or operating system 710 to at least temporarily store received data.

根據一些實例,CPU 770可被實施為用於主機裝置700之中央處理單元。CPU 770可包括分離地具有一或多個處理器核心之一或多個處理器。在一些實例中,CPU 770可包括任何類型之處理器,諸如(例如),多核心處理器、精簡指令集電腦(reduced instruction set computer,RISC)、具有管線之處理器、複雜指令集電腦(complex instruction set computer,CISC)、數位信號處理器(digital signal processor,DSP),等等。 According to some examples, CPU 770 can be implemented as a central processing unit for host device 700. CPU 770 can include one or more processors having one or more processor cores separately. In some examples, CPU 770 can include any type of processor such as, for example, a multi-core processor, a reduced instruction set computer (RISC), a pipelined processor, a complex instruction set computer (complex) Instruction set computer, CISC), digital signal processor (DSP), and so on.

在一些實例中,晶片組780可在作業系統710、網路使用者裝置730、使用者I/O裝置740、儲存器750、記憶體760、CPU 770或通信790當中提供相互通信。舉例來說,晶片組780可在作業系統710、使用者I/O裝置740、儲存器750與CPU 770之間提供相互通信以自儲存器750擷取資訊以將圖形顯示於包括於使用者I/O裝置740中之顯示器上。該等圖形可能已在包括於作業系統710中之作業系統之請求時由CPU 770呈現。 In some examples, chipset 780 can provide intercommunication between operating system 710, network user device 730, user I/O device 740, storage 750, memory 760, CPU 770, or communication 790. For example, the chipset 780 can provide intercommunication between the operating system 710, the user I/O device 740, the storage 750, and the CPU 770 to retrieve information from the storage 750 to display graphics for inclusion in the user I. On the display in the /O device 740. The graphics may have been presented by the CPU 770 upon request by the operating system included in the operating system 710.

在一些實例中,通信790可包括用以使主機裝置700能夠在外部與在主機裝置700遠端之元件通信之邏輯及/或特徵。此等邏輯及/或特徵可包括經由一或多個有線、無線或光學網路而在有線、無線或光學通信通道或鏈路上通信。在橫越此等網路之通信中,通信790可根據呈任何版本之一或多個適用通信或網路連接標準而操作。又,在一些實例中,通信790可與網路I/O裝置730整合,以便接收/轉遞與至在主機裝置700遠端之元件之通信相關聯的資料。 In some examples, communication 790 can include logic and/or features to enable host device 700 to communicate externally with elements remotely from host device 700. Such logic and/or features may include communicating over a wired, wireless or optical communication channel or link via one or more wired, wireless or optical networks. In communications across such networks, communication 790 can operate in accordance with one or more applicable communication or network connection standards in any version. Also, in some examples, communication 790 can be integrated with network I/O device 730 to receive/retransmit data associated with communication to elements remotely of host device 700.

如上文所提及,介面754可允許主機裝置700之硬體及/或韌體元件以通信方式耦接在一起。根據一些實例,介面754可根據一或多個協定或標準而操作。此等協定或標準可描述於諸如與以下各者相關聯之工業標準的一個或一或多個工業標準(包括後裔及變型)中:互積體電路 (I2C)規範、系統管理匯流排(SMBus)規範、加速圖形埠(Accelerated Graphics Port,AGP)規範、快速周邊組件互連(PCI Express)規範、通用串列匯流排(USB)規範、高清晰度多媒體介面(High-Definition Multimedia Interface,HDMI)標準、數位視覺介面(Digital Visual Interface,DVI)規範、BluetoothTM規範,或串列進階附接技術(SATA)規範。但,本發明不僅僅限於上述標準及關聯協定。 As mentioned above, the interface 754 can allow the hardware and/or firmware elements of the host device 700 to be communicatively coupled together. According to some examples, interface 754 can operate in accordance with one or more protocols or standards. Such agreements or standards may be described in one or more industry standards (including descendants and variants) such as industry standards associated with: inter-integrated circuit (I 2 C) specifications, system management busses (SMBus) Specification, Accelerated Graphics Port (AGP) Specification, Fast Peripheral Component Interconnect (PCI Express) Specification, Universal Serial Bus (USB) Specification, High-Definition Multimedia Interface (High-Definition Multimedia Interface, HDMI) standards, digital visual interface (Digital visual interface, DVI) specification, Bluetooth TM specifications or serial advanced technology attachment (SATA) specification. However, the invention is not limited only to the above criteria and associated agreements.

在一些實例中,主機裝置700可包括於計算裝置中。計算裝置之實例可包括(但不限於)實體終點站、伺服器、刀鋒伺服器、計算板、工作站、桌上型電腦、個人電腦(PC)或膝上型電腦、超行動電腦,等等。 In some examples, host device 700 can be included in a computing device. Examples of computing devices may include, but are not limited to, physical terminals, servers, blade servers, computing boards, workstations, desktops, personal computers (PCs) or laptops, hyper mobile computers, and the like.

至少一實例之一或多個態樣可藉由儲存於表示處理器內之各種邏輯之至少一機器可讀媒體上的代表性指令實施,該至少一機器可讀媒體在由一機器、計算裝置或系統讀取時使該機器、計算裝置或系統製作用以執行本文所描述之技術之邏輯。被稱作「IP核心」之此等表示可儲存於一有形機器可讀媒體上且供應至各種客戶或製造設施以載入至實際上製成該邏輯或處理器之製作機器中。 One or more aspects of at least one example may be implemented by representative instructions stored on at least one machine readable medium representing various logic within a processor, the at least one machine readable medium being Or the system reads the logic that the machine, computing device or system makes to perform the techniques described herein. Such representations, referred to as "IP cores", may be stored on a tangible machine readable medium and supplied to various customers or manufacturing facilities for loading into a production machine that actually makes the logic or processor.

各種實例可使用硬體元件、軟體元件或此兩者之組合予以實施。在一些實例中,硬體元件可包括裝置、組件、處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器,等等)、積體電路、特殊應用積體電路(ASIC)、可程式化邏輯裝置(PLD)、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、記憶體單元、邏輯閘、 暫存器、半導體裝置、晶片、微晶片、晶片組,等等。在一些實例中,軟體元件可包括軟體組件、程式、應用程式、電腦程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、次常式、函式、方法、程序、軟體介面、應用程式介面(API)、指令集、計算程式碼、電腦程式碼、程式碼片段、電腦程式碼片段、字、值、符號或其任何組合。如一給定實施所需要,判定一實例是否使用硬體元件及/或軟體元件予以實施可根據諸如以下各者之任何數目個因素而變化:所要計算速率、功率位準、耐熱性、處理循環預算、輸入資料速率、輸出資料速率、記憶體資源、資料匯流排速度,及其他設計或效能約束。 Various examples may be implemented using hardware components, software components, or a combination of the two. In some examples, hardware components can include devices, components, processors, microprocessors, circuits, circuit components (eg, transistors, resistors, capacitors, inductors, etc.), integrated circuits, special application products Body circuit (ASIC), programmable logic device (PLD), digital signal processor (DSP), field programmable gate array (FPGA), memory unit, logic gate, Registers, semiconductor devices, wafers, microchips, wafer sets, and the like. In some examples, software components may include software components, programs, applications, computer programs, system programs, machine programs, operating system software, intermediate software, firmware, software modules, routines, subroutines, functions, Method, program, software interface, application interface (API), instruction set, calculation code, computer code, code segment, computer code segment, word, value, symbol, or any combination thereof. As required for a given implementation, determining whether an instance is implemented using hardware components and/or software components can vary depending on any number of factors, such as: rate, power level, heat resistance, processing cycle budget , input data rate, output data rate, memory resources, data bus speed, and other design or performance constraints.

一些實例可包括一製品或至少一電腦可讀媒體。一種電腦可讀媒體可包括一非暫時性儲存媒體以儲存邏輯。在一些實例中,該非暫時性儲存媒體可包括能夠儲存電子資料的一或多種類型之電腦可讀儲存媒體,包括揮發性記憶體或非揮發性記憶體、卸除式或非卸除式記憶體、抹除式或非抹除式記憶體、可寫入或可重寫記憶體,等等。在一些實例中,該邏輯可包括各種軟體元件,諸如,軟體組件、程式、應用程式、電腦程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、次常式、函式、方法、程序、軟體介面、API、指令集、計算程式碼、電腦程式碼、程式碼片段、電腦程式碼片段、字、值、符號或其任何組合。 Some examples may include an article of manufacture or at least one computer readable medium. A computer readable medium can include a non-transitory storage medium to store logic. In some examples, the non-transitory storage medium can include one or more types of computer readable storage media capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory. , erase or non-erase memory, writable or rewritable memory, and more. In some examples, the logic may include various software components, such as software components, programs, applications, computer programs, system programs, machine programs, operating system software, intermediate software, firmware, software modules, routines, times. A routine, a function, a method, a program, a software interface, an API, an instruction set, a computational code, a computer code, a code segment, a computer code segment, a word, a value, a symbol, or any combination thereof.

根據一些實例,一種電腦可讀媒體可包括一非暫 時性儲存媒體以儲存或維持指令,該等指令在由一機器、計算裝置或系統執行時使該機器、計算裝置或系統執行根據所描述實例之方法及/或操作。該等指令可包括任何合適類型之程式碼,諸如,原始程式碼、經編譯程式碼、經解譯程式碼、可執行程式碼、靜態程式碼、動態程式碼,及其類似者。該等指令可根據一預定義電腦語言、方式或語法予以實施,以用於指示一機器、計算裝置或系統執行某一功能。該等指令可使用任何合適高階、低階、物件導向式、視覺、經編譯及/或經解譯程式設計語言予以實施。 According to some examples, a computer readable medium can include a non-transitory The storage medium maintains or maintains instructions that, when executed by a machine, computing device or system, cause the machine, computing device or system to perform methods and/or operations in accordance with the described examples. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The instructions may be implemented in accordance with a predefined computer language, manner, or grammar for instructing a machine, computing device, or system to perform a function. These instructions can be implemented using any suitable high-order, low-order, object-oriented, visual, compiled, and/or interpreted programming language.

可使用表達「在一實例中」或「一實例」連同其派生詞來描述一些實例。此等術語意謂結合該實例而描述之一特定特徵、結構或特性包括於至少一實例中。片語「在一實例中」於本說明書中之各處的出現未必皆指代同一實例。 Some examples may be described using the expression "in an instance" or "an instance" along with its derivatives. The terms "a" or "an" or "an" The appearances of the phrase "in an embodiment" are in

可使用表達「耦接」及「連接」連同其派生詞來描述一些實例。此等術語未必意欲對於彼此同義。舉例來說,使用術語「連接」及/或「耦接」之描述可指示出兩個或兩個以上元件彼此進行直接實體或電氣接觸。然而,術語「耦接」亦可意謂兩個或兩個以上元件並不彼此進行直接接觸,而是仍彼此共同操作或互動。 Some examples can be described using the expression "coupled" and "connected" along with their derivatives. These terms are not necessarily intended to be synonymous with each other. For example, the use of the terms "connected" and/or "coupled" may indicate that two or more elements are in direct physical or electrical contact with each other. However, the term "coupled" may also mean that two or more elements are not in direct contact with each other, but are still operating or interacting with each other.

應強調,發明摘要經提供以符合37 C.F.R.之章節1.72(b),其需要將允許讀者快速地確定技術揭示內容之本質的摘要。該摘要係在其將不用以解譯或限制申請專利範圍之範疇或含義之理解的情況下予以提交。此外,在前 述【實施方式】中,可看出,出於使本發明簡單化之目的而在單一實例中將各種特徵分組在一起。本發明方法不應被解譯為反映如下意圖:所主張實例需要多於各申請專利範圍中明確地敍述之特徵的特徵。實情為,如以下申請專利範圍所反映,發明性主題在於少於單一所揭示實例之所有特徵的特徵。因此,以下申請專利範圍據此併入至【實施方式】中,其中各申請專利範圍作為一分離實例而依賴於其自身。在附加申請專利範圍中,術語「包括」及「其中」分別用作各別術語「包含」及「其中」之通俗等效者。此外,術語「第一」、「第二」、「第三」等等僅用作標記,且並非意欲對其物件強加數值要求。 It is emphasized that the Abstract of the Invention is provided to comply with Section 37.2(b) of 37 C.F.R., which requires an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. This abstract is submitted without an understanding of the scope or meaning of the scope of the patent application. In addition, before In the [Embodiment], it can be seen that various features are grouped together in a single instance for the purpose of simplifying the invention. The method of the present invention should not be construed as reflecting the intention that the claimed embodiments require more features than those specifically recited in the claims. As a matter of fact, the inventive subject matter lies in less than all features of a single disclosed example. Therefore, the scope of the following patent application is hereby incorporated by reference in its entirety in its entirety in its entirety in the the the the the the the the the In the context of the additional patent application, the terms "including" and "including" are used as the ordinary equivalents of the respective terms "including" and "including". In addition, the terms "first", "second", "third", etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.

在一些實例中,可實施包括在耦接至一主機裝置之一輸入/輸出裝置處接收資料之方法。該資料可與維持於該輸入/輸出裝置處之一虛擬站介面相關聯。該虛擬站介面可以通信方式耦接至實施於該主機裝置處之一虛擬機。該資料可能已自該虛擬機或一網路元件中之一者予以發送,該網路元件能夠經由一網路通信鏈路而耦接至該輸入/輸出裝置。可基於用於供在該輸入/輸出裝置處接收該資料之一埠的一經指派之埠識別碼、用於該資料之識別資訊及該識別資訊之至少一部分之一發源端而將一切換識別指派至該資料。根據一些實例,可使用該經指派之切換識別作為一查找表之部分以判定用於在該輸入/輸出裝置處處理該資料之一或多個動作。 In some examples, a method can be implemented that includes receiving data at an input/output device coupled to one of the host devices. The data can be associated with a virtual station interface maintained at the input/output device. The virtual station interface can be communicatively coupled to a virtual machine implemented at the host device. The data may have been sent from one of the virtual machine or a network element that can be coupled to the input/output device via a network communication link. Assigning a handover identification based on an assigned identification code for receiving one of the data at the input/output device, identifying information for the data, and originating at least one of the identification information To the information. According to some examples, the assigned handover identification may be used as part of a lookup table to determine one or more actions for processing the data at the input/output device.

在一些實例中,此方法之實施可包括供接收該資 料之該埠包括以下各者中之一者:一實體埠,其能夠耦接至該網路通信鏈路;或一邏輯埠,其能夠耦接至一資料通道,該資料通道經配置以將資料自該虛擬機路由至實施於該主機裝置處之另一虛擬機。 In some examples, implementation of the method can include receiving the capital The device includes one of: a physical port that can be coupled to the network communication link, or a logic port that can be coupled to a data channel that is configured to The data is routed from the virtual machine to another virtual machine implemented at the host device.

根據一些實例,此方法之實施可包括:該識別資訊之至少該部分之該發源端將基於用於該資料之該識別資訊產生於該輸入/輸出裝置處而被識別為區域,或該資料發源端將基於用於該資料之該識別資訊產生於該輸入/輸出裝置外部而被識別為全域。對於此等實例,一區域識別可與一第一識別符相關聯且一全域識別可與一第二識別符相關聯。該經指派之切換識別可基於該發源端被識別為區域抑或全域而包括該第一識別符或該第二識別符中之一者。 According to some examples, the implementation of the method may include: at least the source of the identification information is identified as an area based on the identification information for the data generated at the input/output device, or the source of the data The terminal is identified as a global domain based on the identification information for the data being generated outside the input/output device. For such instances, an area identification can be associated with a first identifier and a global identification can be associated with a second identifier. The assigned handover identification may include one of the first identifier or the second identifier based on whether the originator is identified as a region or a global region.

在一些實例中,此方法之實施可包括該識別資訊之至少該部分之該發源端將被識別為區域。對於此等實例,用於該資料之該識別資訊可包括一資料通道識別號碼,該資料通道識別號碼係與以通信方式耦接至該虛擬機之該虛擬站介面相關聯。 In some examples, implementation of the method can include the source of at least the portion of the identification information to be identified as a region. For such instances, the identification information for the data can include a data channel identification number associated with the virtual station interface communicatively coupled to the virtual machine.

根據一些實例,此方法之實施可包括該識別資訊之至少該部分之該發源端將被識別為區域。對於此等實例,用於該資料之該識別資訊可包括一預設識別號碼,該預設識別號碼係基於該資料與控制資料相關聯而產生於該輸入/輸出裝置處。該控制資料可關於在該網路元件與該虛擬機之間建立一資料通道。該資料通道係經由該虛擬站介面而路由。 According to some examples, implementation of the method can include the source of at least the portion of the identification information to be identified as a region. For such instances, the identification information for the data can include a predetermined identification number that is generated at the input/output device based on the data associated with the control data. The control profile can be related to establishing a data channel between the network element and the virtual machine. The data channel is routed via the virtual station interface.

在一些實例中,此方法之實施可包括依照一或多個乙太網路規範而操作該輸入/輸出裝置。該一或多個乙太網路規範可包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範。對於此等實例,該識別資訊之至少該部分之該發源端可被識別為全域,且該識別號碼可包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)中之一者。該S標籤或該E標籤可關於該網路元件與該虛擬機之間的一經建立之資料通道。該經建立之資料通道可經由該虛擬站介面而路由。 In some examples, implementation of the method can include operating the input/output device in accordance with one or more Ethernet specifications. The one or more Ethernet specifications may include an IEEE 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification. For such instances, the origin of at least the portion of the identification information can be identified as a global domain, and the identification number can include one of a service tag (S tag) or a bridge tag extension tag (E tag). The S-tag or the E-tag can be related to an established data channel between the network element and the virtual machine. The established data channel can be routed via the virtual station interface.

根據一些實例,此方法之實施可包括依照一或多個乙太網路規範而操作該I/O裝置。該一或多個乙太網路規範包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範。對於此等實例,該識別資訊之至少該部分之該發源端可被識別為區域,且該識別號碼將包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)中之一者。該S標籤或該E標籤可關於該虛擬機與該網路元件之間的一經建立之資料通道。該經建立之資料通道可經由該虛擬站介面而路由。 According to some examples, implementation of the method can include operating the I/O device in accordance with one or more Ethernet specifications. The one or more Ethernet specifications include an IEEE 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification. For such instances, the origin of at least the portion of the identification information can be identified as an area, and the identification number will include one of a service tag (S tag) or a bridge extension tag (E tag). The S-tag or the E-tag can be related to an established data channel between the virtual machine and the network element. The established data channel can be routed via the virtual station interface.

在一些實例中,此方法之實施可包括將與該I/O裝置之多個切換器相關聯之資訊儲存於一單一切換識別表中,該單一切換識別表維持於該輸入/輸出裝置處之一記憶體中。該資訊可包括用於該資料之該經指派之切換識別。 In some examples, implementation of the method can include storing information associated with the plurality of switches of the I/O device in a single switch identification table maintained at the input/output device In a memory. The information can include the assigned handover identification for the data.

在一些實例中,此方法之實施可包括:使用該經指派之切換識別作為一查找表之部分包含該查找表將儲存 於該輸入/輸出裝置處之一記憶體中,該記憶體被配置為三元內容可定址記憶體(TCAM)。 In some examples, implementation of the method can include using the assigned switch identification as part of a lookup table including the lookup table to be stored In one of the memories at the input/output device, the memory is configured as a ternary content addressable memory (TCAM).

根據一些實施例,至少一機器可讀媒體包含複數個指令,該複數個指令回應於在一計算裝置上執行而使該計算裝置進行如上文所提及之實例方法。 In accordance with some embodiments, at least one machine-readable medium includes a plurality of instructions that, in response to execution on a computing device, cause the computing device to perform the example methods as mentioned above.

在一些實例中,一種設備或裝置可包括用於執行如上文所提及之實例方法的構件。 In some examples, an apparatus or apparatus can include components for performing the example methods as mentioned above.

根據一些實例,一種實例設備或裝置可包括一處理器電路及一記憶體單元,該記憶體單元以通信方式耦接至該處理器電路。該記憶體單元可經配置以儲存用於可在該處理器電路上操作之邏輯的指令。該邏輯可經組配以在能夠耦接至一主機裝置之一輸入/輸出裝置處接收資料。該資料可具有與維持於該輸入/輸出裝置處之一虛擬站介面相關聯之一目的地。該虛擬站介面可能夠耦接至實施於該主機裝置處之一虛擬機。該資料可能已自該虛擬機或一網路元件中之一者予以發送,該網路元件能夠經由一網路通信鏈路而耦接至該輸入/輸出裝置。該邏輯亦可能已經組配以基於供在該輸入/輸出裝置處接收該資料的一經指派之埠識別符、用於該資料之識別資訊及該識別資訊之至少一部分之一發源端而將一切換識別指派至該資料。對於此等實例,該邏輯可經組配以使用該經指派之切換識別作為一查找表之部分以便判定用於在該輸入/輸出裝置處處理該資料之一或多個動作。 According to some examples, an example apparatus or apparatus can include a processor circuit and a memory unit that is communicatively coupled to the processor circuit. The memory unit can be configured to store instructions for logic operable on the processor circuit. The logic can be configured to receive data at an input/output device that can be coupled to a host device. The data may have a destination associated with one of the virtual station interfaces maintained at the input/output device. The virtual station interface can be coupled to a virtual machine implemented at the host device. The data may have been sent from one of the virtual machine or a network element that can be coupled to the input/output device via a network communication link. The logic may also be configured to switch based on an assigned identifier for receiving the data at the input/output device, identification information for the data, and at least one of the source of the identification information Identify the assignment to this profile. For such instances, the logic can be configured to use the assigned switch identification as part of a lookup table to determine one or more actions for processing the data at the input/output device.

在用於該實例裝置之一些實例中,該記憶體單元 可包括揮發性記憶體。 In some examples for the device of the example, the memory unit Volatile memory can be included.

在用於該實例裝置之一些實例中,供接收該資料之該埠可包括以下各者中之一者:一實體埠,其能夠耦接至該網路通信鏈路;或一邏輯埠,其能夠耦接至一資料通道,該資料通道經配置以將資料自該虛擬機路由至實施於該主機裝置處之另一虛擬機。 In some examples for the example device, the UI for receiving the data can include one of: a physical entity that can be coupled to the network communication link; or a logical device The data channel can be coupled to a data channel configured to route data from the virtual machine to another virtual machine implemented at the host device.

根據用於該實例裝置之一些實例,該識別資訊之至少該部分之該發源端可基於用於該資料之該識別資訊產生於該輸入/輸出裝置處而被識別為區域。該資料發源端亦可基於用於該資料之該識別資訊產生於該輸入/輸出裝置外部而被識別為全域。一區域識別可與一第一識別符相關聯且一全域識別可與一第二識別符相關聯。該經指派之切換識別可基於該發源端被識別為區域抑或全域而包括該第一識別符或該第二識別符中之一者。 According to some examples for the example device, the originator of at least the portion of the identification information can be identified as an area based on the identification information for the data being generated at the input/output device. The source of the data may also be identified as a global domain based on the identification information for the data being generated outside the input/output device. An area identification can be associated with a first identifier and a global identification can be associated with a second identifier. The assigned handover identification may include one of the first identifier or the second identifier based on whether the originator is identified as a region or a global region.

在用於該實例裝置之一些實例中,該識別資訊之至少該部分之該發源端可被識別為區域。又,用於該資料之該識別資訊可包括一資料通道識別號碼,該資料通道識別號碼係與能夠耦接至該虛擬機之該虛擬站介面相關聯。 In some examples for the example device, the source of at least the portion of the identification information can be identified as a region. Moreover, the identification information for the data can include a data channel identification number associated with the virtual station interface that can be coupled to the virtual machine.

根據用於該實例裝置之一些實例,該識別資訊之至少該部分之該發源端可被識別為區域。對於此等實例,用於該資料之該識別資訊可包括一預設識別號碼,該預設識別號碼係基於該資料與控制資料相關聯而產生於該輸入/輸出裝置處。該控制資料可關於經由該虛擬站介面而在該網路元件與該虛擬機之間建立一資料通道。 According to some examples for the example device, at least the source of the portion of the identification information can be identified as a region. For such instances, the identification information for the data can include a predetermined identification number that is generated at the input/output device based on the data associated with the control data. The control profile can be related to establishing a data channel between the network element and the virtual machine via the virtual station interface.

在用於該實例裝置之一些實例中,該輸入/輸出裝置可經配置以依照一或多個乙太網路規範而操作,該一或多個乙太網路規範將包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範。對於此等實例,該識別資訊之至少該部分之該發源端可被識別為全域。該識別號碼可包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)中之一者。該S標籤或該E標籤可關於該網路元件與該虛擬機之間的一經建立之資料通道。該資料通道可經由該虛擬站介面而路由。 In some examples for the example device, the input/output device can be configured to operate in accordance with one or more Ethernet specifications, which will include a US electrical and electronic engineer Learn (IEEE) 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification. For such instances, at least the source of the portion of the identification information can be identified as a global domain. The identification number can include one of a service tag (S tag) or a bridge tag extension tag (E tag). The S-tag or the E-tag can be related to an established data channel between the network element and the virtual machine. The data channel can be routed via the virtual station interface.

根據用於該實例裝置之一些實例,該輸入/輸出裝置可經配置以依照一或多個乙太網路規範而操作,該一或多個乙太網路規範將包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範。對於此等實例,該識別資訊之至少該部分之該發源端可被識別為區域,且該識別號碼將包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)中之一者。又,該S標籤或該E標籤可關於該虛擬機與該網路元件之間的一經建立之資料通道。該經建立之資料通道可經由該虛擬站介面而路由。 According to some examples for the example device, the input/output device can be configured to operate in accordance with one or more Ethernet specifications, which will include an American Society of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet Specification or an IEEE 802.1BR Ethernet Specification. For such instances, the origin of at least the portion of the identification information can be identified as an area, and the identification number will include one of a service tag (S tag) or a bridge extension tag (E tag). Moreover, the S-tag or the E-tag can be related to an established data channel between the virtual machine and the network element. The established data channel can be routed via the virtual station interface.

在用於該實例裝置之一些實例中,該邏輯亦可經組配以使用該經指派之切換識別作為儲存於該輸入/輸出裝置處之一記憶體中之一查找表的部分。該記憶體可被配置為三元內容可定址記憶體(TCAM)。 In some examples for the example device, the logic can also be configured to use the assigned switch identification as part of a lookup table stored in one of the memories at the input/output device. The memory can be configured as a ternary content addressable memory (TCAM).

儘管已以特定於結構特徵及/或方法動作之語言 而描述主題,但應理解,附加申請專利範圍所界定之主題未必限於上文所描述之特定特徵或動作。實情為,上文所描述之特定特徵或動作被揭示為實施申請專利範圍之實例形式。 Although in a language that is specific to structural features and/or method actions The subject matter is described, but it should be understood that the subject matter defined by the appended claims is not limited to the specific features or acts described. The specific features or acts described above are disclosed as examples of the scope of the patent application.

100‧‧‧系統 100‧‧‧ system

101‧‧‧主機裝置 101‧‧‧ host device

103-2‧‧‧實體埠 103-2‧‧‧ Entity

111、112、113、114、115、116、117、118‧‧‧虛擬機(VM) 111, 112, 113, 114, 115, 116, 117, 118‧‧‧ virtual machine (VM)

111D、112D、113A、114B、115C、116D、117E、118x‧‧‧虛擬站介面(VSI) 111D, 112D, 113A, 114B, 115C, 116D, 117E, 118x‧‧‧ Virtual Station Interface (VSI)

130-1、130-2、130-3、130-4‧‧‧埠 130-1, 130-2, 130-3, 130-4‧‧‧埠

140‧‧‧輸入/輸出(I/O)裝置 140‧‧‧Input/Output (I/O) devices

141、143、146、147、148、149‧‧‧虛擬切換器(V.S.) 141, 143, 146, 147, 148, 149‧‧ virtual switchers (V.S.)

141-D‧‧‧邏輯埠(L埠) 141-D‧‧‧Logical (L埠)

142‧‧‧切換管理器 142‧‧‧Switch Manager

143A/B、146C、147D、148E、149x‧‧‧鏈路 143A/B, 146C, 147D, 148E, 149x‧‧ links

144‧‧‧埠延伸器 144‧‧‧埠 Extender

144-1C、144-2D‧‧‧E埠 144-1C, 144-2D‧‧‧E埠

145‧‧‧記憶體 145‧‧‧ memory

150-1、150-2、150-3、150-4‧‧‧通信鏈路 150-1, 150-2, 150-3, 150-4‧‧‧ communication links

160‧‧‧網路 160‧‧‧Network

Claims (25)

一種方法,其包含:在耦接至一主機裝置之一輸入/輸出裝置處接收資料,該資料係與維持於該輸入/輸出裝置處之一虛擬站介面相關聯,該虛擬站介面以通信方式耦接至實施於該主機裝置處之一虛擬機,該資料係自該虛擬機或一網路元件中之一者予以發送,該網路元件能夠經由一網路通信鏈路而耦接至該輸入/輸出裝置;基於用於在該輸入/輸出裝置處接收該資料所透過的埠之一經指派的埠識別符、用於該資料之識別資訊及該識別資訊之至少一部分之一發源端而將一切換識別指派至該資料;使用該經指派之切換識別作為一查找表之部分以判定用於在該輸入/輸出裝置處處理該資料之一個或多個動作。 A method comprising: receiving data at an input/output device coupled to a host device, the data being associated with a virtual station interface maintained at the input/output device, the virtual station interface being communicatively Coupled to a virtual machine implemented at the host device, the data is transmitted from the virtual machine or a network component, the network component being coupled to the network via a network communication link An input/output device; based on one of at least one of an assigned identifier of the UI for receiving the data at the input/output device, identification information for the data, and at least one of the identification information A handover identification is assigned to the profile; the assigned handover identification is used as part of a lookup table to determine one or more actions for processing the data at the input/output device. 如申請專利範圍第1項之方法,接收該資料所透過之該埠包括下列中之一者:能夠耦接至該網路通信鏈路的一實體埠;或者能夠耦接至一資料通道的一邏輯埠,該資料通道經配置以將資料自該虛擬機路由至實施於該主機裝置處之另一虛擬機。 For example, in the method of claim 1, the receipt of the data includes one of: a physical entity capable of being coupled to the network communication link; or a coupling capable of being coupled to a data channel Logically, the data channel is configured to route data from the virtual machine to another virtual machine implemented at the host device. 如申請專利範圍第1項或第2項中任一項之方法,該識別資訊之至少該部分之該發源端基於用於在該輸入/輸出裝置處產生的該資料之該識別資訊而被識別為區 域,或者該資料發源端將基於用於在該輸入/輸出裝置外部產生的該資料之該識別資訊而被識別為全域,一區域識別係與一第一識別符相關聯且一全域識別係與一第二識別符相關聯,該經指派之切換識別將基於該發源端被識別為區域抑或全域而包括該第一識別符或該第二識別符其中之一者。 The method of any one of clause 1 or 2, wherein the source of the at least the portion of the identification information is identified based on the identification information for the data generated at the input/output device District The domain, or the source of the data, is identified as a global domain based on the identification information for the data generated external to the input/output device, a region identification system associated with a first identifier and a global identification system A second identifier is associated, the assigned handover identification comprising one of the first identifier or the second identifier based on whether the originator is identified as a region or a global region. 如申請專利範圍第1項至第3項中任一項之方法,該識別資訊的至少該部分之該發源端被識別為區域,且用於該資料之該識別資訊包括一資料通道識別號碼,該資料通道識別號碼係與以通信方式耦接至該虛擬機之該虛擬站介面相關聯。 The method of any one of the items 1 to 3, wherein the source of the at least the portion of the identification information is identified as an area, and the identification information for the data includes a data channel identification number. The data channel identification number is associated with the virtual station interface communicatively coupled to the virtual machine. 如申請專利範圍第1項至第3項中任一項之方法,該識別資訊之至少該部分之該發源端被識別為區域,且用於該資料之該識別資訊包括一預設識別號碼,該預設識別號碼係基於與控制資料相關聯之該資料而產生於該輸入/輸出裝置處,該控制資料係關於在該網路元件與該虛擬機之間建立一資料通道,該資料通道係經由該虛擬站介面而路由。 The method of any one of the items 1 to 3, wherein the source of the identification information is identified as an area, and the identification information for the data includes a preset identification number. The preset identification number is generated at the input/output device based on the data associated with the control data, and the control data is related to establishing a data channel between the network component and the virtual machine, the data channel system Routed via the virtual station interface. 如申請專利範圍第1項至第3項中任一項之方法,其包含依照一個或多個乙太網路規範而操作該輸入/輸出裝置,該一個或多個乙太網路規範包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範,該識別資訊之至少該部分之該發源端被識別為全域,且該識別號碼包括一服務標籤(S 標籤)或一橋接埠延伸標籤(E標籤)其中之一者。 The method of any one of claims 1 to 3, comprising operating the input/output device in accordance with one or more Ethernet specifications, the one or more Ethernet specifications including The Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification, the originator of at least the portion of the identification information is identified as a global domain, and the identification number includes a service tag (S Label) or one of the bridge extension labels (E labels). 如申請專利範圍第6項之方法,該S標籤或該E標籤係關於該網路元件與該虛擬機之間的一經建立之資料通道,該經建立之資料通道係經由該虛擬站介面而路由。 The method of claim 6, wherein the S-tag or the E-tag is an established data channel between the network element and the virtual machine, and the established data channel is routed through the virtual station interface. . 如申請專利範圍第1項至第3項中任一項之方法,其包含依照一個或多個乙太網路規範而操作該I/O裝置,該一個或多個乙太網路規範包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範,該識別資訊之至少該部分之該發源端被識別為區域,且該識別號碼將包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)其中之一者。 The method of any one of claims 1 to 3, comprising operating the I/O device in accordance with one or more Ethernet specifications, the one or more Ethernet specifications including The Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification, at least the portion of the identification information identified as an area, and the identification number will include a service One of the label (S label) or a bridge extension label (E label). 如申請專利範圍第8項之方法,該S標籤或該E標籤係關於該虛擬機與該網路元件之間的一經建立之資料通道,該經建立之資料通道係經由該虛擬站介面而路由。 The method of claim 8, wherein the S tag or the E tag is an established data channel between the virtual machine and the network element, and the established data channel is routed through the virtual station interface. . 如申請專利範圍第1項至第9項中任一項之方法,其包含與該I/O裝置之多個切換器相關聯之資訊儲存於一單一切換識別表中,該單一切換識別表維持於該輸入/輸出裝置處之一記憶體中。 The method of any one of clauses 1 to 9, wherein the information associated with the plurality of switches of the I/O device is stored in a single handover identification table, the single handover identification table being maintained In one of the memory at the input/output device. 如申請專利範圍第10項之方法,其包含:該資訊包括用於該資料的該經指派之切換識別。 A method of claim 10, comprising: the information comprising the assigned handover identification for the material. 如申請專利範圍第1項至第11項中任一項之方法,使用該經指派之切換識別作為一查找表之部分包含該查找表儲存於該輸入/輸出裝置處之一記憶體中,該記憶體被配置為三元可定址內容記憶體(TCAM)。 The method of any one of clauses 1 to 11, wherein the assigned switching identification is included as part of a lookup table, and the lookup table is stored in a memory at the input/output device, The memory is configured as a ternary addressable content memory (TCAM). 至少一種機器可讀媒體,其包含複數個指令,該複數個指令回應於在一計算裝置上執行而使該計算裝置進行一如申請專利範圍第1項至第12項中任一項之方法。 At least one machine-readable medium comprising a plurality of instructions responsive to execution on a computing device to cause the computing device to perform the method of any one of claims 1 to 12. 一種設備,其包含用於執行如申請專利範圍第1項至第13項中任一項之方法的構件。 An apparatus comprising means for performing the method of any one of clauses 1 to 13 of the patent application. 一種設備,其包含:一處理器電路;以及一記憶體單元,其通信耦接至該處理器電路,該記憶體單元經配置以儲存用於可在該處理器電路上操作之邏輯的指令,該邏輯經組配以在能夠耦接至一主機裝置之一輸入/輸出裝置處接收資料,該資料具有與維持於該輸入/輸出裝置處之一虛擬站介面相關聯的一目的地,該虛擬站介面能夠耦接至實施於該主機裝置處之一虛擬機,該資料係自該虛擬機或一網路元件中之一者予以發送,該網路元件能夠經由一網路通信鏈路而耦接至該輸入/輸出裝置,該邏輯亦經組配以基於用於在該輸入/輸出裝置處接收該資料所透過的埠之一經指派的埠識別符、用於該資料之識別資訊、及該識別資訊之至少一部分之一發源端,而將一切換識別指派至該資料,該邏輯經組配以使用該經指派之切換識別作為一查找表之部分以便判定用於在該輸入/輸出裝置處處理該資料之一個或多個動作。 An apparatus comprising: a processor circuit; and a memory unit communicatively coupled to the processor circuit, the memory unit configured to store instructions for logic operable on the processor circuit, The logic is configured to receive data at an input/output device capable of being coupled to a host device having a destination associated with a virtual station interface maintained at the input/output device, the virtual The station interface can be coupled to a virtual machine implemented at the host device, the data being transmitted from one of the virtual machine or a network element, the network element being capable of being coupled via a network communication link Connected to the input/output device, the logic is also configured to assign an identifier based on one of the identifiers used to receive the data at the input/output device, identification information for the data, and Identifying at least one of the source of information, and assigning a handover identification to the profile, the logic being configured to use the assigned handover identification as part of a lookup table for determining One or more actions of the data are processed at the input/output device. 如申請專利範圍第15項之設備,其包含:該記憶體單元包括揮發性記憶體。 The device of claim 15, comprising: the memory unit comprising volatile memory. 如申請專利範圍第15或16項中任一項之設備,接收該資料所透過之該埠包括下列中之一者:能夠耦接至該網路通信鏈路的一實體埠;或者能夠耦接至一資料通道的一邏輯埠,該資料通道經配置以將資料自該虛擬機路由至實施於該主機裝置處之另一虛擬機。 The apparatus for receiving the data includes one of the following: a physical entity capable of being coupled to the network communication link; or capable of being coupled, as claimed in any one of claims 15 or 16 A logical port to a data channel configured to route data from the virtual machine to another virtual machine implemented at the host device. 如申請專利範圍第15項至第17項中任一項之設備,該識別資訊之至少該部分之該發源端基於用於在該輸入/輸出裝置處產生的該資料之該識別資訊而被識別為區域,或該資料發源端將基於用於在該輸入/輸出裝置外部產生的該資料之該識別資訊而被識別為全域,一區域識別係與一第一識別符相關聯且一全域識別係與一第二識別符相關聯,該經指派之切換識別將基於該發源端被識別為區域抑或全域而包括該第一識別符或該第二識別符中之一者。 The apparatus of any one of clauses 15 to 17, wherein the source of the at least the portion of the identification information is identified based on the identification information for the data generated at the input/output device For the region, or the source of the data is identified as a global domain based on the identification information for the data generated outside of the input/output device, a region identification system associated with a first identifier and a global identification system Associated with a second identifier, the assigned handover identification will include one of the first identifier or the second identifier based on whether the originator is identified as a region or a global region. 如申請專利範圍第18項之設備,其包含:該識別資訊的至少該部分之該發源端將被識別為區域,且用於該資料之該識別資訊將包括一資料通道識別號碼,該資料通道識別號碼係與能夠耦接至該虛擬機之該虛擬站介面相關聯。 The device of claim 18, wherein the source of at least the portion of the identification information is to be identified as an area, and the identification information for the data includes a data channel identification number, the data channel The identification number is associated with the virtual station interface that can be coupled to the virtual machine. 如申請專利範圍第18項之設備,其包含:該識別資訊之至少該部分之該發源端將被識別為區域,且用於該資料之該識別資訊將包括一預設識別號碼,該預設識別號碼係基於與控制資料相關聯之該資料而產生於該輸入/輸出裝置處,該控制資料係關於在該網路元件與該虛擬 機之間建立一資料通道,該資料通道係經由該虛擬站介面而路由。 The device of claim 18, wherein the source of at least the portion of the identification information is to be identified as an area, and the identification information for the data includes a preset identification number, the preset The identification number is generated at the input/output device based on the data associated with the control material, the control data being related to the virtual component and the virtual A data channel is established between the machines, and the data channel is routed through the virtual station interface. 如申請專利範圍第15項至第18項中任一項之設備,該輸入/輸出裝置經配置以依照一個或多個乙太網路規範而操作,該一個或多個乙太網路規範將包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範,該識別資訊之至少該部分之該發源端將被識別為全域,且該識別號碼將包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)其中之一者。 The device of any one of clauses 15 to 18, wherein the input/output device is configured to operate in accordance with one or more Ethernet specifications, the one or more Ethernet specifications Including an American Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification, at least the portion of the identification information of the source will be identified as a global domain, and the identification number will Includes one of a service tag (S tag) or a bridge tag extension tag (E tag). 如申請專利範圍第21項之設備,該S標籤或該E標籤係關於該網路元件與該虛擬機之間的一經建立之資料通道,該資料通道係經由該虛擬站介面而路由。 In the device of claim 21, the S-tag or the E-tag is an established data channel between the network element and the virtual machine, and the data channel is routed through the virtual station interface. 如申請專利範圍第15項至第18項中任一項之設備,該輸入/輸出裝置經配置以依照一個或多個乙太網路規範而操作,該一個或多個乙太網路規範將包括一美國電機電子工程師學會(IEEE)802.1Qbg乙太網路規範或一IEEE 802.1BR乙太網路規範,該識別資訊之至少該部分之該發源端將被識別為區域,且該識別號碼將包括一服務標籤(S標籤)或一橋接埠延伸標籤(E標籤)其中之一者。 The device of any one of clauses 15 to 18, wherein the input/output device is configured to operate in accordance with one or more Ethernet specifications, the one or more Ethernet specifications Including an American Institute of Electrical and Electronics Engineers (IEEE) 802.1Qbg Ethernet specification or an IEEE 802.1BR Ethernet specification, at least the part of the identification information of the identification information will be identified as an area, and the identification number will Includes one of a service tag (S tag) or a bridge tag extension tag (E tag). 如申請專利範圍第23項之設備,該S標籤或該E標籤係關於該虛擬機與該網路元件之間的一經建立之資料通道,該經建立之資料通道係經由該虛擬站介面而路 由。 For example, in the device of claim 23, the S tag or the E tag is an established data channel between the virtual machine and the network component, and the established data channel is routed through the virtual station interface. by. 如申請專利範圍第15項至第24項中任一項之設備,其包含:該邏輯亦經組配以使用該經指派之切換識別作為儲存於該輸入/輸出裝置處之一記憶體中之一查找表的部分,該記憶體被配置為三元可定址內容記憶體(TCAM)。 The apparatus of any one of clauses 15 to 24, comprising: the logic is also configured to use the assigned switching identification as being stored in a memory of the input/output device A portion of a lookup table that is configured as a ternary addressable content memory (TCAM).
TW102106685A 2012-03-29 2013-02-26 Techniques for using an assigned switch identification at an input/output device TWI651957B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
??PCT/US12/31276 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

Publications (2)

Publication Number Publication Date
TW201404097A true TW201404097A (en) 2014-01-16
TWI651957B TWI651957B (en) 2019-02-21

Family

ID=49260867

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102106685A TWI651957B (en) 2012-03-29 2013-02-26 Techniques for using an assigned switch identification at an input/output device

Country Status (5)

Country Link
KR (1) KR101617210B1 (en)
CN (2) CN107508767B (en)
DE (1) DE112012006126T5 (en)
TW (1) TWI651957B (en)
WO (1) WO2013147805A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI622884B (en) * 2016-11-17 2018-05-01 宏碁股份有限公司 Root complex management method and root complex

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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
CN109426545B (en) * 2017-08-31 2023-02-03 阿里巴巴集团控股有限公司 Data communication method and device
CN112532756B (en) * 2019-09-17 2023-10-24 华为技术有限公司 Interface expansion method, device and system
CN114328623A (en) * 2021-12-28 2022-04-12 深圳云天励飞技术股份有限公司 Data transmission processing method in chip system and related device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202706A (en) * 2003-09-26 2008-06-18 华为技术有限公司 Virtual switchboard system
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
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
GB2476606B (en) * 2008-09-08 2012-08-08 Virginia Tech Intell Prop Systems, devices, and methods for managing energy usage
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
US8417800B2 (en) * 2010-07-16 2013-04-09 Broadcom Corporation Method and system for network configuration and/or provisioning based on open virtualization format (OVF) metadata
CN102316001B (en) * 2011-10-13 2014-02-05 杭州华三通信技术有限公司 Virtual network connection configuration realizing method and network equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI622884B (en) * 2016-11-17 2018-05-01 宏碁股份有限公司 Root complex management method and root complex

Also Published As

Publication number Publication date
KR101617210B1 (en) 2016-05-18
CN104221343A (en) 2014-12-17
DE112012006126T5 (en) 2014-12-24
KR20140139522A (en) 2014-12-05
TWI651957B (en) 2019-02-21
WO2013147805A1 (en) 2013-10-03
CN107508767A (en) 2017-12-22
CN104221343B (en) 2017-09-26
CN107508767B (en) 2020-10-02

Similar Documents

Publication Publication Date Title
US9280367B2 (en) Techniques for using an assigned switch identification at an input/output device
US11005755B2 (en) Packet processing method in cloud computing system, host, and system
US11748148B2 (en) Logical processing for containers
US11411828B2 (en) Host network analyzer
US9602416B2 (en) Overlay capabilities exchange using DCBX
TWI651957B (en) Techniques for using an assigned switch identification at an input/output device
WO2018086013A1 (en) Packet processing method in cloud computing system, host, and system
US20150131669A1 (en) Virtual network overlays
JP6221143B2 (en) Multiprotocol tunneling over I / O interconnects
WO2020135542A1 (en) Cloud computing data center system, gateway, server, and message processing method
US9684348B2 (en) Method and system for boosting power supply
US10764087B2 (en) Open virtualized multitenant network scheme servicing virtual machine and container based connectivity
US20160306397A1 (en) Systems and methods for distributing power in a server system
US9823713B2 (en) Systems and methods for mounting and dismounting computing components
US20220286392A1 (en) Classification and forwarding node for integrating disparate headend traffic ingress services with disparate backend services
US9912787B2 (en) Zero-copy multiplexing using copy-on-write
US10171384B2 (en) Method to configure network bonds as a port on an integration bridge for a virtualized multilayer switch