本技術(shù)涉及計(jì)算機(jī),尤其涉及一種應(yīng)用于bmc芯片的通信方法、裝置、bmc芯片、計(jì)算機(jī)設(shè)備、存儲介質(zhì)及程序產(chǎn)品。
背景技術(shù):
1、數(shù)據(jù)中心類產(chǎn)品中需要設(shè)置基本輸入輸出系統(tǒng)(basic?input/output?system,bios)固件和基板管理控制器(baseboard?management?controller,bmc)芯片,例如,計(jì)算機(jī)設(shè)備中需要設(shè)置bios固件和bmc芯片。bmc芯片與bios固件之間需要進(jìn)行通信。
2、現(xiàn)有技術(shù)中,將需要傳輸給bios固件的數(shù)據(jù),存儲在bmc芯片的共享內(nèi)存中。bios固件讀取bmc芯片的共享內(nèi)存中的數(shù)據(jù)。
3、但是上述方式中,bmc芯片在將數(shù)據(jù)存儲到bmc芯片的內(nèi)存之前,需要將對內(nèi)存進(jìn)行處理,造成存儲數(shù)據(jù)的不便;不利于將數(shù)據(jù)傳輸給bios固件。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種應(yīng)用于bmc芯片的通信方法、裝置、bmc芯片、計(jì)算機(jī)設(shè)備、存儲介質(zhì)及程序產(chǎn)品,用以達(dá)到bmc芯片和bios固件之間實(shí)現(xiàn)雙向通信,并復(fù)用了通用的網(wǎng)絡(luò)協(xié)議,具有較高的復(fù)用度的效果。
2、第一方面,本技術(shù)提供一種應(yīng)用于bmc芯片的通信方法,所述方法應(yīng)用于bmc芯片,所述bmc芯片中部署有與所述bmc芯片對應(yīng)的第一虛擬網(wǎng)卡、以及與bios固件對應(yīng)第二虛擬網(wǎng)卡,所述方法包括:
3、基于預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對初始數(shù)據(jù)進(jìn)行封裝,得到待傳輸數(shù)據(jù)。
4、將所述待傳輸數(shù)據(jù)通過所述第一虛擬網(wǎng)卡,傳輸給所述第二虛擬網(wǎng)卡。
5、基于所述第二虛擬網(wǎng)卡將所述待傳輸數(shù)據(jù),發(fā)送給所述bios固件。
6、在一種可能的實(shí)施方式中,將所述待傳輸數(shù)據(jù)通過所述第一虛擬網(wǎng)卡,傳輸給所述第二虛擬網(wǎng)卡,包括:
7、根據(jù)所述第一虛擬網(wǎng)卡的ip地址,將所述待傳輸數(shù)據(jù)傳輸給所述第一虛擬網(wǎng)卡。
8、基于所述第一虛擬網(wǎng)卡,根據(jù)所述第二虛擬網(wǎng)卡的ip地址,將所述待傳輸數(shù)據(jù)傳輸給所述第二虛擬網(wǎng)卡。
9、在一種可能的實(shí)施方式中,基于所述第二虛擬網(wǎng)卡將所述待傳輸數(shù)據(jù),發(fā)送給所述bios固件,包括:
10、基于所述第二虛擬網(wǎng)卡,根據(jù)所述預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對所述待傳輸數(shù)據(jù)進(jìn)行解封裝,得到解封裝后的待傳輸數(shù)據(jù);
11、基于所述第二虛擬網(wǎng)卡,將解封裝后的待傳輸數(shù)據(jù)發(fā)送給所述bios固件。
12、在一種可能的實(shí)施方式中,基于所述第二虛擬網(wǎng)卡,將解封裝后的待傳輸數(shù)據(jù)發(fā)送給所述bios固件,包括:
13、基于所述第二虛擬網(wǎng)卡,通過pcie總線,將解封裝后的待傳輸數(shù)據(jù)發(fā)送給所述bios固件。
14、在一種可能的實(shí)施方式中,所述方法還包括:
15、基于所述第二虛擬網(wǎng)卡,接收所述bios固件發(fā)送的數(shù)據(jù)獲取請求;并基于所述第二虛擬網(wǎng)卡,根據(jù)預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對所述數(shù)據(jù)獲取請求進(jìn)行封裝,得到封裝后的數(shù)據(jù)獲取請求。
16、基于所述第二虛擬網(wǎng)卡,將所述封裝后的數(shù)據(jù)獲取請求,通過所述第一虛擬網(wǎng)卡發(fā)送給所述bmc芯片。
17、在一種可能的實(shí)施方式中,所述第一虛擬網(wǎng)卡和所述第二虛擬網(wǎng)卡,部署于所述bmc芯片的pcie總線控制器中。
18、在一種可能的實(shí)施方式中,所述方法還包括:
19、對所述第一虛擬網(wǎng)卡和所述第一虛擬網(wǎng)卡進(jìn)行初始化處理。
20、對所述第一虛擬網(wǎng)卡安裝網(wǎng)絡(luò)協(xié)議;其中,所述第二虛擬網(wǎng)卡中安裝有網(wǎng)絡(luò)協(xié)議。
21、為所述第一虛擬網(wǎng)卡,設(shè)置與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的ip地址和子網(wǎng)掩碼;其中,所述第二虛擬網(wǎng)卡設(shè)置有與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的ip地址和子網(wǎng)掩碼。
22、在一種可能的實(shí)施方式中,與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的ip地址、與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的ip地址,兩者歸屬于同一局域網(wǎng);與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的子網(wǎng)掩碼、與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的子網(wǎng)掩碼,兩者相同。
23、在一種可能的實(shí)施方式中,所述初始化處理包括以下的一種或多種:
24、分配網(wǎng)卡資源、設(shè)置mac地址、設(shè)置交互接口。
25、第二方面,本技術(shù)實(shí)施例提供一種應(yīng)用于bmc芯片的通信裝置,所述裝置應(yīng)用于bmc芯片,所述bmc芯片中部署有與所述bmc芯片對應(yīng)的第一虛擬網(wǎng)卡、以及與bios固件對應(yīng)第二虛擬網(wǎng)卡,所述裝置包括:
26、封裝模塊,用于基于預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對初始數(shù)據(jù)進(jìn)行封裝,得到待傳輸數(shù)據(jù)。
27、傳輸模塊,用于將所述待傳輸數(shù)據(jù)通過所述第一虛擬網(wǎng)卡,傳輸給所述第二虛擬網(wǎng)卡。
28、發(fā)送模塊,用于基于所述第二虛擬網(wǎng)卡將所述待傳輸數(shù)據(jù),發(fā)送給所述bios固件。
29、在一種可能的實(shí)施方式中,所述傳輸模塊,包括:
30、第一傳輸模塊,用于根據(jù)所述第一虛擬網(wǎng)卡的ip地址,將所述待傳輸數(shù)據(jù)傳輸給所述第一虛擬網(wǎng)卡。
31、第二傳輸模塊,用于基于所述第一虛擬網(wǎng)卡,根據(jù)所述第二虛擬網(wǎng)卡的ip地址,將所述待傳輸數(shù)據(jù)傳輸給所述第二虛擬網(wǎng)卡。
32、在一種可能的實(shí)施方式中,所述發(fā)送模塊,具體用于:
33、解封裝模塊,用于基于所述第二虛擬網(wǎng)卡,根據(jù)所述預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對所述待傳輸數(shù)據(jù)進(jìn)行解封裝,得到解封裝后的待傳輸數(shù)據(jù)。
34、第一發(fā)送模塊,用于基于所述第二虛擬網(wǎng)卡,將解封裝后的待傳輸數(shù)據(jù)發(fā)送給所述bios固件。
35、在一種可能的實(shí)施方式中,所述第一發(fā)送模塊,包括:
36、第二發(fā)送模塊,用于基于所述第二虛擬網(wǎng)卡,通過pcie總線,將解封裝后的待傳輸數(shù)據(jù)發(fā)送給所述bios固件。
37、在一種可能的實(shí)施方式中,所述裝置還包括:
38、接收模塊,用于基于所述第二虛擬網(wǎng)卡,接收所述bios固件發(fā)送的數(shù)據(jù)獲取請求;
39、第一封裝模塊,用于基于所述第二虛擬網(wǎng)卡,根據(jù)預(yù)設(shè)網(wǎng)絡(luò)協(xié)議對所述數(shù)據(jù)獲取請求進(jìn)行封裝,得到封裝后的數(shù)據(jù)獲取請求。
40、第三發(fā)送模塊,用于基于所述第二虛擬網(wǎng)卡,將所述封裝后的數(shù)據(jù)獲取請求,通過所述第一虛擬網(wǎng)卡發(fā)送給所述bmc芯片。
41、在一種可能的實(shí)施方式中,所述裝置還包括:
42、部署模塊,所述第一虛擬網(wǎng)卡和所述第二虛擬網(wǎng)卡,部署于所述bmc芯片的pcie總線控制器中。
43、在一種可能的實(shí)施方式中,所述裝置還包括:
44、初始化模塊,用于對所述第一虛擬網(wǎng)卡和所述第一虛擬網(wǎng)卡進(jìn)行初始化處理。
45、安裝模塊,用于對所述第一虛擬網(wǎng)卡安裝網(wǎng)絡(luò)協(xié)議;其中,所述第二虛擬網(wǎng)卡中安裝有網(wǎng)絡(luò)協(xié)議。
46、設(shè)置模塊,用于為所述第一虛擬網(wǎng)卡,設(shè)置與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的ip地址和子網(wǎng)掩碼;其中,所述第二虛擬網(wǎng)卡設(shè)置有與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的ip地址和子網(wǎng)掩碼。
47、在一種可能的實(shí)施方式中,與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的ip地址、與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的ip地址,兩者歸屬于同一局域網(wǎng);與所述第一虛擬網(wǎng)絡(luò)對應(yīng)的子網(wǎng)掩碼、與所述第二虛擬網(wǎng)絡(luò)對應(yīng)的子網(wǎng)掩碼,兩者相同。
48、在一種可能的實(shí)施方式中,所述初始化模塊包括以下的一種或多種:分配網(wǎng)卡資源、設(shè)置mac地址、設(shè)置交互接口。
49、第三方面,本技術(shù)實(shí)施例提供一種bmc芯片,所述bmc芯片中部署有與所述bmc芯片對應(yīng)的第一虛擬網(wǎng)卡、以及與bios固件對應(yīng)第二虛擬網(wǎng)卡,所述bmc芯片用于實(shí)現(xiàn)如第一方面以及第一方面的任一實(shí)施方式所提供的方法。
50、在一種可能的實(shí)施方式中,所述bmc芯片中包括pcie總線控制器,所述第一虛擬網(wǎng)卡和所述第二虛擬網(wǎng)卡部署于所述pcie總線控制器中。
51、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)設(shè)備,所述計(jì)算機(jī)設(shè)備中設(shè)置bios固件和如第一方面以及第一方面的任一實(shí)施方式所提供的方法。
52、第五方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令被處理器執(zhí)行時(shí)用于實(shí)現(xiàn)如第一方面以及第一方面的任一實(shí)施方式所提供的方法。
53、第六方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面以及第一方面的任一實(shí)施方式所提供的方法。