自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L.

天将明

  • 博客(498)
  • 收藏
  • 关注

原创 bpftrace使用

eBPF(Extended Berkeley Packet Filter):eBPF是一种虚拟机技术,允许在内核中运行安全的、可编程的代码片段,以便对系统执行深入的跟踪和监视。eBPF提供了一种灵活且高效的方式来扩展内核的功能,并允许用户空间应用程序与内核交互。bpftrace语言:bpftrace提供了一种高级脚本语言,使用类似于awk的语法,用于编写跟踪脚本。bpftrace脚本通过eBPF提供的虚拟机执行,可以捕获和分析各种系统事件和指标。

2024-09-11 17:05:55 641

原创 io_uring异步IO

io_uring是一个Linux内核的异步I/O框架,它提供了高性能的异步I/O操作,io_uring的目标是通过减少系统调用和上下文切换的开销来提高I/O操作的性能。在网络编程中,我们通常使用epoll IO多路复用来处理网络IO,然而epoll也并不是异步网络IO,仅仅是内核提供了IO复用机制,epoll回调通知的是数据可以读取或者写入了,具体的读写操作仍然需要用户去做,而不是内核代替完成。

2024-09-10 18:35:44 755

原创 suricata编译安装和运行

make。

2024-08-19 18:27:34 321

原创 nginx相关博客

nginx变量开源Web服务提供商 - NGINX开源社区开源Web服务提供商 - NGINX开源社区

2024-08-16 10:34:16 289

原创 VPP-编写一个简单插件

该宏定义了一个函数指针在VPP/vpp/src/vlib/init.h头文件中。

2024-08-12 08:53:27 195

原创 VPP基本命令

service vpp stopservice vpp start

2024-08-10 18:33:04 159

原创 vpp编译安装(Ubuntu 16.04)

操作系统是Ubuntu 18.04.5 换成ubuntu 16即可。

2024-08-09 21:09:11 231

原创 DPDK-布谷鸟哈希

而查询一个G时,则需要从对应的位置开始向后找,直到找到G(命中),或找到空位(G不在表中)。3、除了这两个标志值外,如果还设置了事务性内存标志(RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT),那么如果硬件支持,读写锁将使用硬件事务性内存(例如Intel®TSX)来保证线程安全。2、如果设置了读/写并发(RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY),则多线程读/写操作是安全的(即,应用程序不需要“停止读者访问哈希表,一直等待写者完成更新为止”。

2024-08-09 09:59:19 728

原创 通过计算熵来判断是否为ddos攻击

通过计算熵来判断是否为ddos攻击。

2024-08-08 18:09:26 180

原创 github-常见问题

1、git clone失败。

2024-08-08 10:06:58 89

原创 DPDK-KNI

1)设置:sudo echo 1 > /sys/devices/virtual/net/vEth0/carrier,这样内核收到dpdk的报文后才会回包。2)对于dpdk不需要处理的报文送入内核协议栈:rte_kni_tx_burst(global_kni, &mbufs[i], 1);初始化完成后,运行程序可以看到,新增网卡,网卡名称在上述ng_alloc_kni中设置。注:rte_kni_tx_burst函数会对传入的mbufs[i]进行内存释放。插入kni驱动后可以看到如下文件。

2024-08-07 14:36:10 187

原创 用户态tcp协议栈四次挥手-服务端发送fin时,客户端不返回ac

服务度返回fin后,客户端不发送ack,反而过了2min后发了个rst报文。62505是客户端,8889是服务端。服务端返回fin报文时带上ack标记。

2024-08-06 15:58:23 225

原创 dpdk调试

dpdk的Makefile加上-g编译。1、gdb调试coredump。

2024-08-06 11:01:18 166

原创 dpdk实现udp协议栈

2、用户态协议栈线程。3、udp服务端线程。1、协议栈收包缓冲区。2、协议栈发包缓冲区。3、udp收包缓冲区。4、udp发包缓冲区。

