all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Ryosuke Nakayama <ryosuke.nakayama@ryskn.com>
To: pve-devel@lists.proxmox.com
Subject: Re: [RFC PATCH 0/2] network: add VPP (fd.io) as alternative dataplane
Date: Tue, 17 Mar 2026 20:14:01 +0900	[thread overview]
Message-ID: <20260317111404.37254-1-ryosuke.nakayama@ryskn.com> (raw)
In-Reply-To: <e53eca603f839a2d07a8cf4a5bc5c09622736202.camel@groupe-cyllene.com>

On Mon, 2026-03-17, Alexandre wrote:
> Could it be possible to write a small Howto to install vpp
> software itself + bridge configuration ?

Sure! Also, I should clarify that the original two patches are not
sufficient on their own: a third patch for qemu-server is required to
make VMs actually connect to VPP via vhost-user. I have attached those
patches below (RFC, same caveats apply).

--- How to install VPP on Proxmox VE ---

1. Add the fd.io package repository:

   curl -fsSL https://packagecloud.io/fdio/release/gpgkey | \
     gpg --dearmor \
     -o /usr/share/keyrings/fdio-release.gpg

   echo "deb [signed-by=/usr/share/keyrings/fdio-release.gpg \
     trusted=yes] \
     https://packagecloud.io/fdio/release/debian bookworm main" \
     > /etc/apt/sources.list.d/fdio.list

   apt update

2. Install VPP and required plugins:

   apt install vpp vpp-plugin-core vpp-plugin-dpdk vpp-drivers

3. Configure /etc/vpp/startup.conf. The critical sections are:

   unix {
     nodaemon
     log /var/log/vpp/vpp.log
     cli-listen /run/vpp/cli.sock
     exec /etc/vpp/vpp-pve.conf
   }

   cpu {
     main-core 0
     corelist-workers 1,2
     scheduler-policy fifo
     scheduler-priority 50
   }

   Note: adjust cpu core pinning to your hardware. VPP uses polling
   threads, so dedicated cores are strongly recommended.

4. Enable and start VPP:

   systemctl enable --now vpp

--- Bridge domain creation ---

With the pve-manager patch applied, VPP bridge domains can be created
and managed via the Proxmox WebUI (Node > Network > Create >
VPP Bridge) or via the API.

Manually via vppctl:

   vppctl create bridge-domain 1 learn 1 forward 1 flood 1
   vppctl show bridge-domain 1

Note: bridge-domain 0 is reserved by VPP; use ID >= 1. The WebUI
will expose the bridge as "vppbr<ID>" (e.g. vppbr1).

--- Connecting a VM ---

With the qemu-server patch applied, setting a VM's NIC to a VPP
bridge (e.g. bridge=vppbr1) is sufficient. On VM start, Proxmox
will automatically:

  - create a vhost-user server socket at
    /var/run/vpp/qemu-<vmid>-<netN>.sock
  - add the resulting VirtualEthernet interface to the bridge domain
  - pass the socket to QEMU as a vhost-user chardev

On VM stop, the vhost-user interface is removed from VPP.

Example VM config (/etc/pve/qemu-server/100.conf):

   net0: virtio=AA:BB:CC:DD:EE:FF,bridge=vppbr1

No additional configuration is needed.

---

ryskn (2):
  qemu: add VPP vhost-user dataplane support
  qemu: VPP: clean up vhost-user interfaces on stop, fix tx_queue_size

 src/PVE/QemuServer.pm        | 174 ++++++++++++++++++++++++++++++++++-
 src/PVE/QemuServer/Memory.pm |  16 +++-
 2 files changed, 174 insertions(+), 39 deletions(-)



  reply	other threads:[~2026-03-17 11:14 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-16 22:28 Ryosuke Nakayama
2026-03-16 22:28 ` [RFC PATCH manager 1/2] api: network: add VPP (fd.io) dataplane bridge support Ryosuke Nakayama
2026-03-16 22:28 ` [RFC PATCH widget-toolkit 2/2] ui: network: add VPP (fd.io) bridge type support Ryosuke Nakayama
2026-03-17  6:39 ` [RFC PATCH 0/2] network: add VPP (fd.io) as alternative dataplane Stefan Hanreich
2026-03-17 10:18 ` DERUMIER, Alexandre
2026-03-17 11:14   ` Ryosuke Nakayama [this message]
2026-03-17 11:14     ` [RFC PATCH qemu-server 1/2] qemu: add VPP vhost-user dataplane support Ryosuke Nakayama
2026-03-17 11:14     ` [RFC PATCH qemu-server 2/2] qemu: VPP: clean up vhost-user interfaces on stop, fix tx_queue_size Ryosuke Nakayama
2026-03-17 11:26     ` [RFC PATCH qemu-server 1/2] qemu: add VPP vhost-user dataplane support Ryosuke Nakayama
2026-03-17 11:21 ` [RFC PATCH 0/2] network: add VPP (fd.io) as alternative dataplane Ryosuke Nakayama
2026-03-17 11:21   ` [RFC PATCH pve-common] network: add VPP bridge helpers for vhost-user dataplane Ryosuke Nakayama

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260317111404.37254-1-ryosuke.nakayama@ryskn.com \
    --to=ryosuke.nakayama@ryskn.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal