摘要:[root@localhost ~]# free -g total used free shared buff/cache availableMem: 510 129 377 0 3 339Swap: 0 0 0[root@localhost ~]# cat /proc/meminfo | grep
阅读全文
摘要:static int rte_eal_config_create(void) { size_t page_sz = sysconf(_SC_PAGE_SIZE); size_t cfg_len = sizeof(*rte_config.mem_config); size_t cfg_len_alig
阅读全文
摘要:rte_memseg memseg 数组是维护物理地址的,在上面讲到struct hugepage结构对每个hugepage物理页面都存储了它在程序里面的虚存地址。memseg 数组的作用是将物理地址、虚拟地址都连续的hugepage,并且都在同一个socket,pagesize 也相同的hugep
阅读全文
摘要:在 Linux 中,物理内存是以页为单位来管理的。页的大小为 4096 字节。 1MB 的内存能划分为 256 页; 1GB 则等同于 256000 页。 CPU 中有一个内置的内存管理单元,用于存储这些页的列表,每页都有一个对应的入口。在这种情况下,内存管理单元的大小决定了服务器能使用的最大内存大
阅读全文
摘要:dpdk 使用 Linux 提供的获取大页、页表、numa 节点表、mmap 功能重新组织内存。 大页: 最多可以同时存在 3 种大页。一般只是用 2M 的大页。linux 中获取大页相关信息是通过访问解析 /sys/kernel/mm/hugepages、/proc/meminfo、/proc/m
阅读全文
摘要:DPDK库里是支持多进程和多线程,本文主要总结多进程的相关的操作。 DPDK多进程使用的关键启动参数: --proc-type:指定一个dpdk进程是主进程还是副进程(参数值就用上面的primary或是secondary,或者是auto) --file-prefix:允许非合作的进程拥有不同的内存区
阅读全文
摘要:[root@localhost helloworld]# cat main.c /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */ #include <stdio.h> #inc
阅读全文
摘要:https://github.com/shemminger/dpdk-ring-ping [root@localhost dpdk-ring-ping]# export RTE_SDK=/data1/dpdk-19.11 [root@localhost dpdk-ring-ping]# make [
阅读全文
摘要:dpdk网卡绑定uio报这个bug,换成vfio就没问题了 [root@localhost dpdk-19.11]# modprobe uio [root@localhost dpdk-19.11]# find ./ -name igb_uio.ko ./build/build/kernel/lin
阅读全文
摘要:1、网卡扫描总线的func slot/probe函数的调用是有顺序的, 先绑定0000:05:00.0 ,后绑定0000:06:00.0 [root@localhost dpdk-19.11]# ./usertools/dpdk-devbind.py -s Network devices using
阅读全文
摘要:ipvsadm.c:114:10: fatal error: popt.h: No such file or directory #include "popt.h" ^~~~~~~~ ~/dpvs/include# ls cfgfile.h global_conf.h inet.h ipvs md5
阅读全文
摘要:keepalived_netlink.c: In function ‘parse_af_spec’: keepalived_netlink.c:1634:35: error: ‘IPV4_DEVCONF_ARP_IGNORE’ undeclared (first use in this functi
阅读全文
摘要:[root@localhost kni]# ps -elf | grep kni 4 R root 32791 27964 99 80 0 - 8410299 - 05:12 pts/0 00:00:14 ./examples/kni/build/app/kni -c 0xFFFFF -n 4 --
阅读全文
摘要:[root@localhost dpdk-19.11]# ls /sys/module/rte_kni/parameters/ carrier kthread_mode lo_mode [root@localhost dpdk-19.11]# cat /sys/module/rte_kni/para
阅读全文
摘要:[root@localhost dpdk-19.11]# ./usertools/dpdk-devbind.py -b igb_uio 0000:05:00.0 [root@localhost dpdk-19.11]# ./examples/kni/build/app/kni -c 0xFFFFF
阅读全文
摘要:1、 rte_eal_init 2、 eal_parse_common_option -n选项用于指定系统的内存通道数。 --(破折号)分开了EAL参数和应用程序参数。
阅读全文
摘要:[root@localhost dpdk-19.11]# export RTE_SDK=`pwd` [root@localhost dpdk-19.11]# export RTE_TARGET=arm64-armv8a-linuxapp-gcc [root@localhost dpdk-19.11]
阅读全文
摘要:[root@localhost dpdk-19.11]# ./usertools/dpdk-devbind.py -s Network devices using kernel driver 0000:06:00.0 'Hi1822 Family (2*25GE) 0200' if=enp6s0 d
阅读全文
摘要:[root@localhost dpdk-19.11]# ./examples/kni/build/app/kni -c 0xFFFFF -n 4 -- -P -p 0x3 --config="(0,0,1),(1,2,3)" EAL: Detected 128 lcore(s) EAL: Dete
阅读全文
摘要:/* enable legacy (INTx) interrupts */ static int vfio_enable_intx(const struct rte_intr_handle *intr_handle) { struct vfio_irq_set *irq_set; char irq_
阅读全文
摘要:rte_eth_dev_rx_intr_disable(uint16_t port_id, uint16_t queue_id) { struct rte_eth_dev *dev; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); dev = &
阅读全文
摘要:[root@localhost dpdk_lcores]# ./build/app/test --lcores "(0,1,2,3,4)@(0,1),(5,6,7,8)@3" EAL: Detected 128 lcore(s) EAL: Detected 4 NUMA nodes EAL: Mul
阅读全文
摘要:[root@localhost dpdk_lcores]# ./build/app/test --lcores "(0,1,2,3,4)@(0,1),(5,6,7,8)@3" EAL: Detected 128 lcore(s) EAL: Detected 4 NUMA nodes EAL: Mul
阅读全文
摘要:[root@localhost dpdk_lcores]# ls main.c Makefile [root@localhost dpdk_lcores]# cat Makefile export RTE_TARGET=arm64-armv8a-linuxapp-gcc export RTE_SDK
阅读全文
摘要:参考https://blog.csdn.net/sinat_20184565/article/details/92700223 官方文档: http://doc.dpdk.org/dts/test_plans/kni_test_plan.html [root@localhost dpdk-19.11
阅读全文
摘要:https://hustcat.github.io/introduction-to-uio/ UIO 每个UIO设备可以通过设备文件(/dev/uioX)和sysfs的属性文件来访问。 可以通过mmap映射/dev/uioX来访问UIO设备的寄存器或者RAM。 直接read /dev/uioX来获取
阅读全文
摘要:1、 uio 在register device的时候通过uio_dev_add_attributes生成/sys/class/uio/uio0/xx,注册中断 2、 用户程序fd=open(/sys/class/uio/uio0/maps/mapX/size) 3、调用mmap(fd)会进行rema
阅读全文
摘要:转载 https://blog.csdn.net/bemind1/article/details/99678642 What is VFIO? VFIO是一个可以安全的把设备I/O、中断、DMA等暴露到用户空间(userspace),从而可以在用户空间完成设备驱动的框架。 得益于vfio低开销的用户
阅读全文
摘要:网上的Linux PCI驱动教程基本就没有有用的。扯半天PCI配置空间就完了。但是PCI配置空间是最容易访问的,只是内核启动时扫描PCI设备时比较重要。对于PCI驱动,更常用的是PCI设备的IO空间和内存空间。以前只知道在PCI设备的配置空间中,BAR0-BAR5能够读取到PCI设备的IO空间或地址
阅读全文
摘要:vpp sample plugin https://workerwork.github.io/posts/vpp-sample-plugin/ vpp编译分析 https://workerwork.github.io/posts/vpp-debs/ 基于VPP+DPDK开源框架开发UPF https
阅读全文
摘要:无法访问10.10.17.252 dis mac-add | inc 9044 Flags: * - Backup # - forwarding logical interface, operations cannot be performed based on the interface. BD
阅读全文
摘要:NETWORK 与 SUBNET 的一对多关系 Network 和 Subnet 是一对多的关系,这跟应用了 Multi-Segments 与否无关。Network 下属的 Subnets 可以有不同的 IP 网段(CIDR)且不能重叠,但不同 Networks 的 Subnets 之间可以具有相同
阅读全文
摘要:http://linuxperf.com/?p=67 支持虚拟化技术的硬件平台主要做两件事,一个是DMA Remapping,将DMA请求中的Guest的物理地址映射到Host的物理地址,另一个是中断Remapping,将能remappable的中断请求根据由VMM设置,位于内存的IRT(Inter
阅读全文
摘要:#!/bin/sh sed -r -e 's/^ *//' -e 's/ {2,}/|/g' < /proc/interrupts | \ awk -F'|' ' BEGIN { cpu_n = 0; } NR == 1 { for(i = 1; i <= NF; i++) if($i ~ CPU)
阅读全文
摘要:https://kernelgo.org/vfio-introduction.html [root@localhost ~]# dmesg -T | grep -i iommu [Mon Aug 24 02:26:42 2020] iommu: Adding device 0000:74:03.0
阅读全文
摘要:I would like to present here a simple solution to write an interrupt driven user space application with the help of the generic user IO kernel driver.
阅读全文
摘要:t work recently, I had a new PCI device that I needed to experiment with. I was dreading writing a Linux kernel driver to talk to it. It turns out, Li
阅读全文
摘要:root@gobgp:~# lspci | grep -i ether 01:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01) 07:00.0 Ethernet controller: Red Hat, In
阅读全文
摘要:A PCI/PCI-Express Primer Part 3: Let’s Play Note: This is part three of a three-part blog series. Part one is available here and part two is available
阅读全文
摘要:Thank you for visiting this page, this page has been update in another link lspci useful examples lspci is a utility for displaying information about
阅读全文
摘要:https://www.slideshare.net/kentaroebisawa/20111015-pcie-sriov [root@localhost ~]# lspci | grep -i ether 05:00.0 Ethernet controller: Huawei Technologi
阅读全文
摘要:https://github.com/billfarrow/pcimem [root@localhost pcimem]# ls LICENSE.txt Makefile pcimem.c README [root@localhost pcimem]# make cc -Wall -g pcimem
阅读全文
摘要:参考https://cromwell-intl.com/open-source/sysfs.html bus:slot.function domain:bus:slot.function, [root@localhost ~]# lspci 00:00.0 PCI bridge: Huawei Te
阅读全文
摘要:https://dpdk-guide.gitlab.io/dpdk-guide/setup/binding.html any modern system now provide DMA and interrupt remapping facilities to help ensure I/O dev
阅读全文
摘要:root@zj-x86:~# lspci | grep -i ether 1a:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 09) 1a:00.1 Ethernet
阅读全文
摘要:基于FRR全面解析BGP协议(五):FRR的BGP路由策略 https://www.codenong.com/cs106763166/ route map类似一张表,其中的每一个表项可以看做是比较复杂的static route。如:route map TEST permit 10match Amat
阅读全文
摘要:https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/xe-16/irg-xe-16-book/irg-xe-16-book_chapter_01010101.html Carrying Link-St
阅读全文
摘要:Quagga Installing Quagga Add user and group quagga groupadd quagga useradd -g quagga -s /bin/false quagga Before installing quagga, it is necessary to
阅读全文
摘要:今回はIPネットワークにおけるTraffic Engineering(以下、TE)の実現手法という視点でSRv6に着目します。試験環境としてLinux kernel 4.10を用意しSRv6によるトラフィックステアリングの動作確認を行いました。 まず、試験項目と結果のサマリは以下になります。 図1:
阅读全文
摘要:for i in `ls /sys/class/net/ | grep enahisic` ; do echo "enabling lldp for interface: $i" ; lldptool set-lldp -i $i adminStatus=rxtx ; lldptool -T -i
阅读全文
摘要:https://vpp.flirble.org/stable-1801/srmpls_doc.html vpp# show sr mpls policies SR MPLS policies: vpp# show version vpp v20.05.1-release built by root
阅读全文
摘要:startup-config /path_to_config_file 配置TenGigabitEthernet4/0/0的ip地址和端口状态 set interface state TenGigabitEthernet4/0/0 up set interface ip address TenGig
阅读全文
摘要:Learning VPP: OSPF routing protocol Posted on April 17, 2020 Overview The task at hand is to enable OSPF on VPP router. For this purpose is chosen FRR
阅读全文
摘要:mpls1# show bgp summary % BGP instance not found mpls1# quit root@mpls1:~/gobgp# ls gobgp_2.19.0_linux_arm64.tar.gz LICENSE README.md root@mpls1:~/gob
阅读全文
摘要:PCEP是什么 PCEP的全称是Path Computation Element Communication Protocol,直译过来就是路径计算单元通信协议。简单概括就是一个通信协议,基于TCP的应用层协议,具体用来干什么,会在下面逐步介绍。 PCEP的发展曲线 PCEP最初是想将路由器上的CS
阅读全文
摘要:https://qiita.com/ttsubo/items/1bdced59f5c99bb548fa https://qiita.com/ttsubo/items/1bdced59f5c99bb548fa Aug 20 19:09:31 ubuntu gobgpd[21406]: {"level"
阅读全文
摘要:[root@localhost ~]# ./storcli64 show ctrlcount 查看raid数量 Status Code = 0 Status = Success Description = None Controller Count = 1 [root@localhost ~]# [
阅读全文
摘要:apt install smartmontools root@ubuntu:/home/ubuntu# smartctl --all /dev/sda smartctl 6.6 2016-05-31 r4324 [aarch64-linux-4.15.0-55-generic] (local bui
阅读全文
摘要:https://github.com/shusugmt/gobgp-tutorial https://packetpushers.net/want-create-pce-prototype/ root@ubuntu:~/work/poors_man_pce# ls avoid_node_link_c
阅读全文
摘要:sdwan_orchestrator_with_gobgp https://github.com/ttsubo/sdwan_orchestrator_with_gobgp http://networkstatic.net/gobgp-control-plane-evolving-software-n
阅读全文
摘要:If you're using Ubuntu 18.04 LTS or 20.04 LTS on amd64, arm64, armhf or i386, then you can use the longsleep/golang-backports PPA and update to Go 1.1
阅读全文
摘要:https://www.slideshare.net/shusugimoto1986/tutorial-using-gobgp-as-an-ixp-connecting-router https://github.com/shusugmt/gobgp-tutorial
阅读全文
摘要:http://arthurchiao.art/categories/ 译者序 本文翻译自 2018 年的一篇英文博客 Write your Own Virtual Machine 。文章介绍如何用 400 行左右的 C 代码实现一个虚拟机,该虚拟机能够运行标准 的 LC-3 汇编程序。 不过要注意,
阅读全文
摘要:https://skjune12.hatenadiary.com/entry/2017/12/16/223455 #!/bin/bash if [[ $(id -u) -ne 0 ]] ; then echo "Please run with sudo" exit 1 fi run () { ech
阅读全文
摘要:How to Install VPP The following describes how to install VPP on Ubuntu 18.04. For a complete set of instructions click on the button at the bottom of
阅读全文
摘要:https://github.com/FRRouting/frr/issues/6835 Topology: leaf01 < > spine02 < > leaf02 (put "x" in "[ ]" if you already tried following) [x] Did you che
阅读全文
摘要:root@mpls4:~# cat /etc/frr/frr.conf # default to using syslog. /etc/rsyslog.d/45-frr.conf places the log# in /var/log/frr/frr.log frr version 7.3.1frr
阅读全文
摘要:各个节点的mpls初始化 root@mpls4:~# cat mpls_init.sh modprobe mpls_router modprobe mpls_iptunnel modprobe mpls_gso modprobe dummy cat >/etc/modules-load.d/mpls
阅读全文
摘要:root@mpls2:~# tcpdump -i enp1s0 "mpls 17004 && mpls 17003" -env tcpdump: listening on enp1s0, link-type EN10MB (Ethernet), capture size 262144 bytes 1
阅读全文
摘要:curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add - echo deb https://deb.frrouting.org/frr buster frr-stable | sudo tee -a /etc/apt/so
阅读全文
摘要:目的 FRRoutingに実装されているOSPFのSR拡張と,Linux Kernel 4.3.0より実装されているMPLS機能を用いてSegment Routingを動作させます.ospf-srのドキュメントを参考に,OSPFによるSID配布を確認した後,iproute2を用いてMPLSのスタティ
阅读全文
摘要:这几年,在云计算和SDN技术的推动下,很多网络新技术,新名词涌现出来,让人眼花缭乱,有些是包装概念,有些是技术创新。其中,Segment Routing可以堪称是在核心路由领域的黑科技。 在这篇文章里,我们不讲协议字段解释,不讲配置步骤,只谈谈Segment Routing 的工作原理,让我们一起看
阅读全文
摘要:IPv6 SR简介 IPv6 SR (SRv6)是指在IPv6网络中使用 Segment Routing ,将IPv6地址作为SID,SRv6 节点根据SID对报文进行 转发。SRv6将SID列表封装在IPv6报文的SRH( Segment Routing Header ,SR报文头)中,以控制报文
阅读全文
摘要:[root@bogon ~]# ping6 fe80::997e:ea4a:6f5d:f076 connect: Invalid argument [root@bogon ~]# ping6 fe80::997e:ea4a:6f5d:f076 -I enahisic2i0 PING fe80::99
阅读全文
摘要:root # glance image-list | grep centos_0525_v2 | d433b400-a612-45bb-979d-b707f528c85f |centos_0525_v2_baremtal | root # glance image-download --file c
阅读全文
摘要:https://blog.csdn.net/armlinuxww/article/details/106928290 一、SRv6技术简介 SRv6全称为Segment Routing IPv6,是当下最为热门的Segment Routing和IPv6两种网络技术的结合体,兼有前者的灵活选路能力和后
阅读全文
摘要:控制 physical_interface_mappings = physnet1:eth3,external:eth1,pub:bond0 计算 [linux_bridge] physical_interface_mappings = physnet1:eth3,external:eth1 ip
阅读全文
摘要:root@con:~# brctl show brq77d05569-3b bridge name bridge id STP enabled interfaces brq77d05569-3b 8000.4ee94addc63f no bond0 tapab301ab4-33 root@contr
阅读全文
摘要:Useful links SRext - a Linux kernel module that implements different SR proxy behaviours.https://github.com/netgroup/SRv6-net-prog SERA - a SEgment Ro
阅读全文
摘要:root@mpls1:~# tcpdump -i enp8s0 arp -env tcpdump: listening on enp8s0, link-type EN10MB (Ethernet), capture size 262144 bytes ^C 0 packets captured 0
阅读全文
摘要:root@ipmn:~/srv6_Sandbox# adduser root quaggavty Adding user `root' to group `quaggavty' ... Adding user root to group quaggavty Done.
阅读全文
摘要:root@ipmn:~/RoutingExamples# vagrant -v Vagrant 2.0.2 root@ipmn:~/RoutingExamples# vagrant box list There are no installed boxes! Use `vagrant box add
阅读全文
摘要:root@focal:~# pip3 install ipmininet Collecting ipmininet Downloading ipmininet-0.9.tar.gz (110 kB) |████████████████████████████████| 110 kB 2.8 MB/s
阅读全文
摘要:cnp3/RoutingExamples https://github.com/oliviertilmans Olivier Tilmans has recently developed one missing piece to enable students to use Mininet to e
阅读全文
摘要:IPMininet Documentation, R kamuee srv6 github https://speakerdeck.com/slankdev/kamuee-srv6dui-ying-falseshe-ji-toshi-zhuang-niguan-site?slide=25 https
阅读全文
摘要:https://www.cnblogs.com/qq952693358/p/6092199.html node_pat = re.compile(r'.*bash ... mininet:(.*)') 改成 node_pat = re.compile(r'.*bash --norc -mis min
阅读全文
摘要:mpls1网卡 15: lo2: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000 link/ether 62:0c:90:5d:08:bd brd ff:ff:ff:
阅读全文
摘要:root@controller1:~# openstack user list | grep nas | 69da9a7900c041c9ae07f44800d94678 | monasca | | fa619bb6affb4f4db7b22242e67acbd9 | nasi_weier | ro
阅读全文
摘要:2020-08-05 16:58:04.793 40 INFO neutron.plugins.ml2.db [req-4b54ec4d-839d-44b9-b812-afe8ece5a70a fa619bb6affb4f4db7b22242e67acbd9 1eea00be129f456591e7
阅读全文
摘要:mpls3 root@mpls3:~# cat /home/devuser/mpls.sh sysctl net.mpls.conf.enp7s0.input=1 sysctl net.mpls.conf.lo1.input=1 modprobe mpls_router modprobe mpls_
阅读全文
摘要:root@zhou:/home/ubuntu# pvs PV VG Fmt Attr PSize PFree /dev/sdc3 klas00 lvm2 a-- <3.64t 0 root@zhou:/home/ubuntu# root@zhou:/home/ubuntu# pvs PV VG Fm
阅读全文
摘要:在 /etc/netsvc.conf 里面添加一行 hosts=local4 结束时应用 datasource: Ec2: timeout: 5 max_wait: 10 但它根本不起作用,超时仍为50秒,max_wait为120秒。 我的操作系统Red Hat 6,cloud-init版本:0.7
阅读全文
摘要:各个节点配置 sysctl net.mpls.conf.enp7s0.input=1 modprobe mpls_router modprobe mpls_iptunnel modprobe mpls_gso modprobe dummy cat >/etc/modules-load.d/mpls.
阅读全文