2024-08-02 16:02:21 220

原创 dpdk 实现arptable

2、arp报文中的目的mac是00:00:00:00:00:00。1、以太网帧中目的mac是ff:ff:ff:ff:ff:ff。

2024-07-31 09:48:41 233

原创 dpdk 响应icmp请求(Echo or Echo Reply Message)

【代码】dpdk 响应icmp请求(Echo or Echo Reply Message)

2024-07-29 22:24:08 221

原创 dpdk响应arp请求

arp报文格式。

2024-07-29 14:39:58 375

原创 dpdk发送udp报文

【代码】dpdk发送udp报文。

2024-07-29 10:43:35 510

原创 dpdk编译安装以及接收udp报文(基于ubuntu16.04)

下载版本:DPDK 19.08.2选择39 x86_64-native-linux-gcc,回车后自动开始编译。

2024-07-27 16:37:33 1030

原创 dpdk学习路线

曾经网络只在内核工作,现在通过dpdk把网络移除出来,使得网络有更多的想象发挥空间。

2024-07-20 16:43:26 140

转载 Linux下undefined reference to ‘pthread_create’问题解决接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写

接触了Linux系统编程中的线程编程模块,可gcc sample.c(习惯把书上的sample代码写进sample.c文件中)出现“undefined reference to ‘pthread_create’”,所有关于线程的函数都会有此错误,导致无法编译通过。问题的原因:pthread不是Linux下的默认的库,也就是在链接的时候,无法找到phread库中哥函数的入口地址,于是链接会失

2017-06-07 22:47:46 793

转载 ARP协议在同网段及跨网段下的工作原理

一、ARP在同个网段下的工作原理        首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有,就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求

2017-06-06 21:03:52 10412 1

原创 LonLife-ACM 1129 - 喵哈哈村的战斗魔法师丶坏坏い月

原题链接1129 - 喵哈哈村的战斗魔法师丶坏坏い月Time Limit:3s Memory Limit:256MByteSubmissions:381Solved:85DESCRIPTION坏坏い月是月大叔的ID,他是一个掌握者772002种魔法的物理系战士,最擅长的技能就是搞事。今天他又要开始搞事了。给你nn个数,

2017-06-03 08:51:12 620

原创 Codeforces Round #416 (Div. 2)-C. Vladik and Memorable Trip

原题链接C. Vladik and Memorable Triptime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputVladik often travels

2017-05-31 22:21:24 455

原创 Codeforces Round #415 (Div. 2)-C. Do you want a date?

原题链接C. Do you want a date?time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputLeha decided to move to a

2017-05-21 16:50:40 554

原创 Codeforces Round #277.5 (Div. 2)-F. Special Matrices

原题链接F. Special Matricestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAn n × n square matrix is spec

2017-05-19 15:44:33 279

原创 Codeforces Round #223 (Div. 2)-C. Sereja and Prefixes

原题链接C. Sereja and Prefixestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputSereja loves number sequenc

2017-05-11 22:39:15 331

转载 幻方构造

幻方分为3类。奇阶幻方(奇数)、双偶幻方(能够被4整除,如8,12,16……)、单偶幻方(4m+2形式,如6,10……),构造算法各不相同。下面的程序中,奇阶幻方的构造算法为Merzirac法。双偶幻方的构造算法为Spring法。单偶幻方的构造算法为Strachey法。奇数幻方:在第一行居中的方格内放1,依次向右上方填入2、3、4…,如果右上方已有数字,则向下移

2017-05-09 23:59:10 1304

原创 Codeforces Round #221 (Div. 2)-D. Maximum Submatrix 2

原题链接D. Maximum Submatrix 2time limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputYou are give

2017-05-09 11:04:17 311

原创 Codeforces Round #221 (Div. 2)-C. Divisible by Seven

原题链接C. Divisible by Seventime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou have number a,

2017-05-08 23:59:16 300

