CN113626094A - 一种VxWorks下网卡MAC地址的操作方法 - Google Patents

一种VxWorks下网卡MAC地址的操作方法 Download PDF

Info

Publication number
CN113626094A
CN113626094A CN202110687559.6A CN202110687559A CN113626094A CN 113626094 A CN113626094 A CN 113626094A CN 202110687559 A CN202110687559 A CN 202110687559A CN 113626094 A CN113626094 A CN 113626094A
Authority
CN
China
Prior art keywords
mac address
network card
vxworks
operating system
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110687559.6A
Other languages
English (en)
Inventor
赵昶宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
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 Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN202110687559.6A priority Critical patent/CN113626094A/zh
Publication of CN113626094A publication Critical patent/CN113626094A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

一种VxWorks下网卡MAC地址的操作方法,属于计算机技术领域。本发明提出的方法利用VxWorks系统内核中的muxIoctl接口函数,并调用该接口的EIOCGADDR命令和EIOCSADDR命令读取并改写网卡MAC地址,具有很强的通用性,适用于所有类型网卡;本发明的操作方法简单可靠,执行效率高;通过设置/修改脚本和配置文件即可完成VxWorks系统启动时网卡MAC地址的自动设置,实现了MAC地址设置/修改和程序代码的分离,极大的提高了系统的可维护性。

Description

