I210网卡LINUX的mac,linux i210 网卡驱动解读
从最常见的修改mac address 说起:
section 1: 读mac address
/* Only the MAC addr is required to be present in the iNVM */
switch (offset) {
case NVM_MAC_ADDR:
ret_val = igb_read_invm_word_i210(hw, (u8)offset, &data[0]);
ret_val |= igb_read_invm_word_i210(hw, (u8)offset+1,
&data[1]);
ret_val |= igb_read_invm_word_i210(hw, (u8)offset+2,
&data[2]);
if (ret_val)
hw_dbg("MAC Addr not found in iNVM\n");
break;
mac address 是放在eeprom 最开始的位置:
/* NVM Word Offsets */
#define NVM_COMPAT 0x0003
#define NVM_ID_LED_SETTINGS 0x0004 /* SERDES output amplitude */
#define NVM_VERSION 0x0005
#define NVM_INIT_CONTROL2_REG 0x000F
#define NVM_INIT_CONTROL3_PORT_B 0x0014
#define NVM_INIT_CONTROL3_PORT_A 0x0024
#define NVM_ALT_MAC_ADDR_PTR 0x0037
#define NVM_CHECKSUM_REG 0x003F
#define NVM_COMPATIBILITY_REG_3 0x0003
#define NVM_COMPATIBILITY_BIT_MASK 0x8000
#define NVM_MAC_ADDR 0x0000
#define NVM_SUB_DEV_ID 0x000B
#define NVM_SUB_VEN_ID 0x000C
#define NVM_DEV_ID 0x000D
#define NVM_VEN_ID 0x000E
#define NVM_INIT_CTRL_2 0x000F
#define NVM_INIT_CTRL_4 0x0013
#define NVM_LED_1_CFG 0x001C
#define NVM_LED_0_2_CFG 0x001F
#define NVM_ETRACK_WORD 0x0042
#define NVM_ETRACK_HIWORD 0x0043
#define NVM_COMB_VER_OFF 0x0083
#define NVM_COMB_VER_PTR 0x003d
/**
* igb_set_mac - Change the Ethernet Address of the NIC
* @netdev: network interface device structure
* @p: pointer to an address structure
*
* Returns 0 on success, negative on failure
**/
static int igb_set_mac(struct net_device *netdev, void *p)
{
struct igb_adapter *adapter = netdev_priv(netdev);
struct e1000_hw *hw = &adapter->hw;
struct sockaddr *addr = p;
if (!is_valid_ether_addr(addr->sa_data))
return -EADDRNOTAVAIL;
memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
memcpy(hw->mac.addr, addr->sa_data, netdev->addr_len);
/* set the correct pool for the new PF MAC address in entry 0 */
igb_rar_set_qsel(adapter, hw->mac.addr, 0,
adapter->vfs_allocated_count);
return 0;
}
I210网卡LINUX的mac,linux i210 网卡驱动解读相关推荐
- linux的网卡排序,linux 按mac排序分配网卡名称
需求:设备有6个千电口,2个万兆光口. 需要按类型和接口顺序排列后为它们分配网卡名称(请注意不是mac顺序,而是busid号). 例如: 00-10-f3-ff-ff-80-d1-35 --eth0 ...
- linux输出mac,Linux(Mac)命令ll输出后各个字段的含义
ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名 Mac下推荐iTerm2终端,并配合zsh使用.非常方便. ll命令结果字段说明 示例: 1 2 3 4 5 6 7 8 ...
- linux临时配置mac地址,Linux获取网卡型号、mac地址、修改IP地址的几种方法
1.获取所有有(无)网卡型号 方法一.ifconfig 用法:ifconfig | grep | cut -d ':' -f 1 ubuntu root@ubuntu:~# ifconfig | gr ...
- Linux以太网卡架构解析-MAC层和PHY层
引子 最近,在调试基于Freescale IMX6UL板子的以太网口时,遇到了一个奇怪的问题:网口插拔时,系统检测不到Link Down.Link UP事件.并且,在使用ifconfig eth0 u ...
- Linux克隆Mac地址一样,详解Linux系统中网卡MAC地址克隆方法
怎么临时性地改变 mac 地址? 你可以在 linux 运行的时候改变 mac 地址.需要注意的是当 mac 地址转换的那一会时间,你的网络会掉线.当电脑重启时 mac 地址又会变回原来的.下面介绍几 ...
- linux 网卡聚合mac,linux网卡与MAC地址绑定方法总结
使用linux系统时会出现这样的情况,当你安装了某个网卡的驱动程序时,或者安装了与网卡相关的程序后. 网卡会出现所谓的漂移现象.(注意:不是飘逸 ).可能的表象为: (1):网卡顺序颠倒,比如之前你的 ...
- linux安卓mac修改,如何伪装或改变android智能手机wifi网卡的mac地址
Android系统,wifi网卡的mac地址是硬件ID,是不能修改的,android 是Linux内核,linux中mac地址是保存在/etc/init.d/networ 文件中的,但是在androi ...
- linux网卡名字 mac,linux下编程如何获得所有网卡的信息-包括网卡名字,网卡MAC等等......
linux下编程如何获得所有网卡的信息-包括网卡名字,网卡MAC等等... (2012-06-07 04:35:41) 标签: 的 linux 数据包 杂谈 linux下编程如何获得所有网卡的信息?包 ...
- mac linux网卡驱动下载官网下载,linux | 网卡驱动
linux 1. 查看网卡信息 lspci | grep -i 'eth' 1a:00.0 Ethernet controller: Intel Corporation Ethernet Connec ...
最新文章
- R语言生成组合图并保存实战:实际上只保存了最后一个图问题、ggsave生成组合图并保存(保存完整组合图)
- 【Applet编写应用小程序】Applet类APIの基本知识和第一个程序
- JS:attachEvent和addEventListener方法
- 线性回归损失函数为什么要用平方形式
- CG CTF WEB /x00
- [网络安全自学篇] 七十.WannaCry勒索病毒复现及分析(三)蠕虫传播机制分析及IDA和OD逆向
- python写接口函数_python接口自动化测试二十:函数写接口测试
- Hadoop_NameNode_代码分析_目录树(2)
- python代码编码成jni_python 设置文件编码格式的实现方法
- 【飞秋】做需求分析一点心得
- mysql怎么退出时保存导出_Mysql应用使用MySQL MySqldump命令导出数据时的注意事项...
- Delphi BLE 控件
- Laravel 5.x 启动过程分析 [转]
- hdfs 创建用户和用户组_HDFS原理 | 一文读懂HDFS架构与设计
- 017年美国大学生数学建模竞赛E题优秀论文解读
- Snake模型综合介绍
- 降噪耳机简介及降噪技术-ANC、ENC、DSP、CVC
- informatica tips_1
- 华为设备配置DNS客户端
- windows下GMT绘制等值线
热门文章
- raid卡组不同raid_乐扩IO-PCE9230-4IR阵列卡组阵列教程
- 太赫兹芯片是什么原理_太赫兹波养生鞋 芯片、鞋垫和材质的详细了解专利技术~太赫兹芯...
- micopython 18b20_Micropython开发板DIY智能温控小风扇
- springboot 自动装配_Java互联网架构-SpringBoot自动装配核心源码剖析
- java多线程总结图_Java多线程总结之Queue
- 算术表达式求解背景_1.8 C++算术运算符与表达式
- jieba分词_从语言模型原理分析如何jieba更细粒度的分词
- [原创]存储过程里面的递归
- 自定义Android注解Part2:代码自动生成
- etcd数据库备份与还原