![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
文章平均质量分 77
Andrew Yang
这个作者很懒,什么都没留下…
展开
-
DPDK19.05 rte_flow 的 rss 支持情况
DPDK19.05 rte_flow 的 rss 支持情况:结论实验和查看源码得出:driversupportssupportsigbrssntuple + queueixgberssntuple + queuei40eeth + rss, vlan + rssntuple + queue证据igb, ixgbe 都没有看到 ntuple 和 rss 组合使用:static intigb_parse_rss_filter(struct rte_原创 2021-07-01 14:33:08 · 919 阅读 · 2 评论 -
dpdk 应用笔记:KVM 下 dpdk 的 配置基础
1. dpdk 应用笔记:KVM 下 dpdk 的 配置基础1.1. 要点在 kvm 配置文件中,设置网卡直通。物理机 进行核隔离。将 虚拟机的 cpu 一一映射到 物理机的 cpu。使用同一 nuam node 下的 网卡 cpu 和 内存。虚拟机 进行核隔离。相同的程序 跑在 相同的 cpu core 中,减少 data-cache miss.1.2. 设置网卡直通在物理机上,查询网卡的 pci 地址dpdk-devbind.py -s> Network devices原创 2021-02-05 18:49:45 · 1014 阅读 · 0 评论 -
centos7应用笔记:键盘重影射
centos7应用笔记:键盘重影射我的键盘 右shift键 无法使用了。想使用 右alt键 代替。查询了一下 xmodmap 命令可以实现该功能。以下是我的配置方法的记录。xmodmap 配置文件xmodmap 配置文件的作用是:交换 右shift键 和 右alt键。可以参考 manpage 中的例子。创建一个 xmodmap 配置文件:/etc/xmodmap.configxmodmap 配置文件内容:! swap Alt_R and Shift_Rremove Shift = Sh原创 2020-06-01 09:12:01 · 587 阅读 · 0 评论 -
dpdk_18_05 应用笔记: ip_pipeline 例程
dpdk_18_05 应用笔记: ip_pipeline 例程查询网卡的 pci 地址使用 lspci 查询网卡的 pci 地址。该地址由于后续脚本设置来指定网卡。lspci | grep Eth> 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)>...原创 2020-02-23 20:54:25 · 1060 阅读 · 0 评论 -
dpdk_18_05 应用笔记: l3fwd 例程
dpdk_18_05 应用笔记: l3fwd 例程查询网卡的 pci 地址机器上有 4 个的 I350 网卡。现在只是使用其中01:00.0和01:00.1两个网卡来绑定到 DPDK 作为测试。lspci | grep Eth> 01:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connecti...原创 2020-02-23 20:53:17 · 877 阅读 · 0 评论 -
centos7 应用笔记:修改文件默认关联的应用程序
centos7 应用笔记:修改文件默认关联的应用程序plain text 格式 和 markdown 格式,默认是用 gedit 打开。本文档会修改它们都使用 sublime 打开。在修改 默认关联的应用程序之前,注意:先安装好 sublime。再安装好 alacarte。使用 alacarte 编辑 Applications 菜单。添加一个 sublime 的菜单项。mime类...原创 2020-02-23 20:51:25 · 1068 阅读 · 0 评论 -
centos7 应用笔记: 使用 sparse 作静态检测
centos7 应用笔记: 使用 sparse 作静态检测sparse 是用于 C 语言的语法分析器,用以对 C 代码进行静态检查,它不但能够检查 ANSI C 并且还能检查具有 gcc 扩展的 C 。安装yum -y install sparse用于检测内核代码只需要在内核代码的 make 后加入 C=2 就可以了。sparse: make C=2 -C /lib/modules...原创 2020-02-19 22:28:42 · 258 阅读 · 0 评论 -
centos7 应用笔记: 安装 window7 和 centos7 双系统 (带共享数据分区)
centos7 应用笔记: 安装 window7 和 centos7 双系统 (带共享数据分区)这里使用一个 160G 的硬盘来安装 window7 和 centos7 双系统。另外,会实现带共享数据的分区。令到两个系统之间可以共享数据(当然不是同时使用)。共享数据分区特点:在 window7 中,共享数据分区挂载到 D:。在 centos7 中,共享数据分区挂载到 /shared_...原创 2020-02-17 11:08:32 · 539 阅读 · 0 评论 -
centos7 应用笔记: 添加 编辑 Applications 菜单 功能
centos7 应用笔记: 添加 编辑 Applications 菜单 功能为了可以编辑 Applications菜单。需要安装 alacarte。# 安装 alacarteyum -y install alacarte# 重启后可以生效reboot点击 Applications/Sundry/Main Menu 就可编辑 Applications 的菜单项了。注意:菜单项...原创 2020-02-17 11:04:46 · 1037 阅读 · 0 评论 -
centos7 应用笔记: fslint 文件查重
centos7 应用笔记: fslint 文件查重fslint 可以用于文件的查重。fslint 扫描的是文件的内容。如果内容一致,则会认为文件一致。而不论文件名是否一致。安装 fslint# 安装 fslintyum install -y fslint.noarchfslint 命令行fslint 命令行,默认不再 /usr/bin 中。而是在:/usr/share/fsli...原创 2020-02-17 11:04:00 · 482 阅读 · 1 评论 -
centos7 应用笔记: 关闭 hot-corner 功能
centos7 应用笔记: 关闭 hot-corner 功能centos7 中有个讨厌的功能。就是点中左上角后,会显示所有应用的鸟瞰图。使用以下的方法可以关闭该功能。# 下载 tweek extension yum install -y gnome-shell-extension-no-hot-corner.noarch # 重启reboot# 在 tweek extensio...原创 2020-02-17 11:03:10 · 393 阅读 · 0 评论 -
centos7 应用笔记: 重新编译内核
centos7 应用笔记: 重新编译内核安装依赖库:# 安装 bc (is needed for linux kernel compiling)yum -y install bc.x86_64# 安装 elfutils (is needed for linux kernel compiling)yum install -y elfutils-devel.x86_64 elfutil...原创 2020-02-17 11:02:23 · 831 阅读 · 0 评论 -
centos7 应用笔记: systemd-analyze 分析开机过程
centos7 应用笔记: systemd-analyze 分析开机过程centos7 是使用 systemd 管理服务的。如果 开机很慢。可以使用 systemd-analyze 分析开机过程。使用 systemd-analyze 分析开机过程# 打印耗时的服务systemd-analyze blame> 20.132s boot.mount > 19.963s...原创 2020-02-17 11:01:01 · 625 阅读 · 0 评论 -
centos7 应用笔记: tmux3.0 安装 和 配置
centos7 应用笔记: tmux3.0 安装 和 配置编译 tmux3.0 所依赖的库# 安装 libtermcap、ncurses、libevent、readline库 (编译 vim & tmux 所依赖的库)yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel# unzi...原创 2020-02-17 11:00:13 · 1401 阅读 · 0 评论 -
centos7 应用笔记: vim8.1 安装
centos7 应用笔记: vim8.1 安装编译 vim8.1 所依赖的库# 安装 libtermcap、ncurses、libevent、readline库 (编译 vim & tmux 所依赖的库)yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel# 安装 libxt gt...原创 2020-02-17 10:59:30 · 409 阅读 · 0 评论 -
centos7应用笔记:umlet安装
umlet是一款很好的 uml 绘图软件。可以用于 windows 和 linux。用户可以使用命令来画图,十分方便。1 设置 java 环境变量安装 umlet 前,需要设置 java 环境变量修改文件:/etc/profile添加以下内容:# setup java# which java# > /usr/bin/java# readlink /usr...原创 2019-11-16 13:36:03 · 334 阅读 · 0 评论 -
centos7应用笔记:WPS 安装
centos7 安装 WPSWPS 有 linux 版本,听说比较好。所以安装了一个试一试。安装步骤如下:wget https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/8865/wps-office-11.1.0.8865-1.x86_64.rpm# install dependencies libXss.so.1yum instal...原创 2019-11-16 13:23:29 · 309 阅读 · 0 评论 -
使用usb串口线作为console
1 检查是否支持 USB 串口线dmesg | grep tty> usb 1-5: pl2303 converter now attached to ttyUSB0> console [ttyUSB0] enabled2 修改/etc/default/grub配置文件修改文件:/etc/default/grub修改前:GRUB_CMDLINE_LINUX="cras...原创 2019-11-16 13:17:04 · 4063 阅读 · 0 评论 -
grub修复
查看分区ls > (hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3) 查看镜像文件ls (hd0,gpt2)/> initramfs-3.10.0.img> vmlinuz-3.10.0设置启动指令insmod gzio ...原创 2019-11-16 11:26:15 · 294 阅读 · 0 评论 -
自编译内核 invalid signature 问题解决
自编译内核 invalid signature 问题解决使用自己编译的内核出现如下问题:error: /vmlinuz-3.10.0 has invalid signatureerror: you need to load the kernel first按 F1 进入 BIOS,关闭 Secure BootBIOS+-> Security +-> Secure Bo...原创 2019-11-14 18:58:09 · 6564 阅读 · 0 评论 -
防火墙的桥和端口聚合
防火墙的桥和端口聚合防火墙有的时候,会放置到 两个 做了端口聚合的交换机之中。以下的测试,是比较 防火墙做成多桥,和聚合之后再做桥的区别。测试 1 防火墙单桥拓扑 +--------+ a1 b1 +--------+ c1 d1 +--------+ | |-----------...原创 2019-11-06 17:27:26 · 3100 阅读 · 0 评论 -
DPDK offload应用笔记
查看网卡 offload 功能使用 ethtool使用 ethtool 可以看一般的 网卡。ethtool -k <link_name>dpdk 的做法在 dpdk 中可以使用以下函数来查看是否支持 offload 功能。ixgbe_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev...原创 2019-11-05 17:47:25 · 3153 阅读 · 0 评论 -
82599ES 光口无法通过大包的问题记录
问题参考 DPDK 例子程序 ip_fragment.c 来实现分片。无论 I350 电口 还是 82599ES 光口,小包都是可以通过的。但是在大包的时候,82599ES 光口就有问题。场景I350 电口82599ES 光口启用 tx checksum offload小包可以通过小包可以通过启用 tx checksum offload小包可以通过小包可...原创 2019-11-05 15:21:29 · 2029 阅读 · 0 评论 -
桥口流入的大包报文经过 iptables 后,无法送达的问题分析
1. 问题分析问题:桥口流入的大包报文经过 iptables 后,无法送达。背景:内核:3.10系统:centos7桥口流入的报文,经过 iptables 处理。拓扑: trunk trunk access vlan:10 ...原创 2019-10-25 11:41:25 · 565 阅读 · 0 评论 -
Real-time signal
Real-time signal信号为 34 或者以上的信号。为 Real-time signal。他们默认的动作也是退出程序。如果你用 gdb 来捕捉的话,会看到Program received signal SIG34, Real-time event 34. 如果你的程序是用 systemd 来管理的。那么 使用 journalctl -u ${service_name} 就可...原创 2019-10-22 11:19:22 · 1240 阅读 · 0 评论 -
linux 信号处理函数的初始化
问题很多时候,进程之间会使用信号,来进行进程间通信。但是一般信号处理函数的默认动作,就是退出进程。如果进程,在初始化信号处理函数的过程中就接收到了信号,就会退出。因此正确的初始化信号处理函数,就显得很重要。一般的方法一般将初始化信号处理函数 real_time_signal_setup() 作为 main() 的第一个调用函数。就可以减少很多的问题。staticvoid signa...原创 2019-10-21 13:48:34 · 323 阅读 · 0 评论 -
linux 信号跟踪模块
linux 信号跟踪模块如果进程因为接收到信号被杀死,一般使用 gdb 可以捕捉到是什么信号。但是 gdb 却无法得知信号是谁发出的。这个时候,使用以下的 linux 信号跟踪模块,就可以在 dmesg 中,打印出是谁发送的信号。以下的代码。是在linux下信号跟踪:jprobe_signal的基础上修改过来的。其中添加了 name 参数,按照进程名称,过滤出信号接收进程。name 参...原创 2019-10-21 13:18:44 · 603 阅读 · 0 评论 -
代码混淆工具 Stunnix-CXX-Obfus 的使用
代码混淆工具 Stunnix-CXX-Obfus 的使用下载和安装工具mkdir -p /home/cxx_obfus/wget http://stunnix.com/pad/trial-nomail/cxxo/Stunnix-CXX-Obfus-4.7-Linux-trial.zipunzip Stunnix-CXX-Obfus-4.7-Linux-trial.zip经过解压后:/...原创 2019-08-13 17:53:39 · 3797 阅读 · 2 评论 -
OSTEP第29章的问题解答
问题:QuestionsWe’ll start by redoing the measurements within this chapter. Usethe call gettimeofday() to measure time within your program.How accurate is this timer? What is the smallest interval i...原创 2019-08-13 13:50:35 · 440 阅读 · 0 评论 -
SNAT 下使用 keepalived 做双机热备的问题
使用 keepalived 做双机热备,但是 同时 使用了 SNAT,出现了 ip 冲突的 问题。拓扑1 主机 FW1 的配置:1.1 主机的 iptables 配置将所有 192.168.8.0/24,地址转换为出口 ip 10.10.10.254。iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source...原创 2019-07-22 20:39:52 · 351 阅读 · 0 评论 -
安装 Black Duck
安装 Black DuckInstalling Black DuckThe Black Duck installation process can be broken down into three major steps:(1) download the .tar file needed for orchestration and configuration files,(2) unpa...转载 2019-07-26 15:48:49 · 3824 阅读 · 2 评论 -
Centos7上安装 docker
Centos7上安装 dockerDocker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施. 容器. 插件等。社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17...转载 2019-07-26 15:43:07 · 77 阅读 · 0 评论 -
用于打印 malloc, free 调试信息的宏函数
用于打印 malloc, free 调试信息的宏函数。#include <stdlib.h>#include <stdio.h>void *__my_malloc(unsigned long size) { return malloc(size);}void __my_free(void *ptr) { free(ptr);}#define my_...原创 2019-07-30 17:51:50 · 584 阅读 · 0 评论 -
l2fwd + pdump 的 例程 和 `--base-virtaddr` 选项
l2fwd + pdump 的 例程修改 l2fwd 的 例程在 l2fwd 的 例程上添加 pdump 的功能:头文件引用 <rte_pdump.h>。signal_handler() 中添加 rte_pdump_uninit()。main() 中添加 rte_pdump_init()。差分结果:左边 是修改前。右边 是修改后。添加了 pdump 的 功能。...原创 2019-03-24 22:57:50 · 2991 阅读 · 2 评论 -
linux安装openssl
查看路径which openssl查看版本openssl version openssl version -a卸载旧版本 OpenSSL#删除配置文件rm -rf /etc/ssl编译与安装 OpenSSLprefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。wget ftp://ftp.openssl.or...原创 2019-08-09 15:09:27 · 1733 阅读 · 0 评论 -
ssl ssh 常见 漏洞修复
CVE-2014-3566ref: https://www.oschina.net/question/12_175450Nginx 在 Nginx 只允许使用 TLS 协议: 在配置文件中使用: ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 重启Nginx /etc/init.d/nginx reload MySQL 删除 ssl-ci...转载 2019-08-22 13:35:20 · 7584 阅读 · 1 评论 -
llvm, clang 和 scan-build 的安装和使用
使用 clang 编译简单使用 clang 编译clang 的 选项是 和 gcc 兼容的。所以最简单的用法就是:clang main.c在 Makefile 中使用 clang 编译。使用 $(CC) 或者 $(CXX) 可以通过 环境变量来选择 编译器。这样可以方便的指定编译器。main.c 内容:用于测试 的 C 程序。#include <stdio.h>...原创 2019-08-17 16:52:13 · 5303 阅读 · 0 评论 -
vmdk 转 qcow2
vmdk 转 qcow2转换大约只需要 几分钟。但是传送镜像就要 几十分钟。 qemu-img info centos7.vmdk qemu-img convert -f vmdk -O qcow2 centos7.vmdk centos7.qcow2 qemu-img info centos7.qcow2...原创 2019-09-03 16:54:06 · 620 阅读 · 0 评论 -
DPDK RSS 基础
1 rss 的作用rss 是网卡提供的分流机制。用来将报表分流到不同的收包队列,以提高收包性能。引用 Intel 82599 10 GbE Controller Datasheet 其中的 Section 7.1.2.8.1, RSS Hash Function 一节。The receive packet is parsed into the header fields used by ...原创 2019-09-24 15:04:14 · 5280 阅读 · 2 评论 -
不完全 vtune 应用笔记
vtune 的 host 和 target 机器以下就以我的环境为例:我的 vtune GUI 工具是 安装在 window 的机器上。这个就是 host 机器。而我的被测试机器,则是一台 centos7 的服务器。这个就是 target 机器。安装 vtune 驱动 的动机vtune 可以使用 perf 来采样,但是在进行微架构分析的时候,perf 采样会报错。这时,则需要 vt...原创 2019-09-25 09:57:19 · 672 阅读 · 0 评论