一种VxWorks下网卡MAC地址的操作方法
技术领域
本发明涉及一种VxWorks下网卡MAC地址的操作方法,属于计算机技术领域。
背景技术
通常情况下,对VxWorks操作系统下网卡MAC地址的操作主要包括读取MAC地址和改写MAC地址两种。由于网卡类型繁多,不同网卡的MAC地址通常需要从指定的不同I/O地址中读取得到,即不同网卡读取MAC地址的方法不统一。在一些特定的应用场合下,比如系统中存在双冗余网卡时,我们需要读出其中一块网卡的MAC地址,并将另一块网卡的MAC地址设置成和它相同的MAC地址。
发明内容
本发明解决的技术问题是:克服现有技术的不足,提供了一种VxWorks下网卡MAC地址的操作方法,实现对所有类型网卡的MAC地址采用相同的方法读取和改写,并能通过配置脚本文件实现在VxWorks操作系统启动后自动读取并设置各种网卡的MAC地址。
本发明的技术解决方案是:一种VxWorks下网卡MAC地址的操作方法,包括如下步骤:
读取接插在安装VxWorks操作系统设备上的不同类型网卡的MAC地址;
根据需求通过VxWorks操作系统修改网卡的MAC地址。
进一步地,所述读取VxWorks操作系统设备上的不同类型网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCGADDR命令获取不同类型网卡的MAC地址。
进一步地,所述通过VxWorks操作系统修改网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCSADDR命令设置或更改不同类型网卡的MAC地址。
进一步地,所述根据需求通过VxWorks操作系统修改网卡的MAC地址,具体为:获取任一个网卡的MAC地址后,将另一块网卡的MAC地址设置成和它相同的MAC地址。
进一步地,所述修改网卡的MAC地址具体为:在VxWorks操作系统中配置修改网卡MAC地址的脚本和配置文件,在VxWorks操作系统启动时进行加载并执行。
一种VxWorks下网卡MAC地址的操作系统,包括:
第一模块,读取接插在安装VxWorks操作系统设备上的不同类型网卡的MAC地址;
第二模块,根据需求通过VxWorks操作系统修改网卡的MAC地址。
进一步地,所述读取VxWorks操作系统设备上的不同类型网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCGADDR命令获取不同类型网卡的MAC地址;
所述通过VxWorks操作系统修改网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCSADDR命令设置或更改不同类型网卡的MAC地址。
进一步地,所述根据需求通过VxWorks操作系统修改网卡的MAC地址,具体为:获取任一个网卡的MAC地址后,将另一块网卡的MAC地址设置成和它相同的MAC地址;
所述修改网卡的MAC地址具体为:在VxWorks操作系统中配置修改网卡MAC地址的脚本和配置文件,在VxWorks操作系统启动时进行加载并执行。
一种计算机可读存储介质,所述的计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述一种VxWorks下网卡MAC地址的操作方法的步骤。
一种VxWorks下网卡MAC地址的操作设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时实现所述一种VxWorks下网卡MAC地址的操作方法的步骤。
本发明与现有技术相比的优点在于:
1、利用VxWorks操作系统内核中的muxIoctl接口函数,并调用该接口的EIOCGADDR命令和EIOCSADDR命令读取并改写网卡MAC地址,具有很强的通用性,适用于所有类型网卡;
2、本发明的操作方法简单可靠,执行效率高;
3、通过设置/修改脚本和配置文件即可完成VxWorks操作系统启动时网卡MAC地址的自动设置,实现了MAC地址设置/修改和程序代码的分离,极大的提高了系统的可维护性。
具体实施方式
为了更好的理解上述技术方案,下面通过具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
为了提高软件人员在VxWorks操作系统下获取网卡MAC地址的便捷性,实现对所有类型网卡的MAC地址采用相同的方法读取和改写,本发明提出了一种VxWorks下网卡MAC地址的操作方法,包括如下步骤:
1、读取不同网卡的MAC地址
VxWorks操作系统中的muxIoctl函数提供了一个通用的mux控制接口,通过该接口可以增加/删除组播地址,获取组播地址/地址链表等。通过调用该接口的EIOCGADDR命令可以获取不同类型网卡的MAC地址。
2、更改不同网卡的MAC地址
VxWorks操作系统中的muxIoctl函数提供了一个通用的mux控制接口,通过该接口可以增加/删除组播地址,获取组播地址/地址链表等。通过调用该接口的EIOCSADDR命令可以设置/更改不同类型网卡的MAC地址。
3、在双冗余网卡中将两个网卡设置成相同的MAC地址
可选的,为了提高双冗余网卡切换的时间,必须保证这两块网卡具有相同的MAC地址和IP地址,对上层应用呈现“单网卡”特征。可选的,利用VxWorks操作系统中muxIoctl函数的EIOCGADDR命令获取其中一个网卡的MAC地址后,再利用EIOCSADDR命令将另一块网卡的MAC地址设置成和它相同的MAC地址。
4、VxWorks操作系统启动时自动设置网卡MAC地址
可选的,为了使得程序具有更好的可维护性,将设置网卡MAC地址的操作不在程序代码中实现,而放在脚本和配置文件中。在VxWorks操作系统启动时通过自动加载并执行脚本文件,设置系统中网卡的MAC地址。一旦网卡类型变化,或者网卡MAC地址变化,只需更改脚本和配置文件,无需更改程序代码。
在本申请实施例所提供的方案中,为了能够实现对所有类型网卡的MAC地址采用相同的方法读取和改写,并能通过配置脚本文件实现在VxWorks操作系统启动后自动读取并设置各种网卡的MAC地址,本发明提出了一种VxWorks下网卡MAC地址的操作方法。所述方法的实施步骤如下:
S1:读取不同网卡的MAC地址
VxWorks操作系统中的muxIoctl函数提供了一个通用的mux控制接口,通过该接口可以增加/删除组播地址,获取组播地址/地址链表等。首先获取该网卡的网卡类型和网卡编号,然后通过调用muxIoctl接口的EIOCGADDR命令可以获取不同类型网卡的MAC地址。示例代码如下:
unsigned char*kkphyaddr;
muxIoctl(muxDevAcquire("fei",0),EIOCGADDR,(caddr_t)kkphyaddr);
其中,fei是网卡类型,fei0接口的MAC地址保存在kkphyaddr数组中,即fei0接口的MAC地址为kkphyaddr[0]:kkphyaddr[1]:kkphyaddr[2]:kkphyaddr[3]:kkphyaddr[4]:kkphyaddr[5]。
S2:更改不同网卡的MAC地址
VxWorks操作系统中的muxIoctl函数提供了一个通用的mux控制接口,通过该接口可以增加/删除组播地址,获取组播地址/地址链表等。首先获取该网卡的网卡类型和网卡编号,然后通过调用muxIoctl接口的EIOCSADDR命令可以设置/更改不同类型网卡的MAC地址。示例代码如下:
unsigned char kkphyaddr[10]={0x08,0x09,0x10,0x11,0x12,0x13};
muxIoctl(muxDevAcquire("fei",0),EIOCSADDR,(caddr_t)kkphyaddr);
其中,fei是网卡类型,通过上述代码将fei0接口的MAC地址更改为08:09:10:11:12:13。
S3:在双冗余网卡中将两个网卡设置成相同的MAC地址
利用VxWorks操作系统中muxIoctl函数的EIOCGADDR命令获取其中一个网卡的MAC地址后,再利用EIOCSADDR命令将另一块网卡的MAC地址设置成和它相同的MAC地址。示例代码如下:
unsigned char*kkphyaddr;
/*读取其中一块网卡fei0的MAC地址*/
muxIoctl(muxDevAcquire("fei",0),EIOCGADDR,(caddr_t)kkphyaddr);
/*设置另一块网卡fei1的MAC地址和fei0的MAC地址相同*/
muxIoctl(muxDevAcquire("fei",1),EIOCSADDR,(caddr_t)kkphyaddr);
S4:VxWorks操作系统启动时自动设置网卡MAC地址
在VxWorks操作系统启动时通过自动加载并执行脚本文件,设置系统中网卡的MAC地址。
为了在进入VxWorks操作系统后自动加载脚本文件,在VxWorks操作系统镜像工程的usrAppInit.c文件中打开该脚本文件并执行脚本文件的命令。
首先,在打开脚本前,需要在VxWorks操作系统镜像组件(componentconfiguration)中添加“INCLUDE_STARTUP_SCRIPT”组件;
然后,在硬盘盘符ata0a下的配置文件maccfg.dat中保存当前网卡的MAC地址,格式为XX:XX:XX:XX:XX:XX;
最后,调用VxWorks操作系统的usrStartupScript函数执行脚本文件中的命令。
该脚本文件的主要功能是实现设置任意网卡的MAC地址,脚本文件的生成规则和步骤如下:
读取并保存硬盘盘符ata0a下配置文件maccfg.dat的内容,获取当前网卡的MAC地址;
获取该网卡的网卡类型和网卡编号,然后通过调用muxIoctl接口的EIOCSADDR命令设置/更改不同类型网卡的MAC地址;
将上述两个步骤封装为一个函数A,函数A有两个参数,一个是网卡类型,另一个是网卡编号;
将函数A编译生成一个可执行程序B,在执行脚本文件时,首先在VxWorks操作系统中加载可执行程序B,然后调用函数A实现任意网卡的MAC地址设置;
若需修改网卡MAC地址,只需修改maccfg.dat文件内容即可。若网卡类型和接口有变化,只需修改脚本文件中函数A的两个参数即可。
基于与一种VxWorks下网卡MAC地址的操作方法相同的发明构思,本发明还提供一种VxWorks下网卡MAC地址的操作系统,包括:
第一模块,读取接插在安装VxWorks操作系统设备上的不同类型网卡的MAC地址;
第二模块,根据需求通过VxWorks操作系统修改网卡的MAC地址。
进一步,在一种可能实现的方式中,所述读取VxWorks操作系统设备上的不同类型网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCGADDR命令获取不同类型网卡的MAC地址;
在一种可能实现的方式中,所述通过VxWorks操作系统修改网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCSADDR命令设置或更改不同类型网卡的MAC地址。
进一步,在一种可能实现的方式中,所述根据需求通过VxWorks操作系统修改网卡的MAC地址,具体为:获取任一个网卡的MAC地址后,将另一块网卡的MAC地址设置成和它相同的MAC地址;
可选的,在一种可能实现的方式中,所述修改网卡的MAC地址具体为:在VxWorks操作系统中配置修改网卡MAC地址的脚本和配置文件,在VxWorks操作系统启动时进行加载并执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

