VPP - Vector Packet Processing: erinevus redaktsioonide vahel
Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
Resümee puudub |
|||
142. rida: | 142. rida: | ||
===Kasulikud lisamaterjalid=== |
===Kasulikud lisamaterjalid=== |
||
+ | * https://lists.fd.io/g/vpp-dev/topic/106289140#msg24512 |
||
* https://toonk.io/kernel-bypass-networking-with-fd-io-and-vpp/ |
* https://toonk.io/kernel-bypass-networking-with-fd-io-and-vpp/ |
||
* https://www.youtube.com/watch?v=KXM4waZ4HLI |
* https://www.youtube.com/watch?v=KXM4waZ4HLI |
Redaktsioon: 17. august 2024, kell 00:07
Sissejuhatus
TODO
Tööpõhimõte
TODO
Paigaldamine - Proxmox virtuaalne arvuti
Väited
- VPP tarkvara paigaldatakse https://packagecloud.com/ repositooriumist
- 2024 aasta suvel on kõige värskem toetatud Ubuntu operatsioonisüsteemi versioon 22.04
- paigaldusjuhend asub aadressil https://s3-docs.fd.io/vpp/24.06/gettingstarted/installing/ubuntu.html
- secure boot parem välja lülitada, vastasel korral saab vpp paigaldamisel dmesg selliseid teateid
[ 162.223607] Lockdown: vpp: raw io port access is restricted; see man kernel_lockdown.7
Virtuaalne arvuti peab toetama 2M suurust hugepagendust ja 1024 tükki, nt sobib sellise seadistusega virtuaalne arvuti
root@pve-moraal-x570:~# cat /etc/pve/qemu-server/9911.conf agent: 1 bios: ovmf boot: order=virtio0;ide2;net0 cores: 4 cpu: host efidisk0: sn_srv_btrfs:9911/vm-9911-disk-0.raw,efitype=4m,pre-enrolled-keys=1,size=528K ide2: none,media=cdrom machine: q35 memory: 8192 meta: creation-qemu=7.1.0,ctime=1674411406 name: ubuntu-2204-vpp-01 net0: virtio=BC:24:11:9B:C3:E4,bridge=vmbr1,firewall=1,tag=111 numa: 1 ostype: l26 parent: enne-vpp-katset-puhas scsihw: virtio-scsi-single smbios1: uuid=174e8d69-5f6e-4296-8bd4-73e7247dae1e sockets: 1 vga: virtio virtio0: sn_srv_btrfs:9911/vm-9911-disk-1.raw,iothread=1,size=20G virtio1: sn_srv_btrfs:9911/vm-9911-disk-2.raw,iothread=1,size=2G vmgenid: 8de853d2-a9eb-4888-a3c6-b36d13896a96
ning kerneli rida
root@ubuntu-2204-vpp-01:~/20240813# cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-5.15.0-118-generic root=/dev/mapper/system-root ro default_hugepagesz=2M hugepagesz=2M hugepages=2048
kus
- tundub, et numa: 1 ega kerneli hugepages osakond ei ole tegelikult vajalik
- host cpu tüüp on vajalik
apt repo seadistuse lisamiseks sobib avada https://packagecloud.io/fdio/release ning pressida nupul 'Debian', tulemusena pakutakse kopeerida selline käsk
# curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.sh | bash
käsu andmise tulemusena tekitatakse muu hulgas nt selline apt seadistus Ubuntu 22.04 puhul
# ls -ld /etc/apt/sources.list.d/fdio_release.list /etc/apt/keyrings/fdio_release-archive-keyring.gpg -rw-r--r-- 1 root root 2823 Aug 12 22:26 /etc/apt/keyrings/fdio_release-archive-keyring.gpg -rw-r--r-- 1 root root 357 Aug 12 22:26 /etc/apt/sources.list.d/fdio_release.list # cat /etc/apt/sources.list.d/fdio_release.list deb [signed-by=/etc/apt/keyrings/fdio_release-archive-keyring.gpg] https://packagecloud.io/fdio/release/ubuntu/ jammy main deb-src [signed-by=/etc/apt/keyrings/fdio_release-archive-keyring.gpg] https://packagecloud.io/fdio/release/ubuntu/ jammy mai
vpp tarkvara põhiosa paigaldamiseks sobib öelda
# apt-get install vpp vpp-plugin-core vpp-plugin-dpdk .. Setting up vpp (24.06-release) ... * Applying /etc/sysctl.d/10-console-messages.conf ... kernel.printk = 4 4 1 7 * Applying /etc/sysctl.d/10-ipv6-privacy.conf ... net.ipv6.conf.all.use_tempaddr = 2 net.ipv6.conf.default.use_tempaddr = 2 * Applying /etc/sysctl.d/10-kernel-hardening.conf ... kernel.kptr_restrict = 1 * Applying /etc/sysctl.d/10-magic-sysrq.conf ... kernel.sysrq = 176 * Applying /etc/sysctl.d/10-network-security.conf ... net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.all.rp_filter = 2 * Applying /etc/sysctl.d/10-ptrace.conf ... kernel.yama.ptrace_scope = 1 * Applying /etc/sysctl.d/10-zeropage.conf ... vm.mmap_min_addr = 65536 * Applying /usr/lib/sysctl.d/50-default.conf ... kernel.core_uses_pid = 1 net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.default.accept_source_route = 0 sysctl: setting key "net.ipv4.conf.all.accept_source_route": Invalid argument net.ipv4.conf.default.promote_secondaries = 1 sysctl: setting key "net.ipv4.conf.all.promote_secondaries": Invalid argument net.ipv4.ping_group_range = 0 2147483647 net.core.default_qdisc = fq_codel fs.protected_hardlinks = 1 fs.protected_symlinks = 1 fs.protected_regular = 1 fs.protected_fifos = 1 * Applying /usr/lib/sysctl.d/50-pid-max.conf ... kernel.pid_max = 4194304 * Applying /etc/sysctl.d/80-vpp.conf ... vm.nr_hugepages = 1024 vm.max_map_count = 3096 vm.hugetlb_shm_group = 0 kernel.shmmax = 2147483648 * Applying /usr/lib/sysctl.d/99-protect-links.conf ... fs.protected_fifos = 1 fs.protected_hardlinks = 1 fs.protected_regular = 2 fs.protected_symlinks = 1 * Applying /etc/sysctl.d/99-sysctl.conf ... * Applying /etc/sysctl.conf ... Created symlink /etc/systemd/system/multi-user.target.wants/vpp.service → /lib/systemd/system/vpp.service. Setting up vpp-plugin-dpdk (24.06-release) ... Setting up vpp-plugin-core (24.06-release) ... ...
Mõisted
- SPP - Scalar Packet Processing
- FD.io - Fast Data input-output
Kasulikud lisamaterjalid
- https://lists.fd.io/g/vpp-dev/topic/106289140#msg24512
- https://toonk.io/kernel-bypass-networking-with-fd-io-and-vpp/
- https://www.youtube.com/watch?v=KXM4waZ4HLI
- https://www.youtube.com/watch?v=hO2tlxURXJ0
- https://www.netgate.com/tnsr
- https://www.intel.com/content/www/us/en/developer/articles/technical/an-overview-of-advanced-server-based-networking-technologies.html
- https://www.youtube.com/watch?v=1Ta4aqVXxrA
- https://ipng.ch/s/articles/2021/08/12/vpp-linux-cp-part1/
- https://ipng.ch/s/articles/2024/02/10/vpp-on-freebsd-part-1/
- https://ersei.net/en/blog/vector-packet-processing
- https://en.wikipedia.org/wiki/Vector_Packet_Processing