all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox{-ve-rs, , -backup, -firewall, -network-interface-pinning} v5 00/10] proxmox-network-interface-pinning
@ 2025-08-04 16:24 Stefan Hanreich
  2025-08-04 16:24 ` [pbs-devel] [PATCH proxmox-ve-rs v5 1/1] host: network: move to proxmox-network-api Stefan Hanreich
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Stefan Hanreich @ 2025-08-04 16:24 UTC (permalink / raw)
  To: pbs-devel

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


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-08-05 10:33 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-08-04 16:24 [pbs-devel] [PATCH proxmox{-ve-rs, , -backup, -firewall, -network-interface-pinning} v5 00/10] proxmox-network-interface-pinning Stefan Hanreich
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

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