Claims (10)

1.一种VxWorks下网卡MAC地址的操作方法,其特征在于,包括如下步骤:
读取接插在安装VxWorks操作系统设备上的不同类型网卡的MAC地址;
根据需求通过VxWorks操作系统修改网卡的MAC地址。
2.根据权利要求1所述的一种VxWorks下网卡MAC地址的操作方法,其特征在于,所述读取VxWorks操作系统设备上的不同类型网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCGADDR命令获取不同类型网卡的MAC地址。
3.根据权利要求1所述的一种VxWorks下网卡MAC地址的操作方法,其特征在于,所述通过VxWorks操作系统修改网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCSADDR命令设置或更改不同类型网卡的MAC地址。
4.根据权利要求1所述的一种VxWorks下网卡MAC地址的操作方法,其特征在于,所述根据需求通过VxWorks操作系统修改网卡的MAC地址,具体为:获取任一个网卡的MAC地址后,将另一块网卡的MAC地址设置成和它相同的MAC地址。
5.根据权利要求1所述的一种VxWorks下网卡MAC地址的操作方法,其特征在于,所述修改网卡的MAC地址具体为:在VxWorks操作系统中配置修改网卡MAC地址的脚本和配置文件,在VxWorks操作系统启动时进行加载并执行。
6.一种VxWorks下网卡MAC地址的操作系统,其特征在于,包括:
第一模块,读取接插在安装VxWorks操作系统设备上的不同类型网卡的MAC地址;
第二模块,根据需求通过VxWorks操作系统修改网卡的MAC地址。
7.根据权利要求6所述的一种VxWorks下网卡MAC地址的操作系统,其特征在于,所述读取VxWorks操作系统设备上的不同类型网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCGADDR命令获取不同类型网卡的MAC地址;
所述通过VxWorks操作系统修改网卡的MAC地址的方法为:通过调用VxWorks操作系统中的muxIoctl函数的EIOCSADDR命令设置或更改不同类型网卡的MAC地址。
8.根据权利要求6所述的一种VxWorks下网卡MAC地址的操作系统,其特征在于,所述根据需求通过VxWorks操作系统修改网卡的MAC地址,具体为:获取任一个网卡的MAC地址后,将另一块网卡的MAC地址设置成和它相同的MAC地址;
所述修改网卡的MAC地址具体为:在VxWorks操作系统中配置修改网卡MAC地址的脚本和配置文件,在VxWorks操作系统启动时进行加载并执行。
9.一种计算机可读存储介质,所述的计算机可读存储介质存储有计算机程序,其特征在于,所述的计算机程序被处理器执行时实现如权利要求1~权利要求5任一所述方法的步骤。
10.一种VxWorks下网卡MAC地址的操作设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时实现如权利要求1~权利要求5任一所述方法的步骤。
CN202110687559.6A 2021-06-21 2021-06-21 一种VxWorks下网卡MAC地址的操作方法 Pending CN113626094A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110687559.6A CN113626094A (zh) 2021-06-21 2021-06-21 一种VxWorks下网卡MAC地址的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110687559.6A CN113626094A (zh) 2021-06-21 2021-06-21 一种VxWorks下网卡MAC地址的操作方法

