自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 使用Git

1. 在一台Linux服务器上安装Git,只作为Gitrepo仓库使用。1.1安装Git,创建git用户#adduser git禁止git登录:修改/etc/passwd,将"/bin/bash"改为"/usr/bin/git-shell"。1.2 创建空仓库假设/git为repo的根目录,则在/git目录下,运行:$ git init --bare kernel...

2019-03-26 14:28:52 141

原创 网卡相关

1. 查询网卡驱动# ethtool -i eth02. 查询网卡队列数# ls/sys/class/net/eth0/queues/3. 查询网卡中断处理# cat /proc/interrupts | grep eth0 56: 0 64 3680626 0 PCI-MSI-edge eth0-rx...

2019-03-01 13:58:05 240

原创 DPDK - Misc

AF_PACKET Poll Mode Driverhttps://doc.dpdk.org/guides/nics/af_packet.html使用这个PMD可以从Linux af_packet socket读写packets。网卡还是由Kernel控制,但是基于DPDK的app,可以用这种方式work。由于网卡由Kernel控制,app的性能不是最好的。感觉这个可以在DPDK ap...

2019-01-22 10:44:19 648

原创 VPP - Posix socket

使用LD_PRELOAD可以让原来使用POSIX socket API的应用运行在VPP上。步骤:1. 启动vpp service.2. 设置IP:vppctl set interface mtu 1500 GigabitEthernet13/0/0vppctl set interface ip address GigabitEthernet13/0/0 2.1.1.254/2...

2018-12-07 14:45:43 2269

原创 VPP - HTTP & Proxy

VPP - HTTP Server(https://wiki.fd.io/view/VPP/HostStack/TLS)1. 启动VPP Service,配置接口地址:vppctl set interface mtu 1500 GigabitEthernet13/0/0vppctl set interface ip address GigabitEthernet13/0/0 2.1...

2018-11-29 14:44:19 2643

原创 VPP - 三层转发

在接口上配置IP地址:vpp# set interface mtu 1500 GigabitEthernet13/0/0vpp# set interface mtu 1500 GigabitEthernetb/0/0vpp# set interface ip address GigabitEthernetb/0/0 1.1.1.254/24vpp# set interface ip ...

2018-11-27 17:05:54 3028

原创 VPP - 二层转发

在VPP里配置网桥:# vppctl vpp# show int Name Idx State MTU (L3/IP4/IP6/MPLS) Counter CountGigabitEthernet13/0/0 2 down 9000/0/0/0Gig...

2018-11-27 16:19:38 2177

原创 VPP - Start

(https://wiki.fd.io/view/VPP/Pulling,_Building,_Running,_Hacking_and_Pushing_VPP_Code)安装1. 安装CentOS 7.5 minimal.2. # yum install git3. # git clone https://gerrit.fd.io/r/vpp4. # yum install ...

2018-11-27 15:30:17 854

原创 DPDK - L3 Forward

(http://doc.dpdk.org/guides/sample_app_ug/l3_forward.html)使用hash路由基于流的路由。流由五元组(protocol, sip, dip, sport, dport)定义。输入一个流,输出的是output端口(网卡)。hash转发表是静态定义的。使用LPM(Longest Prefix Match)路由转发表是在程序中静...

2018-11-22 17:05:04 1264

原创 DPDK - L2 Forward

参考:https://doc.dpdk.org/guides-18.05/sample_app_ug/skeleton.htmlDPDK L2 Forward的Sample:(https://doc.dpdk.org/guides-18.05/sample_app_ug/l2_forward_real_virtual.html)网卡使用vmxnet3。 将网卡绑定到uio_pci_g...

2018-11-21 15:32:52 773

原创 DPDK Start

测试环境:VMWare ESX,网卡使用vmxnet3.安装:1. Install CentOS 7.5 minimal.2. Download dpdk-18.05.1.tar.xz3. yum install gcc numactl-devel numactl-libs hwloc hwloc-libs hwloc-gui kernel-headers kernel-devel ...

2018-11-21 14:35:18 266

原创 Kernel包接收处理过程

Enable/Disable Device:对于device来说,可以enable/disable发送(__LINK_STATE_XOFF),但不能enable/disable接收(但可以enable/disable device来禁止接收)。通知内核接收:NAPI、netif_rx:* netif_rx (old function):  这里可以在一个中断内处理多个fra

2017-08-29 11:16:22 456

原创 Kernel数据包处理基础

(内容主要来自“深入理解Linux网络内幕”一书)数据包接收可以分为两部分:1. 驱动 * 驱动将frame拷贝到sk_buff,然后放入input queue。这里是中断context,可以抢占第二部分(kernel部分)。 * 通过调度NET_RX_SOFTIRQ通知内核有新frame需要处理。2. KernelKernel处理input queue。...

2017-08-23 11:16:01 321

原创 TCP协议要点记录

1. TCP有两个窗口:    * 发送端:拥塞窗口(congestion window),由拥塞控制算法管理。    * 接收端:接收窗口(receive window)。2. 拥塞窗口(发送窗口)    通过ip route命令修改初始发送窗口大小(默认为3?): # ip route change 10.0.0.0/8 dev eth0 \ proto k

2017-08-22 11:20:15 181

原创 Shell 要点记录

1. 循环处理文件的每一行:cat ./myfile | while read line ; do if [[ ${line::1} == "#" ]]; then continue fi # remove space and empty line line=${line// /} if [[ "$line" == "" ]] ;the

2017-08-10 13:44:51 178

原创 Kernel TCP连接处理

2017-08-08 17:08:38 426

原创 从SRC RPM编译CentOS内核

1. 下载源代码包从 http://vault.centos.org 下载内核源代码RPM包。2. 安装源代码包3. Build RPM# cd /root/rpmbuild# nohup rpmbuild -bb SPECS/kernel.spec &可以只编译kernel rpm,节省时间:# rpmbuild -bb --without debug --without

2017-07-12 11:31:30 1096

原创 C/C++语言要点记录

1. sizeofconst char * st = "1234567890";sizeof(st); //4strlen(st); //10当把sizeof用于字符指针时,得到的是指针大小(4),而不是字符串的大小。这是应该用strlen。当用字符数组时,注意sizeof会包括结尾的\0。例如:char st[] = "1234567890";sizeof(st); //11strlen...

2017-07-11 16:34:17 186

空空如也

空空如也

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

TA关注的人

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