logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

struct sk_buff与struct socket及struct sock 结构体分析

sk_buff是Linux网络协议栈最重要的数据结构之一,该数据结构贯穿于整个数据包处理的流程。由于协议采用分层结构,上层向下层传递数据时需要增加包头,下层向上层数据时又需要去掉包头。sk_buff中保存了L2,L3,L4层的头指针,这样在层传递时只需要对数据缓冲区改变头部信息,并调整sk_buff中的指针,而不需要拷贝数据,这样大大减少了内存拷贝的需要。/***struct sk

eth_type_trans的处理流程图

Linux Version:2.6.33提示:本文是关于L2的Ethernet分析L3协议的过程! Flow图如下:  如何判断目的地地址是multicast 和broadcast呢?Ethernat的地址其实就是Mac地址。所以长度是6byte。其中有一位为multicast bit位。格式如下当unicast/mu

用Openswan组建Linux IPSec ---第一部分

用Openswan组建Linux IPSec                                               ---Linux下建立IPSEC的vpn第一部分1.概述2.安装Openswan3.认证和配置    3.1 RSAsig认证方式的配置    3.2 x.509证书认证的配置    3.3 RoadWarrior模式的配置

zlib的安装与使用

zlib是一个很好的压缩解压缩库,今天我们分别介绍如何在Linux与Windows上安装与使用:一:Linux平台首先看看自己的机器上是不是已经安装好zlib了:whereis zlib如果安装好了,会输出zlib的路径,这样直接跳过前2步。1.在http://www.zlib.net/下载zlib的最新版,我的是1.2.3(官网貌似

#测试#windows#linux
linux中request_region()函数的分析

linux中request_region()函数的分析  struct resource ioport_resource = {.name= "PCI IO",.start= 0,.end= IO_SPACE_LIMIT, //IO_SPACE_LIMIT = 0xffffffff.flags= IORESOURCE_IO,

linux input输入子系统分析《四》:input子系统整体流程全面分析

主要讲述本人在学习Linux内核input子系统的全部过程,如有分析不当,多谢指正。以下方式均可联系,文章欢迎转载,保留联系信息,以便交流。邮箱:eabi010@gmail.com主页:www.ielife.cn(爱嵌论坛——嵌入式技术学习交流)博客:blog.csdn.net/ielife1      input输入子系统整体流程本节分析input子系

linux系统getopt函数详解

getopt()函数就是用来解析命令行参数调用形式一般如下:while((c = getopt(argc, argv, "xy:z::")) != -1){      switch(c){      case 'x':  ... ...      case 'y':  ... ...      case 'z':  ..

深入了解epoll 函数

一、 介绍Epoll 是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用性。传统的select以及poll的效率会因为 socket数量的线形递增而导致呈二次乃至三次方的下降,而epoll的性能不会随socket数量增加而下降。标准的linux-2.4.20内核不支持epoll,需要打patch。本文主要从linux-2.4.32和linux-2.6.10

Linux下pthread的读写锁的优先级问题

有这么一个情况:有一个C实现的HashMap,需要在多个线程之间共享。对它的读操作远远大于写操作。所以采用了pthread的读写锁来保障并发读写时的一致性。现在测试发现的问题是:因为读操作太多,导致写操作一直拿不到锁。按理说不应该啊,假如有三个线程,线程1 先申请读锁并成功拿到,然后线程2申请写锁那么必然会陷入等待,之后线程3去申请读锁,那么应该是陷入等待才对,因为pthread_rwlo

2.6的网络数据包时间戳

本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言在linux 2.6内核中对于网络数据包中的时间戳处理和2.4相比有了不少变化,如果原样照搬2.4就要出错了。

    共 20 条
  • 1
  • 2
  • 请选择