Publications (1)

Publication Number Publication Date
CN113626094A true CN113626094A (zh) 2021-11-09

Family

ID=78378258

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110687559.6A Pending CN113626094A (zh) 2021-06-21 2021-06-21 一种VxWorks下网卡MAC地址的操作方法

Country Status (1)

Country Link
CN (1) CN113626094A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883351A (zh) * 2022-11-23 2023-03-31 科东(广州)软件科技有限公司 网卡的物理地址的设置方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统
CN104468238A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 基于vxworks系统的双网卡冗余切换方法
CN108155978A (zh) * 2017-11-27 2018-06-12 北京机电工程研究所 一种VxWorks环境下冗余网卡热备份的方法
CN109474466A (zh) * 2018-11-13 2019-03-15 天津津航计算技术研究所 在dds中间件上实现双冗余网卡切换的方法
CN110690994A (zh) * 2019-09-25 2020-01-14 天津津航计算技术研究所 一种通用双冗余网卡切换的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104470A (zh) * 2009-12-17 2011-06-22 研祥智能科技股份有限公司 一种VxWorks系统下的多网卡双冗余装置及系统
CN104468238A (zh) * 2014-12-22 2015-03-25 上海斐讯数据通信技术有限公司 基于vxworks系统的双网卡冗余切换方法
CN108155978A (zh) * 2017-11-27 2018-06-12 北京机电工程研究所 一种VxWorks环境下冗余网卡热备份的方法
CN109474466A (zh) * 2018-11-13 2019-03-15 天津津航计算技术研究所 在dds中间件上实现双冗余网卡切换的方法
CN110690994A (zh) * 2019-09-25 2020-01-14 天津津航计算技术研究所 一种通用双冗余网卡切换的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CELERYLXQ: "动态修改mac地址", Retrieved from the Internet <URL:https://blog.csdn.net/celerylxq/article/details/7895915> *
冯宁;: "双冗余以太网在VxWorks驱动层的实现", 上海船舶运输科学研究所学报, no. 01, pages 38 - 42 *
周进;: "VxWorks环境下底层双冗余以太网卡关键技术实现", 上海船舶运输科学研究所学报, no. 02, pages 132 - 134 *
张怡;: "VxWorks环境下双冗余网卡技术研究", 舰船电子对抗, no. 03, pages 114 - 116 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883351A (zh) * 2022-11-23 2023-03-31 科东(广州)软件科技有限公司 网卡的物理地址的设置方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108958927B (zh) 容器应用的部署方法、装置、计算机设备和存储介质
CN110275722B (zh) 用于升级应用的方法、装置、设备和存储介质
US8701110B2 (en) Efficient volume manager hot swapping
JP4878715B2 (ja) オペレーティングシステムに適合しないアプリケーションにパッチを当てる方法、コンピュータシステム及びコンピュータ可読記録媒体
US20110078681A1 (en) Method and system for running virtual machine image
US6314567B1 (en) Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
EP2557498B1 (en) Updating method and computer system for hypervisor components
US6269442B1 (en) Apparatus and method for on-line replacement of a running program code and data using checkpoints
US20170308369A1 (en) Data processing method and device of preset application after upgrading
US7669021B2 (en) File system based offline disk management
CN110088733A (zh) 虚拟机迁移的基于存储层的编排
US10684846B2 (en) Using semantic annotations to control compatibility behaviors
US10346150B2 (en) Computerized system and method for patching an application by separating executables and working data using different images
US20120198431A1 (en) Method for upgrading hypervisor component and computer system
US20220237089A1 (en) Virtual machine backup method and apparatus based on cloud platform data center
CN110908837A (zh) 应用程序异常处理方法、装置、电子设备及存储介质
CN116049207A (zh) 应用程序sql脚本处理方法、装置、处理器及电子设备
CN113626094A (zh) 一种VxWorks下网卡MAC地址的操作方法
CN116880877A (zh) 虚拟机增强工具升级方法、装置、计算机设备和存储介质
US20150089486A1 (en) Method of Firmware Upgrade
CN106933604B (zh) 一种系统升级方法及装置
CN112306638A (zh) 获取docker容器资源信息的方法
CN116028290A (zh) 一种固态硬盘测试方法、装置、设备及介质
CN113791874A (zh) 虚拟机引导的配置方法、装置、计算机设备和存储介质
CN114510375A (zh) 一种Flash芯片数据区域动态共享系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination