一種數(shù)據(jù)的傳輸方法和裝置的制造方法
【專利摘要】本發(fā)明提供一種數(shù)據(jù)的傳輸方法和裝置,該方法包括:處理器向轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給處理器;所述處理器在接收到來(lái)自所述轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。通過(guò)本發(fā)明的技術(shù)方案,如果轉(zhuǎn)發(fā)芯片通過(guò)非共享管理口接收到發(fā)送給BMC的數(shù)據(jù),則可以將數(shù)據(jù)發(fā)送給BMC,使得BMC能夠正確接收數(shù)據(jù),解決BMC與外界的通信問(wèn)題,避免BMC的業(yè)務(wù)發(fā)生異常。
【專利說(shuō)明】
_種數(shù)據(jù)的傳輸方法和裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)的傳輸方法和裝置。
【背景技術(shù)】
[0002]BMC(Baseboard Management Controller,基板管理控制器)是服務(wù)器的帶外管理系統(tǒng),基于IPMI(Intelligent Platform Management Interface,智能平臺(tái)管理接口)協(xié)議,BMC可以智能的監(jiān)控和管理服務(wù)器。用戶可以通過(guò)BMC的管理口來(lái)登錄BMC的管理界面,并在管理界面上對(duì)BMC進(jìn)行管理。
[0003]BMC的管理口可以分為專用管理口和共享管理口,專用管理口僅連接到BMC,而不能連接到處理器,而共享管理口能夠連接到BMC和處理器。顯然,BMC獨(dú)自使用專用管理口,而B(niǎo)MC和處理器可以共同使用共享管理口,因此,共享管理口的部署,可以降低服務(wù)器的成本,在服務(wù)器上被廣泛使用。
[0004]如圖1所示,為服務(wù)器的內(nèi)部結(jié)構(gòu)示意圖,端口 O是BMC的共享管理口,端口 I與BMC無(wú)關(guān)。NIC(Network Interface Card,網(wǎng)絡(luò)適配器)在通過(guò)端口O接收到數(shù)據(jù)時(shí),可以將數(shù)據(jù)發(fā)送給BMC或者處理器,從而實(shí)現(xiàn)端口 O的共享。NIC在通過(guò)端口 I接收到數(shù)據(jù)時(shí),只能將數(shù)據(jù)發(fā)送給處理器。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種數(shù)據(jù)的傳輸方法,應(yīng)用于包括處理器、基板管理控制器BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上,所述服務(wù)器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC對(duì)應(yīng)的共享管理口,所述方法包括:
[0006]所述處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)所述非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的媒體訪問(wèn)控制MAC地址為BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給處理器;
[0007]所述處理器在接收到來(lái)自所述轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。
[0008]本發(fā)明提供一種數(shù)據(jù)的傳輸裝置,應(yīng)用于包括處理器、基板管理控制器BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上,所述服務(wù)器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC對(duì)應(yīng)的共享管理口,所述裝置包括:
[0009]命令發(fā)送模塊,用于向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的媒體訪問(wèn)控制MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給處理器;
[0010]數(shù)據(jù)發(fā)送模塊,用于在接收到來(lái)自轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。
[0011 ]基于上述技術(shù)方案,本發(fā)明實(shí)施例中,在將非共享管理口和共享管理口配置為聚合端口后,針對(duì)發(fā)送給BMC的數(shù)據(jù),如果轉(zhuǎn)發(fā)芯片通過(guò)非共享管理口接收到發(fā)送給BMC的數(shù)據(jù),則轉(zhuǎn)發(fā)芯片可以將數(shù)據(jù)發(fā)送給處理器,由處理器將數(shù)據(jù)發(fā)送給BMC,從而可以將數(shù)據(jù)發(fā)送給BMC,使得BMC能夠正確接收數(shù)據(jù),解決BMC與外界的通信問(wèn)題,避免BMC的業(yè)務(wù)發(fā)生異常。
【附圖說(shuō)明】
[0012]為了更加清楚地說(shuō)明本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。
[0013]圖1是服務(wù)器的內(nèi)部結(jié)構(gòu)示意圖;
[0014]圖2和圖3是本發(fā)明一種實(shí)施方式中的應(yīng)用場(chǎng)景示意圖;
[0015]圖4是本發(fā)明一種實(shí)施方式中的數(shù)據(jù)的傳輸方法的流程圖;
[0016]圖5是本發(fā)明一種實(shí)施方式中的服務(wù)器的硬件結(jié)構(gòu)圖;
[0017]圖6是本發(fā)明一種實(shí)施方式中的數(shù)據(jù)的傳輸裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0018]在本發(fā)明使用的術(shù)語(yǔ)僅僅是出于描述特定實(shí)施例的目的,而非限制本發(fā)明。本發(fā)明和權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
[0019]應(yīng)當(dāng)理解,盡管在本發(fā)明可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將同一類(lèi)型的信息彼此區(qū)分開(kāi)。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類(lèi)似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,此外,所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
[0020]在現(xiàn)有技術(shù)中,為了保證服務(wù)器的可靠性,通常將多個(gè)端口配置為聚合端口,例如,將端口O和端口 I配置為聚合端口,這樣,可以在多個(gè)端口之間進(jìn)行備份和負(fù)載分擔(dān)。但是,當(dāng)端口 O和端口 I被配置為聚合端口后,針對(duì)發(fā)送給BMC的數(shù)據(jù),交換機(jī)會(huì)將數(shù)據(jù)發(fā)送給端口 O或者端口 I。當(dāng)數(shù)據(jù)被發(fā)送到端口 I時(shí),則NIC無(wú)法將數(shù)據(jù)發(fā)送給BMC,導(dǎo)致BMC不能正確接收數(shù)據(jù)。
[0021]針對(duì)現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例中提出一種數(shù)據(jù)的傳輸方法,該方法可以應(yīng)用于包括處理器、BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上。其中,BMC是服務(wù)器的帶外管理系統(tǒng),可以智能的監(jiān)控和管理服務(wù)器。處理器可以是CPU(Central Processing Unit,中央處理器)。轉(zhuǎn)發(fā)芯片可以是NIC,在轉(zhuǎn)發(fā)芯片上配置有與交換機(jī)連接的端口,服務(wù)器通過(guò)這些端口與交換機(jī)通信。
[0022]為了保證服務(wù)器的可靠性,可以將多個(gè)端口配置為聚合端口,從而在多個(gè)端口之間進(jìn)行備份和負(fù)載分擔(dān)。本發(fā)明實(shí)施例中,將BMC的共享管理口與非共享管理口(與BMC無(wú)關(guān),非共享管理口收到的數(shù)據(jù)不能直接發(fā)送給BMC)配置為聚合端口。轉(zhuǎn)發(fā)芯片在通過(guò)共享管理口接收到數(shù)據(jù)時(shí),基于數(shù)據(jù)的目的MAC(Media Access Control,媒體訪問(wèn)控制)地址,可以將數(shù)據(jù)發(fā)送給BMC,也可以直接將數(shù)據(jù)轉(zhuǎn)發(fā)給其它設(shè)備(在命中本地的轉(zhuǎn)發(fā)表項(xiàng)時(shí),可以基于該轉(zhuǎn)發(fā)表項(xiàng)發(fā)送該數(shù)據(jù)),還可以將數(shù)據(jù)發(fā)送給處理器(在未命中本地的轉(zhuǎn)發(fā)表項(xiàng)時(shí),將數(shù)據(jù)上送給處理器進(jìn)行處理)。轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到數(shù)據(jù)時(shí),基于數(shù)據(jù)的目的MAC地址,可以直接將數(shù)據(jù)轉(zhuǎn)發(fā)給其它網(wǎng)絡(luò)設(shè)備,也可以將數(shù)據(jù)發(fā)送給處理器,但不會(huì)將數(shù)據(jù)發(fā)送給BMC,而且,當(dāng)數(shù)據(jù)的目的MAC地址是BMC的MAC地址時(shí),轉(zhuǎn)發(fā)芯片還會(huì)丟棄該數(shù)據(jù)。
[0023]在將共享管理口和非共享管理口配置為聚合端口后,為了使轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到目的MAC地址是BMC的MAC地址的數(shù)據(jù)時(shí),能夠?qū)⒃摂?shù)據(jù)正確轉(zhuǎn)發(fā)給BMC,本發(fā)明實(shí)施例中,轉(zhuǎn)發(fā)芯片將數(shù)據(jù)發(fā)送給處理器進(jìn)行后續(xù)處理,而不會(huì)丟棄該數(shù)據(jù),也不會(huì)將該數(shù)據(jù)轉(zhuǎn)發(fā)給其它網(wǎng)絡(luò)設(shè)備。
[0024]本發(fā)明實(shí)施例中,被配置為聚合端口的共享管理口和非共享管理口可以位于同一個(gè)轉(zhuǎn)發(fā)芯片上,也可以位于不同的轉(zhuǎn)發(fā)芯片上,而且非共享管理口的數(shù)量可以為一個(gè)或者多個(gè)。如圖2所示,為共享管理口和非共享管理口位于同一個(gè)轉(zhuǎn)發(fā)芯片的組網(wǎng)示意圖,如圖3所示,為共享管理口和非共享管理口位于不同的轉(zhuǎn)發(fā)芯片的組網(wǎng)示意圖。這兩種應(yīng)用場(chǎng)景的處理流程類(lèi)似,為了方便描述,本發(fā)明實(shí)施例中以圖2所示的應(yīng)用場(chǎng)景為例,進(jìn)行后續(xù)說(shuō)明。
[0025]本發(fā)明實(shí)施例中,在將多個(gè)端口配置為聚合端口后,處理器可以監(jiān)控并獲取到聚合端口的配置信息,該配置信息可以包括聚合端口內(nèi)的各成員端口的信息,如果獲知各成員端口中存在共享管理口和非共享管理口,則采用本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行處理,如果獲知各成員端口中只存在非共享管理口,不存在共享管理口,則采用現(xiàn)有流程進(jìn)行處理,在此不再贅述。例如,在將端口 O和端口 I配置為聚合端口后,處理器可以獲取到聚合端口內(nèi)包括端口 O和端口 I,且端口 O為共享管理口,端口 I為非共享管理口。
[0026]其中,根據(jù)操作系統(tǒng)類(lèi)型的不同,可以采用不同類(lèi)型的聚合技術(shù)。在一個(gè)例子中,可以通過(guò)LACP(Link Aggregat1n Control Protocol,鏈路匯聚控制協(xié)議)方式將共享管理口和非共享管理口配置為聚合端口,具體方式在此不再贅述。例如,上述端口 O和端口 I被配置為L(zhǎng)ACP的聚合端口。
[0027]本發(fā)明實(shí)施例中,針對(duì)后續(xù)數(shù)據(jù)傳輸過(guò)程,BMC和處理器之間可以采用KCS(Keyboard Controller Style,鍵盤(pán)控制器方式)或者USB(Universal Serial Bus,通用串行總線)進(jìn)行數(shù)據(jù)傳輸。BMC和轉(zhuǎn)發(fā)芯片之間可以采用SideBand(頻帶)進(jìn)行數(shù)據(jù)傳輸。轉(zhuǎn)發(fā)芯片和處理器之間可以米用PCIE(Peripheral Component Interface Express,總線和接口標(biāo)準(zhǔn))進(jìn)行數(shù)據(jù)傳輸。
[0028]本發(fā)明實(shí)施例中,處理器可以獲取到BMC的MAC地址。例如,在服務(wù)器上直接配置BMC的MAC地址,基于此配置,處理器可以獲取到BMC的MAC地址?;蛘?,處理器通過(guò)KCS或者USB向BMC發(fā)送MAC地址上報(bào)命令,由BMC返回自身的MAC地址,使處理器獲取到BMC的MAC地址。
[0029]本發(fā)明實(shí)施例中,處理器在獲取到BMC的MAC地址和/或聚合端口的配置信息(包括聚合端口內(nèi)的各成員端口的信息,如各成員端口中存在共享管理口和非共享管理口)之后,還可以將獲取到的信息存儲(chǔ)在本地存儲(chǔ)介質(zhì)(如硬盤(pán)等)上。這樣,當(dāng)服務(wù)器關(guān)閉或者重啟時(shí),在服務(wù)器啟動(dòng)或者重啟完成之后,處理器可以直接從本地存儲(chǔ)介質(zhì)中獲取到這些相關(guān)?目息O
[0030]在上述應(yīng)用場(chǎng)景下,當(dāng)服務(wù)器配置有聚合端口,且聚合端口包括非共享管理口和共享管理口時(shí),如圖4所示,該數(shù)據(jù)的傳輸方法可以包括以下步驟:
[0031]步驟401,處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,該命令用于指示該轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)時(shí),如果該數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將該數(shù)據(jù)發(fā)送給處理器?;诖耍D(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)時(shí),如果確定該數(shù)據(jù)的目的MAC地址為BMC的MAC地址,就會(huì)將該數(shù)據(jù)發(fā)送給處理器進(jìn)行后續(xù)處理。
[0032]步驟402,處理器在接收到來(lái)自轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果該數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將該數(shù)據(jù)發(fā)送給BMC。
[0033]例如,處理器向端口I (非共享管理口)所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,該轉(zhuǎn)發(fā)芯片在通過(guò)端口 I接收到數(shù)據(jù)時(shí),如果數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給處理器。處理器在接收到來(lái)自轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給BMC。
[0034]其中,在數(shù)據(jù)的目的MAC地址為BMC的MAC地址時(shí),處理器可以采用IPMI(Intelligent Platform Management Interface,智能平臺(tái)管理接口)對(duì)數(shù)據(jù)進(jìn)行封裝,將封裝后的數(shù)據(jù)發(fā)送給BMC JMC在接收到經(jīng)過(guò)IPMI封裝的數(shù)據(jù)后,對(duì)封裝后的數(shù)據(jù)進(jìn)行解封裝,得到其中的數(shù)據(jù)。而且,BMC可以對(duì)數(shù)據(jù)進(jìn)行處理,并將響應(yīng)數(shù)據(jù)發(fā)送給轉(zhuǎn)發(fā)芯片,由轉(zhuǎn)發(fā)芯片通過(guò)BMC的共享管理口(端口O)將響應(yīng)數(shù)據(jù)發(fā)送出去,從而實(shí)現(xiàn)BMC和外界的正常通
?目O
[0035]本發(fā)明實(shí)施例中,處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令(用于指示轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)時(shí),如果數(shù)據(jù)的目的MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給處理器)的過(guò)程,具體可以包括但不限于如下方式:
[0036]方式一、處理器獲取BMC的MAC地址,并向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送ACL(Access Control List,訪問(wèn)控制列表)策略。其中,該ACL策略用于使轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到目的MAC地址為BMC的MAC地址的數(shù)據(jù)時(shí),將該數(shù)據(jù)發(fā)送給處理器。或者,
[0037]方式二、處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的使能命令,以使轉(zhuǎn)發(fā)芯片為該非共享管理口使能混雜模式。其中,在非共享管理口使能混雜模式時(shí),轉(zhuǎn)發(fā)芯片將通過(guò)該非共享管理口收到的所有數(shù)據(jù)均發(fā)送給處理器。
[0038]針對(duì)方式一、處理器向轉(zhuǎn)發(fā)芯片發(fā)送的ACL策略的匹配項(xiàng)為非共享管理口和BMC的MAC地址,動(dòng)作項(xiàng)為上送處理器。這樣,基于此ACL策略,轉(zhuǎn)發(fā)芯片在接收到數(shù)據(jù)時(shí),首先判斷該數(shù)據(jù)是否為通過(guò)非共享管理口接收到的數(shù)據(jù)。如果否,則按照現(xiàn)有流程處理該數(shù)據(jù)。如果是,則轉(zhuǎn)發(fā)芯片判斷該數(shù)據(jù)的目的MAC地址是否為BMC的MAC地址。如果否,則按照現(xiàn)有流程處理該數(shù)據(jù)。如果是,則轉(zhuǎn)發(fā)芯片將該數(shù)據(jù)發(fā)送給處理器進(jìn)行后續(xù)處理。
[0039]針對(duì)方式二、轉(zhuǎn)發(fā)芯片在為非共享管理口使能混雜模式之后,在通過(guò)該非共享管理口接收到數(shù)據(jù)時(shí),無(wú)論該數(shù)據(jù)的目的MAC地址是什么MAC地址,轉(zhuǎn)發(fā)芯片都會(huì)將數(shù)據(jù)發(fā)送給處理器。這樣,當(dāng)數(shù)據(jù)的目的MAC地址為BMC的MAC地址時(shí),轉(zhuǎn)發(fā)芯片也可以將該數(shù)據(jù)發(fā)送給處理器進(jìn)行后續(xù)處理。
[0040]本發(fā)明實(shí)施例中,當(dāng)從聚合端口中刪除共享管理口時(shí),則處理器可以向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)ACL策略的命令,以使轉(zhuǎn)發(fā)芯片刪除該ACL策略;或者,向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使轉(zhuǎn)發(fā)芯片為該非共享管理口去使能混雜模式。基于此,轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)后,可以采用現(xiàn)有流程進(jìn)行處理。當(dāng)然,在實(shí)際應(yīng)用中,當(dāng)從聚合端口中刪除共享管理口時(shí),處理器也可以不向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)ACL策略的命令,或者不向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,這樣,轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)后,仍然采用本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行處理,在此不再贅述。
[0041]本發(fā)明實(shí)施例中,當(dāng)從聚合端口中刪除非共享管理口時(shí),則處理器可以向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)ACL策略的命令,以使轉(zhuǎn)發(fā)芯片刪除該ACL策略;或者,向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使轉(zhuǎn)發(fā)芯片為該非共享管理口去使能混雜模式。基于此,轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)后,可以采用現(xiàn)有流程進(jìn)行處理。當(dāng)然,在實(shí)際應(yīng)用中,當(dāng)從聚合端口中刪除非共享管理口時(shí),處理器也可以不向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)ACL策略的命令,或者不向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,這樣,轉(zhuǎn)發(fā)芯片在通過(guò)該非共享管理口接收到數(shù)據(jù)后,仍然采用本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行處理,在此不再贅述。
[0042]本發(fā)明實(shí)施例中,當(dāng)在聚合端口中增加新非共享管理口時(shí),則處理器可以向新非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送ACL策略,以使轉(zhuǎn)發(fā)芯片生效該ACL策略;或者,向新非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的使能命令,以使轉(zhuǎn)發(fā)芯片為該新非共享管理口使能混雜模式?;诖?,轉(zhuǎn)發(fā)芯片在通過(guò)該新非共享管理口接收到數(shù)據(jù)時(shí),判斷該數(shù)據(jù)的目的MAC地址是否為BMC的MAC地址。如果否,則按照現(xiàn)有流程處理該數(shù)據(jù),例如,如果本轉(zhuǎn)發(fā)芯片的MAC轉(zhuǎn)發(fā)表中存在該數(shù)據(jù)的目的MAC地址,則基于該MAC轉(zhuǎn)發(fā)表中記錄的出接口轉(zhuǎn)發(fā)該數(shù)據(jù),如果本轉(zhuǎn)發(fā)芯片的MAC轉(zhuǎn)發(fā)表中不存在該數(shù)據(jù)的目的MAC地址,則可以將數(shù)據(jù)上送給處理器進(jìn)行處理。如果是,則轉(zhuǎn)發(fā)芯片將該數(shù)據(jù)發(fā)送給處理器進(jìn)行后續(xù)處理。針對(duì)該新非共享管理口的處理流程,與上述非共享管理口(端口 I)的處理流程相同,在此不再重復(fù)贅述。
[0043]本發(fā)明實(shí)施例中,當(dāng)服務(wù)器需要關(guān)閉或者重啟時(shí),在服務(wù)器關(guān)閉或者重啟之前,處理器還可以向非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置該非共享管理口為DOWN狀態(tài)。進(jìn)一步的,在服務(wù)器啟動(dòng)或者重啟完成之后,處理器還可以向非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置該非共享管理口為UP狀態(tài)。此外,在服務(wù)器關(guān)閉或者重啟的過(guò)程中,不會(huì)影響共享管理口的狀態(tài),即共享管理口始終為UP狀態(tài)。
[0044]其中,當(dāng)非共享管理口為DOWN狀態(tài)時(shí),非共享管理口不能生效,此時(shí)只有共享管理口處于工作狀態(tài),因此,在服務(wù)器關(guān)閉或者重啟期間,只有共享管理口處于工作狀態(tài),交換機(jī)發(fā)送的數(shù)據(jù)都會(huì)發(fā)送到共享管理口,而不會(huì)發(fā)送到非共享管理口。這樣,針對(duì)BMC的數(shù)據(jù),可以發(fā)送給BMC。而且,在服務(wù)器關(guān)閉或者重啟期間,處理器不能正常工作,也不會(huì)有向處理器發(fā)送的數(shù)據(jù),將非共享管理口設(shè)置為DOWN狀態(tài),不會(huì)影響正常數(shù)據(jù)的傳輸。
[0045]此外,當(dāng)非共享管理口為UP狀態(tài)時(shí),該非共享管理口生效,此時(shí),共享管理口和非共享管理口均處于工作狀態(tài),因此,在服務(wù)器啟動(dòng)或者重啟完成之后,交換機(jī)發(fā)送的數(shù)據(jù)會(huì)發(fā)送到共享管理口或者非共享管理口。
[0046]為了保證處理器與BMC之間通信的可靠性,還可以在處理器與BMC之間定時(shí)發(fā)送心跳報(bào)文,基于此,本發(fā)明實(shí)施例中,處理器還可以周期性向BMC發(fā)送心跳報(bào)文,BMC可以周期性向處理器發(fā)送心跳報(bào)文,發(fā)送周期可以根據(jù)實(shí)際情況任意設(shè)置,如I秒。如果處理器在預(yù)設(shè)時(shí)間(可以根據(jù)實(shí)際情況任意設(shè)置,如3個(gè)發(fā)送周期,如3秒)內(nèi)未接收到來(lái)自BMC的心跳報(bào)文,則處理器確定處理器與BMC之間的鏈路發(fā)生故障,并向非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置該非共享管理口為DOWN狀態(tài)。
[0047]其中,處理器在確定處理器與BMC之間的鏈路發(fā)生故障之后,還可以記錄故障日志,并發(fā)送故障告警信息。用戶在接收到故障告警信息后,可以手工排除故障。在故障期間,由于非共享管理口為DOWN狀態(tài),非共享管理口不能生效,此時(shí)只有共享管理口處于工作狀態(tài),因此,交換機(jī)在向服務(wù)器發(fā)送數(shù)據(jù)時(shí),由于非共享管理口為DOWN狀態(tài),因此數(shù)據(jù)不會(huì)發(fā)送到非共享管理口,而由于共享管理口處于工作狀態(tài),g卩UP狀態(tài),因此數(shù)據(jù)可以發(fā)送到共享管理口。這樣,針對(duì)交換機(jī)發(fā)送給BMC的數(shù)據(jù),該數(shù)據(jù)可以發(fā)送到共享管理口,繼而將數(shù)據(jù)發(fā)送給BMC。針對(duì)交換機(jī)發(fā)送給處理器的數(shù)據(jù),該數(shù)據(jù)也可以發(fā)送到共享管理口,繼而將數(shù)據(jù)發(fā)送給處理器,但是,針對(duì)交換機(jī)發(fā)送給處理器的數(shù)據(jù),該數(shù)據(jù)無(wú)法發(fā)送到非共享管理口,因此,針對(duì)交換機(jī)發(fā)送給處理器的數(shù)據(jù),無(wú)法在共享管理口和非共享管理口之間進(jìn)行備份和負(fù)載分擔(dān)。
[0048]本發(fā)明實(shí)施例中,處理器在利用來(lái)自BMC的心跳報(bào)文確定處理器與BMC之間的鏈路故障恢復(fù)(如處理器接收到來(lái)自BMC的心跳報(bào)文)時(shí),則處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置非共享管理口為UP狀態(tài)。當(dāng)非共享管理口為UP狀態(tài)時(shí),該非共享管理口生效,此時(shí),共享管理口和非共享管理口均處于工作狀態(tài)。
[0049]本發(fā)明實(shí)施例中,針對(duì)發(fā)送給BMC的數(shù)據(jù),可以通過(guò)轉(zhuǎn)發(fā)芯片將數(shù)據(jù)發(fā)送給BMC,也可以通過(guò)轉(zhuǎn)發(fā)芯片將數(shù)據(jù)發(fā)送給處理器,由處理器將數(shù)據(jù)發(fā)送給BMC,而且,經(jīng)過(guò)處理器的數(shù)據(jù)的發(fā)送時(shí)間要長(zhǎng)于未經(jīng)過(guò)處理器的數(shù)據(jù)的發(fā)送時(shí)間。因此,可能會(huì)導(dǎo)致發(fā)送給BMC的數(shù)據(jù)出現(xiàn)亂序。針對(duì)該問(wèn)題,可以在BMC內(nèi)部設(shè)置一個(gè)用于緩存亂序數(shù)據(jù)的隊(duì)列,且為每個(gè)亂序數(shù)據(jù)設(shè)置老化定時(shí)器,在老化定時(shí)器超時(shí)之前,如果接收到新數(shù)據(jù),并解決了亂序問(wèn)題,則將亂序數(shù)據(jù)組合成正常順序的數(shù)據(jù),進(jìn)行處理。例如,正常的順序?yàn)閿?shù)據(jù)1、數(shù)據(jù)2和數(shù)據(jù)3,假設(shè)BMC先接收到數(shù)據(jù)3,則獲知數(shù)據(jù)3是亂序數(shù)據(jù),將數(shù)據(jù)3緩存到隊(duì)列。假設(shè)又接收到數(shù)據(jù)I和數(shù)據(jù)2,則獲知已經(jīng)接收到正常順序的數(shù)據(jù),將數(shù)據(jù)1、數(shù)據(jù)2和數(shù)據(jù)3合并為正常順序的數(shù)據(jù)。
[0050]為了將亂序數(shù)據(jù)組合成正常順序的數(shù)據(jù),可以加大緩存隊(duì)列的長(zhǎng)度,并增加老化定時(shí)器的老化時(shí)間,以使亂序數(shù)據(jù)可以有充足的時(shí)間來(lái)等待其它數(shù)據(jù)。而且,還可以優(yōu)化處理器的性能,提高處理器的運(yùn)行速度,提高處理器與BMC之間的通信速度,以使處理器能夠盡快將數(shù)據(jù)發(fā)送給BMC。
[0051 ] 本發(fā)明實(shí)施例中,BMC的MAC地址可以是共享管理口的MAC地址。
[0052]本發(fā)明實(shí)施例中,可以在BMC內(nèi)設(shè)置一個(gè)Agent(代理)模塊,且由該Agent模塊完成上述BMC的操作,例如,上述接收來(lái)自處理器的數(shù)據(jù),向處理器發(fā)送心跳報(bào)文等流程,均由Agent模塊完成。此外,還可以在處理器內(nèi)設(shè)置一個(gè)Agent模塊,且由該Agent模塊完成上述處理器的操作,例如,上述向BMC發(fā)送數(shù)據(jù),向BMC發(fā)送心跳報(bào)文等流程,均由Agent模塊完成。
[0053]基于上述技術(shù)方案,本發(fā)明實(shí)施例中,在將非共享管理口和共享管理口配置為聚合端口后,針對(duì)發(fā)送給BMC的數(shù)據(jù),如果轉(zhuǎn)發(fā)芯片通過(guò)非共享管理口接收到發(fā)送給BMC的數(shù)據(jù),則轉(zhuǎn)發(fā)芯片可以將數(shù)據(jù)發(fā)送給處理器,由處理器將數(shù)據(jù)發(fā)送給BMC,從而可以將數(shù)據(jù)發(fā)送給BMC,使得BMC能夠正確接收數(shù)據(jù),解決BMC與外界的通信問(wèn)題,避免BMC的業(yè)務(wù)發(fā)生異常。
[0054]基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種數(shù)據(jù)的傳輸裝置,應(yīng)用于包括處理器、BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上,該服務(wù)器配置有聚合端口,且該聚合端口包括非共享管理口和BMC對(duì)應(yīng)的共享管理口,該數(shù)據(jù)的傳輸裝置應(yīng)用在服務(wù)器上。其中,該數(shù)據(jù)的傳輸裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在的服務(wù)器的處理器,讀取非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令形成的。從硬件層面而言,如圖5所示,為本發(fā)明提出的數(shù)據(jù)的傳輸裝置所在的服務(wù)器的一種硬件結(jié)構(gòu)圖,除了圖5所示的處理器、非易失性存儲(chǔ)器夕卜,服務(wù)器還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來(lái)講,該服務(wù)器還可能是分布式設(shè)備,可能包括多個(gè)接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展。
[0055]如圖6所示,為本發(fā)明提出的數(shù)據(jù)的傳輸裝置的結(jié)構(gòu)圖,所述裝置包括:
[0056]命令發(fā)送模塊11,用于向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的媒體訪問(wèn)控制MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給處理器;
[0057]數(shù)據(jù)發(fā)送模塊12,用于在接收到來(lái)自轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。
[0058]所述命令發(fā)送模塊11,具體用于在向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令的過(guò)程中,獲取所述BMC的MAC地址,并向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送訪問(wèn)控制列表ACL策略,其中,所述ACL策略用于使所述轉(zhuǎn)發(fā)芯片在通過(guò)所述非共享管理口接收到目的MAC地址為所述BMC的MAC地址的數(shù)據(jù)時(shí),將所述數(shù)據(jù)發(fā)送給所述處理器;或者,
[0059]向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口使能混雜模式;且在混雜模式下,所述轉(zhuǎn)發(fā)芯片將通過(guò)所述非共享管理口收到的數(shù)據(jù)發(fā)送給所述處理器。
[0060]所述命令發(fā)送模塊11,還用于當(dāng)從所述聚合端口中刪除共享管理口時(shí),向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式;和/或,和/或,當(dāng)從所述聚合端口中刪除所述非共享管理口時(shí),向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式。
[0061]所述命令發(fā)送模塊11,還用于當(dāng)所述服務(wù)器需要關(guān)閉或者重啟時(shí),在服務(wù)器關(guān)閉或者重啟之前,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài);在所述服務(wù)器啟動(dòng)或者重啟完成之后,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀態(tài)。
[0062]所述數(shù)據(jù)發(fā)送模塊12,還用于接收所述BMC周期性的向所述處理器發(fā)送的心跳報(bào)文;
[0063]所述數(shù)據(jù)的傳輸裝置還包括(在圖中未體現(xiàn)):
[0064]確定模塊,用于當(dāng)所述數(shù)據(jù)發(fā)送模塊12在預(yù)設(shè)時(shí)間內(nèi)未接收到來(lái)自所述BMC的心跳報(bào)文時(shí),則確定所述處理器與所述BMC之間的鏈路發(fā)生故障;
[0065]所述命令發(fā)送模塊11,還用于向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài);
[0066]所述確定模塊,還用于利用來(lái)自所述BMC的心跳報(bào)文確定所述處理器與所述BMC之間的鏈路故障恢復(fù);
[0067]所述命令發(fā)送模塊11,還用于在所述處理器與所述BMC之間的鏈路故障恢復(fù)時(shí),則向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀態(tài)。
[0068]其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。
[0069]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
[0070]本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
[0071]以上公開(kāi)的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種數(shù)據(jù)的傳輸方法,應(yīng)用于包括處理器、基板管理控制器BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上,所述服務(wù)器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC對(duì)應(yīng)的共享管理口,其特征在于,所述方法包括: 所述處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)所述非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的媒體訪問(wèn)控制MAC地址為BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給處理器; 所述處理器在接收到來(lái)自所述轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述處理器向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令的過(guò)程,具體包括: 所述處理器獲取所述BMC的MAC地址,并向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送訪問(wèn)控制列表ACL策略,其中,所述ACL策略用于使所述轉(zhuǎn)發(fā)芯片在通過(guò)所述非共享管理口接收到目的MAC地址為所述BMC的MAC地址的數(shù)據(jù)時(shí),將所述數(shù)據(jù)發(fā)送給所述處理器;或者, 所述處理器向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口使能混雜模式;且在混雜模式下,所述轉(zhuǎn)發(fā)芯片將通過(guò)所述非共享管理口收到的數(shù)據(jù)發(fā)送給所述處理器。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 當(dāng)從所述聚合端口中刪除共享管理口時(shí),所述處理器向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式;和/或, 當(dāng)從所述聚合端口中刪除所述非共享管理口時(shí),所述處理器向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)所述服務(wù)器需要關(guān)閉或者重啟時(shí),在所述服務(wù)器關(guān)閉或者重啟之前,所述處理器向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài);在所述服務(wù)器啟動(dòng)或者重啟完成之后,所述處理器向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀??τ O5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 所述處理器接收所述BMC周期性向所述處理器發(fā)送的心跳報(bào)文; 如果所述處理器在預(yù)設(shè)時(shí)間內(nèi)未接收到來(lái)自所述BMC的心跳報(bào)文,則所述處理器確定所述處理器與所述BMC之間的鏈路發(fā)生故障,并向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài); 所述處理器在利用來(lái)自所述BMC的心跳報(bào)文確定所述處理器與所述BMC之間的鏈路故障恢復(fù)時(shí),則向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀態(tài)。6.—種數(shù)據(jù)的傳輸裝置,應(yīng)用于包括處理器、基板管理控制器BMC和轉(zhuǎn)發(fā)芯片的服務(wù)器上,所述服務(wù)器配置有聚合端口,所述聚合端口包括非共享管理口和所述BMC對(duì)應(yīng)的共享管理口,其特征在于,所述裝置包括: 命令發(fā)送模塊,用于向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令,所述命令用于指示轉(zhuǎn)發(fā)芯片在通過(guò)非共享管理口接收到數(shù)據(jù)時(shí),如果所述數(shù)據(jù)的目的媒體訪問(wèn)控制MAC地址為BMC的MAC地址,則將數(shù)據(jù)發(fā)送給處理器; 數(shù)據(jù)發(fā)送模塊,用于在接收到來(lái)自轉(zhuǎn)發(fā)芯片的數(shù)據(jù)后,如果所述數(shù)據(jù)的目的MAC地址為所述BMC的MAC地址,則將所述數(shù)據(jù)發(fā)送給所述BMC。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述命令發(fā)送模塊,具體用于在向非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送命令的過(guò)程中,獲取所述BMC的MAC地址,并向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送訪問(wèn)控制列表ACL策略,其中,所述ACL策略用于使所述轉(zhuǎn)發(fā)芯片在通過(guò)所述非共享管理口接收到目的MAC地址為所述BMC的MAC地址的數(shù)據(jù)時(shí),將所述數(shù)據(jù)發(fā)送給所述處理器;或者, 向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口使能混雜模式;且在混雜模式下,所述轉(zhuǎn)發(fā)芯片將通過(guò)所述非共享管理口收到的數(shù)據(jù)發(fā)送給所述處理器。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述命令發(fā)送模塊,還用于當(dāng)從所述聚合端口中刪除共享管理口時(shí),向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式;和/或,當(dāng)從所述聚合端口中刪除所述非共享管理口時(shí),向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送撤銷(xiāo)所述ACL策略的命令,以使所述轉(zhuǎn)發(fā)芯片刪除所述ACL策略;或者,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片發(fā)送混雜模式的去使能命令,以使所述轉(zhuǎn)發(fā)芯片為所述非共享管理口去使能混雜模式。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述命令發(fā)送模塊,還用于當(dāng)所述服務(wù)器需要關(guān)閉或者重啟時(shí),在所述服務(wù)器關(guān)閉或者重啟之前,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài);在所述服務(wù)器啟動(dòng)或者重啟完成之后,向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀態(tài)。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于, 所述數(shù)據(jù)發(fā)送模塊,還用于接收所述BMC周期性的向所述處理器發(fā)送的心跳報(bào)文; 還包括:確定模塊,用于當(dāng)所述數(shù)據(jù)發(fā)送模塊在預(yù)設(shè)時(shí)間內(nèi)未接收到來(lái)自所述BMC的心跳報(bào)文時(shí),確定所述處理器與所述BMC之間的鏈路發(fā)生故障; 所述命令發(fā)送模塊,還用于向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)DOWN狀態(tài)的命令,以使轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為DOWN狀態(tài); 所述確定模塊,還用于利用來(lái)自所述BMC的心跳報(bào)文確定所述處理器與所述BMC之間的鏈路故障恢復(fù); 所述命令發(fā)送模塊,還用于在所述處理器與所述BMC之間的鏈路故障恢復(fù)時(shí),則向所述非共享管理口所在的轉(zhuǎn)發(fā)芯片下發(fā)UP狀態(tài)的命令,以使所述轉(zhuǎn)發(fā)芯片設(shè)置所述非共享管理口為UP狀態(tài)。
【文檔編號(hào)】H04L12/937GK105897623SQ201610180203
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月25日
【發(fā)明人】雷鳴春, 葉鵬軍
【申請(qǐng)人】杭州昆海信息技術(shù)有限公司