# feat: Support hot-update for VPC guest bandwidth and improve cross-… #24015
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…platform compatibility
Description
This PR implements hot-updating of bandwidth limits for VPC guests and includes significant improvements for cross-platform development (macOS/Linux).
Key Changes
VPC Bandwidth Hot-Update:
pkg/hostman/guestman/qemu-kvm.goto explicitly detect changes in network interface bandwidth (Bw).generateNicScripts.SetNicUpto apply the new traffic control (TC) rules and OVS configuration immediately.Cross-Platform Compatibility (Zero-Failure Protocol):
_others.gofiles and standard//go:build linuxbuild tags across multiple packages (cgrouputils,iproute2,lbagent,snapshot_service) to resolve compilation errors on non-Linux systems.pkg/cloudproxy/agent/worker/worker.goto replace the Linux-specificnetlinklibrary with the standardnetlibrary, ensuring the agent compiles and runs on macOS.go test ./pkg/...on macOS environments.Related Issue
Testing
go test ./pkg/hostman/guestman/...- PASSEDgo test ./pkg/hostman/...- PASSEDSetNicUpflow.ovs-vsctlandtccommands are effectively updated without interrupting the VM instance.Checklist
What this PR does / why we need it:
Does this PR need to be backport to the previous release branch?: