- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 windows下安装mingw-w64
mingw-w64只负责程序的编译,只提供命令行操作没有编辑代码的图像界面,代码的编写需要由文本编辑器(如vscode)来完成。原文链接:https://blog.csdn.net/u012294613/article/details/126525424。mingw-w64应该可以算是mingw的改进版本吧,mingw系列编译器是非常好的并且主流的c/c++编译器。下载后选一个合适的位置解压,这个位置也就相当于是安装位置(顺便给文件夹改个短一点的名字)进入解压好的文件夹下的bin文件夹。
2024-10-07 22:47:40 303
转载 DPDK内存管理方法及rte_mempool和rte_ring的使用
c、调用rte_memzone_reserve(),在rte_config.mem_config->free_memseg[]中查找一个合适的free_memseg(查找规则是free_memseg中剩余内存大于等于需要分配的内存,但是多余的部分是最小的),从该free_memseg中分配指定大小的内存,然后将分配的内存记录在rte_config.mem_config->memzone[]中。NB_MBUF:rte_mempool包含的rte_mbuf元素的个数。d、初始化新分配的rte_ring。
2024-05-16 14:23:05 277
转载 Source Insight 4.0取消Overviews预览步骤:Options-->Preferences不勾选Overviews(based on file type)
不勾选Overviews(based on file type)Source Insight 4.0取消Overviews预览。步骤:Options-->Preferences。
2024-03-14 17:52:14 246
原创 vmware虚拟机openeuler环境安装错误
[root@localhost l3fwd-graph]# yum install samba -yOS 12 kB/s | 2.4 kB 00:00 everything
2024-03-04 14:11:58 1318 1
转载 python中的subprocess.Popen()使用详解
如果把universal_newlines 设置成True,则子进程的stdout和stderr被视为文本对象,并且不管是*nix的行结束符('/n'),还是老mac格式的行结束符('/r' ),还是windows 格式的行结束符('/r/n' )都将被视为 '/n'。注意: 如果子进程输出了大量数据到stdout或者stderr的管道,并达到了系统pipe的缓存大小的话,子进程会等待父进程读取管道,而父进程此时正wait着的话,将会产生传说中的死锁,后果是非常严重滴。这两个之中,后者将不会工作。
2024-03-01 15:19:25 5124 1
原创 【DPDK】基础API
rte_mbuf_to_priv参考:DPDK: lib/mbuf/rte_mbuf.h File ReferenceDPDK: lib/mbuf/rte_mbuf.h File ReferenceDPDK: lib/mbuf/rte_mbuf.h Source File
2024-02-29 13:28:54 345
原创 【芯片概念】UPF
下图中,V_PD domain 中的supply_net复用Video_PD domain中的supply_net。set_domain_supply_net V_PD \ #V_PD的primary_power_net为switch产生的net。create_supply_net VDDsw -domain V_PD #定义switch产生的supply_net。set_design_top SoC/Video_SB #指定design_top为Video_SB。24 人赞同了该文章。
2024-02-29 11:03:46 631
原创 [CT概念]什么是UPF
在Multi-homing 场景下,一个PDU 会话可以关联多个IPv6 前缀,分支点UPF 根据SMF 下发的过滤规则,通过检查数据包源IP 地址进行分流,将不同IPv6 前缀的上行业务流转发至不同的PDU 会话锚点UPF,再接入数据网络,以及将来自链路上的不同PDU 会话锚点UPF的下行业务流合并到5G 终端。仅仅满足基础功能的ToB UPF是不够的,随着标准技术的演进和新的开放服务模式的出现,UPF还需开放更多网络基础能力,不断引入新的特性,进一步丰富定制化能力;MEC 是5G 业务应用的标志能力。
2024-02-29 11:00:27 6102
原创 rte_hash_iterate函数用于遍历一个哈希表中的所有元素
其中,参数h是要遍历的哈希表,参数key和data分别是指向当前节点的键和值的指针,参数next是一个指向下一个节点的位置的指针。函数返回0表示成功遍历了一个节点,返回负数表示已经遍历完了整个哈希表。在该例子中,我们使用了rte_hash_create函数创建了一个哈希表并添加了两个元素。然后,我们使用rte_hash_iterate函数遍历了整个哈希表,并打印了每个节点的键、值和端口号。rte_hash_iterate函数用于遍历一个哈希表中的所有元素。
2024-01-29 16:57:37 489
原创 通信行业“黑话”
见面打交道,几句“黑话”,就能辨认出你是不是圈里的人,你的“道行”有多深。这种叫法由来已久,小枣君估摸着,可能是从以前程控交换网络里继承下来的,例如“长途交换局”,“汇接局”、“端局”、“关口局”、“国际局”。,例如“这是局方的要求,我们必须做到”,“这是给局方的报告,一定要认真写好”,“这件事情,千万不要让局方知道”……还会用在设备所承载的服务上。例如,如果一个设备上,已经有用户的服务在运行,已经在工作,那么,我们会说,这个设备已经。其实,通信行业里面的“黑话”还有很多,我所列出的,只有其中的一小部分。
2024-01-16 14:23:54 955 1
原创 海思HW HiSi 芯片
H3751/310/320 FHD智能,A53双核Mali450 HDR10 HECV内置512M DDR。Hi3751/350 FHD智能,A53多核MaliG52 内置DDR H.265 vP9 10BlT。Hi3796MV300 4Kp90 A53 2T MiPl/EDP/LVDS/VBO 13M商显。Hi3751/360 FHD智能,A53多核 全球DEMOD AVS3/AV1/H.266。HI3569 8路1080P 4T前视ADA5环视,融合感知、HDR、LED抗闪烁、低照。
2023-12-14 10:10:56 560 1
原创 SNAT DNAT
NAT(Network Address Translation):网络地址转换,是将IP数据包头中的IP地址转换为另一个IP地址的过程。在实际的应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私有IP地址的方式,将有助于减缓可用IP地址空间的枯竭。简单来说,NAT就是在内部专有网络使用内部地址(不可路由),而当内部节点要与外界网络发生联系时,就在边缘路由器或者防火墙处,将内部的地址替换成全局地址(合法地址,可路由),从而在外部公共网上正常使用。
2023-12-12 19:49:26 67
转载 IP数据传输技术从MPLS到SR技术,再到SRv6
从SR到SRv6,通过在IPv6中增加SRH字段,实现基于IPv6的标签转发,替代传统的MPLS下的标签转发功能。但在这需要强调的是,上面的SR在数据平面仍然是基于MPLS的,无论控制面分发标签是基于IPv4还是IPv6,从本质上来说还是MPLS下的Segment Routing,也就是SR-MPLS。与SR-MPLS相比,传统的SR-MPLS是在MPLS的基础上运用了减法和集中的思想,减去LDP集中RSVP,而SRv6则是在传统SR-MPLS基础上,给我们带来了大一统和编程的思想。
2023-12-07 19:56:56 242
转载 谈一谈DPDK技术及原理
一、网络IO的处境和趋势从我们用户的使用就可以感受到网速一直在提升,而网络技术的发展也从1GE/10GE/25GE /40GE/100GE的演变,从中可以得出单机的网络IO能力必须跟上时代的发展。传统的电信领域IP层及以下,例如路由器、交换机、防火墙、基站等设备都是采用硬件解决方案。基于专用网络处理器(NP),有基于FPGA,更有基于ASIC的。
2023-06-26 18:10:45 255 2
转载 DPDK与SR-IOV应用场景及性能对比
2、内存拷贝:网络数据包到来时,网卡通过 DMA 等拷贝到内核缓冲区,内核协议栈再从内核空间拷贝到用户态空间,在 Linux 内核协议栈中,这个耗时操作甚至占到了数据包整个处理流程的 57.1%。如图3所示:基于 DPDK 的转发路径替换标准的 OVS 内核转发路径,在主机上创建一个用户空间 vSwitch,它完全运行在用户空间中从而提高了 OVS 交换机的性能。从前面的分析得知目前网络IO的实现的方式中,内核是导致性能瓶颈的原因所在,要解决性能问题就需要绕过内核,直接在用户态收发包。
2023-06-26 18:08:42 719 1
转载 ELF文件格式解析
通过以上的定义以及示例讲解,相信大家已经对ELF的文件格式有所了解了,如果想要继续深挖ELF文件的细节,大家可以参考以下这些资料。ELF 文件格式概述 · GitBookelf各个段介绍(堆栈基础知识)_「二进制安全pwn基础」 - 网安ELF格式文件详细分析_elf节区需要分析吗_飘零过客的博客-CSDN博客PE格式:手写PE结构解析工具_lyshark的技术博客_51CTO博客IDB文件扩展名-什么是.idb文件,如何打开它?
2023-06-21 21:01:02 459
转载 [转]malloc底层实现原理
其中一种是隐式链表,实际上是数组,malloc分配空间必然有一个数据结构,允许它来区分边界,区分已分配和空间的空间,数据结构中包含一个头部信息和有效载荷,有效载荷的首地址就是malloc返回的地址,可能在尾部还有填充,为了保持内存对齐。malloc基本的实现原理就是维护一个内存空闲链表,当申请内存空间时,搜索内存空闲链表,找到适配的空闲内存空间,然后将空间分割成两个内存块,一个变成分配块,一个变成新的空闲块。在释放内存块后,如果不进行合并,那么相邻的空闲内存块还是相当于两个内存块,会形成一种假碎片。
2023-06-21 20:44:28 1184
原创 如何使用 printf 系列可移植地打印 size_t 变量? #让代码影响世界
中的vector::size(),以及其它 STL 容器的 size()也是如此。32位系统上述代码没有问题,但64位系统,或者兼容32/64位系统,则须要采用。例子:用 printf 打印 vector 的 size,如下例代码,size_t这类变量类型,最常用到的就是。本篇将介绍在C/C++编码中如何用。原因在于:系统调用的返回值为。改为zu则可合理解决该问题。rintf打印size_t。modifier的方法。编译后会出现一个编译警告。
2023-05-29 20:32:36 1931 1
SourceInsight 3.5.0072 安装文件+序列号+速成手册(无需积分下载)
2014-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人