From: Stefan Hanreich <s.hanreich@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox{-ve-rs, , -backup, -firewall, -network-interface-pinning} v5 00/10] proxmox-network-interface-pinning
Date: Mon, 4 Aug 2025 18:24:34 +0200 [thread overview]
Message-ID: <20250804162448.607184-1-s.hanreich@proxmox.com> (raw)
Introduce the proxmox-network-interface-pinning tool for PBS, written in Rust.
I basically had to do the same changes to the network stack in PBS, that I
already had to do for Proxmox VE:
* use ip link for determining physical interfaces in the network configuration
stack
* move metric collection over to this new method as well
In the process I moved the existing functions for querying 'ip link', that were
already used by the firewall, to proxmox-network-api which seems like a better
fit than proxmox-ve-config (which was only a temporary solution anyway). While I
was at it, I also added support for reading altnames to proxmox-network-api,
analogous to Proxmox VE.
I also decided to move PBS over to the implementations contained in
proxmox-network-api, but if this is considered too drastic a change so close to
a release (I'm torn myself), then it should be trivial to revert those changes
and implement / copy-paste everything to the respective projects instead.
Updated backport branches are available on my staff repos.
Changes from v4:
* incorporate changes from @Wolfgang (thanks for the review!)
* fix bug with one kind of VLAN devices not getting renamed (ensX.123)
this required some serious refactoring in the rename_interfaces method (also
removed Tested-by from some commits because of this).
Changes from v3: (Thanks @Christian for testing!):
* rebase on top of current master branches
* include altname information in config returned by proxmox-network-api
* display altnames of network interfaces in PBS UI
* add documentation for proxmox-network-interface-pinning to PBS docs
* add some documentation for the proxmox-network-interface-pinning source code
* properly sort interfaces before generating an InterfaceMapping
Changes from v2:
* fix debian/control files
Changes from v1:
* remove Cargo.lock from proxmox-network-interface-pinning initial commit
* change path for Proxmox VE pinning tool to /usr/libexec
* install this tool to /usr/bin instead
proxmox-backup depends on proxmox-network-api
proxmox-firewall depends on proxmox-network-api
proxmox-network-interface-pinning depends on proxmox-network-api
proxmox-ve-rs:
Stefan Hanreich (1):
host: network: move to proxmox-network-api
proxmox-ve-config/src/host/mod.rs | 1 -
proxmox-ve-config/src/host/network.rs | 35 ---------------------------
2 files changed, 36 deletions(-)
delete mode 100644 proxmox-ve-config/src/host/network.rs
proxmox:
Stefan Hanreich (3):
pbs-api-types: use proxmox-network-api types
proxmox-network-api: use ip link for querying interface information
network-api: add rename_interfaces method
Cargo.toml | 1 +
pbs-api-types/src/lib.rs | 3 -
pbs-api-types/src/network.rs | 345 -----------------------
pbs-api-types/src/traffic_control.rs | 6 +-
proxmox-network-api/Cargo.toml | 2 +
proxmox-network-api/debian/control | 8 +-
proxmox-network-api/src/api_types.rs | 20 +-
proxmox-network-api/src/config/helper.rs | 158 +++++++----
proxmox-network-api/src/config/mod.rs | 84 +++++-
proxmox-network-api/src/config/parser.rs | 39 ++-
10 files changed, 235 insertions(+), 431 deletions(-)
delete mode 100644 pbs-api-types/src/network.rs
proxmox-backup:
Stefan Hanreich (4):
config: network: move to proxmox-network-api
metric_collection: use ip link for determining the type of interfaces
docs: add documentation for proxmox-network-interface-pinning
ui: show altnames
Cargo.toml | 5 +
debian/control | 3 +
docs/network-management.rst | 55 ++
pbs-config/src/lib.rs | 10 +-
pbs-config/src/network/helper.rs | 223 -----
pbs-config/src/network/lexer.rs | 136 ---
pbs-config/src/network/mod.rs | 687 ---------------
pbs-config/src/network/parser.rs | 846 -------------------
src/api2/node/network.rs | 13 +-
src/bin/proxmox-backup-api.rs | 3 +-
src/bin/proxmox-backup-manager.rs | 1 +
src/bin/proxmox-backup-proxy.rs | 1 +
src/bin/proxmox_backup_manager/network.rs | 14 +-
src/server/metric_collection/mod.rs | 87 +-
src/server/metric_collection/pull_metrics.rs | 5 +-
src/server/metric_collection/rrd.rs | 5 +-
www/SystemConfiguration.js | 1 +
17 files changed, 170 insertions(+), 1925 deletions(-)
delete mode 100644 pbs-config/src/network/helper.rs
delete mode 100644 pbs-config/src/network/lexer.rs
delete mode 100644 pbs-config/src/network/mod.rs
delete mode 100644 pbs-config/src/network/parser.rs
proxmox-firewall:
Stefan Hanreich (1):
firewall: config: use proxmox-network-api
proxmox-firewall/Cargo.toml | 3 +-
proxmox-firewall/src/config.rs | 33 ++++++---------------
proxmox-firewall/tests/integration_tests.rs | 8 ++---
3 files changed, 14 insertions(+), 30 deletions(-)
proxmox-network-interface-pinning:
Stefan Hanreich (1):
initial commit
Summary over all repositories:
32 files changed, 419 insertions(+), 2422 deletions(-)
--
Generated by git-murpp 0.8.0
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
next reply other threads:[~2025-08-04 16:23 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-04 16:24 Stefan Hanreich [this message]
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-ve-rs v5 1/1] host: network: move to proxmox-network-api Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox v5 1/3] pbs-api-types: use proxmox-network-api types Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox v5 2/3] proxmox-network-api: use ip link for querying interface information Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox v5 3/3] network-api: add rename_interfaces method Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-backup v5 1/4] config: network: move to proxmox-network-api Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-backup v5 2/4] metric_collection: use ip link for determining the type of interfaces Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-backup v5 3/4] docs: add documentation for proxmox-network-interface-pinning Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-backup v5 4/4] ui: show altnames Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-firewall v5 1/1] firewall: config: use proxmox-network-api Stefan Hanreich
2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-network-interface-pinning v5 1/1] initial commit Stefan Hanreich
2025-08-05 10:34 ` [pbs-devel] applied-series: [PATCH proxmox{-ve-rs, , -backup, -firewall, -network-interface-pinning} v5 00/10] proxmox-network-interface-pinning Wolfgang Bumiller
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=20250804162448.607184-1-s.hanreich@proxmox.com \
--to=s.hanreich@proxmox.com \
--cc=pbs-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.