2 linux kernel gs linux_kernel_GS 于 2016.01.29 14:11 提问

linux netdevice中private的使用问题
struct snull_priv {  
    struct net_device_stats stats;//有用的统计信息  
    int status;//网络设备的状态信息,是发完数据包,还是接收到网络数据包  
    int rx_packetlen;//接收到的数据包长度  
    u8 *rx_packetdata;//接收到的数据  
    int tx_packetlen;//发送的数据包长度  
    u8 *tx_packetdata;
    struct sk_buff *skb;
spinlock_t lock;
};  

在2.6左右没有什么问题,但是3.0以上就放弃了这个结构,那么3.0以上具体是怎么实现的呢?

1个回答

devmiao
devmiao   Ds   Rxr 2016.01.31 06:54
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux网络学习之分配net_device结构体
一 网络设备利用net_device结构体来定义,该结构体定义在头函数:kernel/linux/netdevice.h,该结构体的使用函数定义在函数:kernel/net/core/dev.c中:      该结构体是有函数:alloc_netdev_mps进行分配。 二 alloc_netdev_mps函数解析:      1 函数原型:struct net_device *alloc
如果注册一个net_device呢?
如果注册一个net_device呢? 1:首先爱你申请struct net_device *ndev;下面这段code可以作为模板     ndev = alloc_etherdev_mq(sizeof(struct hns_nic_priv), NIC_MAX_Q_PER_VF);     if (!ndev)         return -ENOMEM;     platfor
net_device详解
网络设备接口层的主要功能是为千变万化的网络设备定义了统一,抽象的数据结构net_device结构体,以不变应万变,实现多种硬件在软件层次上的统一。每一个网络设备都由structnet_device来描述,该结构可使用如下内核函数进行动态分配 struct net_device*alloc_netdev(int sizeof_priv, const char *mask, void(*setup)
net_device结构体
<br />    net_device结构保存与网络设备相关的所有信息。每一个网络设备都对应一个这样的结构,包括真实设备(例如以太网卡)和虚拟设备(比如bonding或VLAN)。<br />Bonding,也被称作EtherChannel(Cisco的术语)和trunking(Sun的术语),允许把一定数量的接口组合起来当作一个新的设备。这个特性在系统需要把多个点对点设备组合起来以获取更高带宽时有用。新设备的速度可以成倍增加,一般来说, 新设备的吞吐量是单个设备吞吐量的总和。<br />VLAN代表虚拟
struct net_device网络设备结构体详解
在linux中使用struct net_device结构体来描述每一个网络设备。同时这个用来刻画网络设备的struct net_device结构体包含的字段非常的多,以至于内核的开发者都觉得在现在的linux内核中,这个struct net_device是一个大的错误。 在本篇文章中,只介绍struct net_device中的一些字段,其他的字段在以后使用的时候再说。#define IFN
net_device——type字段
struct net_device { ... unsigned short type; ... } 这个字段标识了设备所述的类型:Ethernet等。 定义在 include/uapi/linux/if_arp.h中: 28 /* ARP protocol HARDWARE identifiers. */ 29 #define ARPHRD_NETROM 0
Linux 网卡驱动学习(三)(net_device 等数据结构)
【摘要】前文对网络驱动例子进行一个简单的梳理总结,本文贴出 net_device 的数据结构以及一些驱动中常用的数据结构。 1、网络设备驱动结构 下图摘自http://blog.chinaunix.net/uid-20672257-id-3147768.html 1)、网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit
Linux内核——遍历 net_device 结构
linux内核版本 : 2.6.32 extern struct net *init_net; /* 存放net_device的全局变量 */ extern rwlock_t dev_base_lock; /* Device list lock */ /*这些是我们遍历 net_device 结构的循环 */ #defin
使用public/private key让putty(ssh)自动登录(以及linux上使用密钥做ssh自动登陆)
方法一:使用puttygen.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型和长度,使用默认的SSH2(RSA),长度设置为1024就可以了。 passphrase可以为空,免得登录时还是要输入一次密码。 点击Save private key 按钮保存公匙和私匙,例如key.ppk,public key不用保存,以后使用Puttygen.exe Load
net_device分析
先上代码!复杂版本: Code:/* * The DEVICE structure. * Actually, this whole structure is a big mistake. It mixes I/O * data with strictly "high-level" data, and it has to know about *