自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

redwingz的博客

Linux内核网络、虚拟化

  • 博客(10)
  • 资源 (5)
  • 论坛 (1)
  • 收藏
  • 关注

原创 intel网卡中断的亲核性与性能

以intel网卡IGB驱动为例,网口eth0与网卡eth1的中断进行亲核性配置。两个网卡驱动起来之后,查看其中断分配情况。如下为eth0的中断217到225共9个中断,除去217号中断,其余8个一半为接收队列中断,另一半为发送队列中断。/ # cat /proc/interrupts | grep eth0 217: 1 0 0 ...

2019-02-27 22:39:56 1111 4

原创 QEMU的网桥辅助程序

代码文件为qemu-bridge-helper.c,负责完成QEMU TAP设备的创建和网桥相关配置。QEMU程序在安装之后,网桥帮助程序默认安装到位于/usr/local/libexec目录下,可执行文件为qemu-bridge-helper。其默认创建名称为br0(见宏定义DEFAULT_BRIDGE_INTERFACE)的网桥设备。#define CONFIG_QEMU_HELPER...

2019-02-26 18:33:59 1008

原创 TCP连接的ACCEPT队列

PROC文件somaxconn默认为128,意味着单个套接口队列的长度,可最大监听128个连接。net_defaults_init_net函数初始化此值为宏SOMAXCONN(128)。此处的套接口意指完成TCP三次握手,连接已建立起来的套接口,用户层也还未accept此套接口(此处的套接为子套接口,即子套接口队列)。另外,连接未完成的套接口的数量由/proc/sys/net/ipv4/tcp_m...

2019-02-22 23:35:37 1611

原创 TCP三次握手超时处理

以TCP服务端为例,在接收到客户端的第一个SYN报文之后,负责处理的tcp_conn_request函数,判断如果不使用syn cookie处理机制,将正常相应SYN+ACK报文,并且在此之前,启用TCP的定时器,负责SYN+ACK的超时重传。int tcp_conn_request(struct request_sock_ops *rsk_ops, ...){ if (fasto...

2019-02-21 17:40:00 4482

原创 TCP套接口的最大SYN队列长度

通过PROC文件查看队列长度,可见对于4G内存的系统,tcp_max_syn_backlog的值为128;对于8G内存的系统,其值为256。# cat /proc/sys/net/ipv4/tcp_max_syn_backlog128# / # cat /proc/sys/net/ipv4/tcp_max_syn_backlog 256PROC文件tcp_max_syn_back...

2019-02-19 14:58:00 1226

原创 TCP的连接套接口哈希表初始化

在tcp_init中,初始化已建立连接的套接口哈希列表ehash,其中e代表Established。void __init tcp_init(void){ tcp_hashinfo.ehash = alloc_large_system_hash("TCP established", sizeof(struct inet_eha...

2019-02-19 12:58:50 687

原创 e1000e驱动的MSI中断测试

本文主要讲述一下e1000e网卡驱动的MSI中断测试,以及对通过PROC文件(/proc/irq/目录)设置的中断参数所造成的影响。intel网卡e1000e驱动的open函数e1000_open,会测试MSI中断。所以每次在使能网卡时,都会进行中断测试。intel的其它网卡如e1000等驱动没有此项测试功能。由代码中的注释可知,是由于PCIe的一些问题导致芯片忽略掉e1000e的MSI消息,...

2019-02-16 07:59:50 527

原创 DPDK的RTE_INIT初始化

DPDK代码中广泛使用RTE_INIT宏进行设备驱动或者RTE模块等的初始化工作,其核心是RTE_INIT_PRIO宏,定义在文件rte_common.h中。如下可见,RTE_INIT_PRIO宏的实现,实际为一个附带GCC编译属性的函数定义。此处用到两个属性,constructor和used。其中后一个used比较简单,向GCC编译器表明此函数的有用性,即使函数没有被任何地方引用,也不要警告。c...

2019-02-12 17:36:39 1288

原创 SIOCGIFMAP获取到错误的网络设备中断号

内核的ioctl(SIOCGIFMAP)处理函数如下,其由net_device结构的irq成员获取中断号。static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cmd){ switch (cmd) { case SIOCGIFMAP: ifr->ifr...

2019-02-11 18:01:32 317

原创 TCPDUMP抓取任意ANY接口数据包

TCPDUMP在使用如下命令,抓取任意接口数据包(比如icmp)时,将重新数据包的目的MAC地址,致使抓取到的数据包非真实流量中的目的MAC地址。如果指定接口名称(使用 -i eth0),就不存在此问题。tcpdump -i any -envv icmp抓取到的数据包如下:# tcpdump -i any -envv icmptcpdump: listening on any, l...

2019-02-01 13:51:56 7769

WEB Portal 认证完整的交互报文

web认证交互报文,包括WLAN controller与portal server的认证与注销,AC与radius 服务器的认证报文。

2018-04-24

IKEv2-camellia.pcap

IKEv2协议使用camellia加密算法的协商报文,交互流程。

2019-10-28

IKEv2-rw-cert2.pcap

strongswan使用linux内核的af_alg加密接口配置,IKEv2协议交互报文。

2019-10-28

libssh2-1.8.0 and ssh2_batch example

ssh2_batch可执行程序,用于非交互式的ssh命令执行。源代码和libssh2

2018-06-13

botan-ed25519.pcap

IKEv2协议交互报文,认证方式选用Ed25519算法的证书方式。

2019-10-28

redwingz的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除