原创 Educational Codeforces Round 16-C. Magic Odd Square

原题链接C. Magic Odd Squaretime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputFind an n × n matrix

2017-05-08 13:15:16 280

原创 Educational Codeforces Round 19-D. Broken BST

原题链接D. Broken BSTtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLet T be arbitrary binary tree — tre

2017-05-07 18:09:13 328

原创 Educational Codeforces Round 19-E. Array Queries

原题链接E. Array Queriestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputa is an array of n pos

2017-05-07 17:03:32 256

原创 Educational Codeforces Round 20-C. Maximal GCD

原题链接C. Maximal GCDtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given positive integer numb

2017-05-02 23:53:21 334

转载 【cocos2d-x 3.x 学习与应用总结】4: 理解CC_CALLBACK_0, CC_CALLBACK_1, CC_CALLBACK_2, CC_CALLBACK_3

前言得益于C++11的新特性,cocos 3.x版本在很多地方的代码看起来都优美了许多。这其中就包括一些回调函数的写法,CC_CALLBACK_N系列宏的作用是对一个成员函数进行适配并返回一个回调函数。本文介绍一下我对CC_CALLBACK_N系列宏的理解。使用CC_CALLBACK_N的例子下面这段代码来自cocos官方示例中的ActionTest.cpp, 这是在创建一

2017-04-30 23:29:22 403

转载 C++bind

C++11中提供了std::bind。bind()函数的意义就像它的函数名一样,是用来绑定函数调用的某些参数的。bind的思想实际上是一种延迟计算的思想,将可调用对象保存起来,然后在需要的时候再调用。而且这种绑定是非常灵活的,不论是普通函数、函数对象、还是成员函数都可以绑定,而且其参数可以支持占位符,比如你可以这样绑定一个二元函数auto f = bind(&func, _1, _2)

2017-04-30 23:11:59 3916

转载 C++11中万能的可调用类型声明std::function<...>

在C++11中,callable object 包括传统C函数,C++成员函数,函数对象(实现了()运算符的类的实例),lambda表达式(特殊函数对象)共4种。程序设计,特别是程序库设计时,经常需要涉及到回调,如果针对每种不同的callable object单独进行声明类型,代码将会非常散乱,也不灵活。如下示例:#include #include using namespace st

2017-04-30 17:37:54 843

转载 C++11 lambda 表达式解析

C++11 新增了很多特性,lambda 表达式是其中之一,如果你想了解的 C++11 完整特性,建议去这里,这里,这里,还有这里看看。本文作为 5 月的最后一篇博客,将介绍 C++11 的 lambda 表达式。很多语言都提供了 lambda 表达式,如 Python,Java 8。lambda 表达式可以方便地构造匿名函数,如果你的代码里面存在大量的小函数,而这些函数一般只被调用一

2017-04-30 17:27:06 304

转载 static_cast, dynamic_cast, const_cast, reinterpret_cast

首先static_cast强制类型转换的功能基本上和C中使用()小括号强制转换相似。因此static_cast(ival)和语句(int)ival=7是一样的。如果你是初学,对于static_cast强制转换,记住这一条就够用了。如果想学得更深,可以去本人的文库下载相应的文章。下面本人再给你多介绍一些强制类型转换的功能,以及C++中的不同强制类型用于哪些地方(当然,这需要你有一定的基础才能理解下面

2017-04-29 21:42:36 225

转载 Cocos2d-x坐标系介绍

转载地址:http://blog.csdn.net/tonny_guan/article/details/25117341在图形图像和游戏应用开发中坐标系是非常重要的,我们在Android和iOS等平台应用开发的时候使用的二维坐标系它的原点是在左上角的。而在Cocos2d-x坐标系中它原点是在左下角的,而且Cocos2d-x坐标系又可以分为:世界坐标和模型坐标。UI坐标

2017-04-25 20:58:18 402

空空如也

空空如也

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

TA关注的人

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