Skip to content

<fix>[sdk]: ZSTAC-85916 host interface IPv6#4206

Open
ZStack-Robot wants to merge 60 commits into
5.5.16from
sync/shixin.ruan/shixin-ZSTAC-85916@@3
Open

<fix>[sdk]: ZSTAC-85916 host interface IPv6#4206
ZStack-Robot wants to merge 60 commits into
5.5.16from
sync/shixin.ruan/shixin-ZSTAC-85916@@3

Conversation

@ZStack-Robot

Copy link
Copy Markdown
Collaborator

ZSTAC-85916: add SDK parameter prefixLength for SetIpOnHostNetworkInterfaceAction.\n\nValidation:\n- git diff --check\n- mvn -pl sdk -DskipTests compile

sync from gitlab !10164

shixin.ruan and others added 30 commits May 21, 2026 12:36
Allow APIAddHost managementIp to accept IPv6 literals and canonicalize
them. Format KVM agent URLs with IPv6 brackets and cover add-host
validation with KVM IPv6 case.

Resolves: ZSTAC-79206

Change-Id: I6cdaabc8c7d7d62161565b5df6a02ecc61f787b2
Implement waterfall M1/M2 management network IPv6 support.

Resolves: ZSTAC-79206

Change-Id: Icfeba77200168f8ff05139824166243a87d4b10d
Use new VXLAN error code constants for remote VTEP invalid IP validation
so the new messages do not reuse existing ErrorCodes.

Resolves: ZSTAC-79206

Change-Id: Ibd6ea314eda79a25e56f3e75d13e0101ca0c4b44
Select appliance VM bootstrap managementNodeIp by VR management CIDR and
reject non-routable IPv6 management endpoints.

Resolves: ZSTAC-79206

Change-Id: If4f857d07b043519fc2f6a7b752246f35d0ced8e
Persist managementServerId across management IP changes and add
IPv6-safe REST URL helpers with focused coverage.

Resolves: ZSTAC-79206

Change-Id: I03d57df9dd199aba5875f1726cb5cc1cc4b1e32e
Add focused coverage for IPv4 and IPv6 management CIDR parsing from ip
address command output.

Resolves: ZSTAC-79206

Change-Id: Id3776bc971679c3e1b88f14b1f8a19ced6621098
Add focused management IPv6 coverage for NFS URL parsing, Ceph mon URL
parsing, and VXLAN VTEP validation.

Resolves: ZSTAC-79206

Change-Id: Ia2925ec043a3b2be4d1e3b921ad285a8aebc9aed
Add focused IPv6 coverage for KVM extra IP CIDR selection used by data
and migration network paths.

Resolves: ZSTAC-79206

Change-Id: I03ea5987d0e4ebc4fdd78dc261297baaf12d0832
Add focused ApplianceVm IPv6 bootstrap JSON tests for MN IP and CIDR
fields.

Resolves: ZSTAC-79206

Change-Id: Icdbe40c69af9306eb2663a12031774c1b4c64195
Avoid lambda bytecode that blocks KvmHostIpv6Case initialization before
IPv6 assertions.

Resolves: ZSTAC-79206

Change-Id: I2d1fdced05d1127f6414e4ae0adc491e10b23d7d
Add focused coverage for host management IPv6 canonicalization and
invalid endpoint detection without starting the full KVM Spring harness.

Resolves: ZSTAC-79206

Change-Id: I731c2168a22e5b52f993319f21835ca9a456a76b
Add API and DB assertions for IPv6 remote VXLAN VTEP creation and
invalid remote VTEP rejection.

Resolves: ZSTAC-79206

Change-Id: Ieb2368b5f4a274bcad5b192003ac051ae4179552
Avoid relying only on Configurable injection for GlobalConfig instances
created during GlobalConfigFacadeImpl startup.

Resolves: ZSTAC-79206

Change-Id: I3f975fc23240d88ba08dc870220277cc065f7cfb
Make startup-only objects use explicit facades instead of AspectJ
injection during unit tests.

Move allocator and VM flow extension lookup to runtime to avoid early
plugin registry access.

Allow IPv6 remote VTEP addresses through API and SDK validation and
cover host/VTEP IPv6 cases.

Verification:
- mvn -Dtest=KvmHostIpv6Case test
- mvn -Dtest=AddRemoteVxlanVtepIpCase test
- ./runMavenProfile premium

Change-Id: I0146cfab99160e1f784170d051444e4fec69ad83

Related: ZSTAC-79206
Split invalid host management endpoint and reserved IPv6 validation into
separate global error codes.

Wire Q.New with an explicit DatabaseFacade to avoid startup-time AspectJ
injection dependency during tests.

Verification:
- ./runMavenProfile premium
- mvnTest -Dtest=HostApiInterceptorIpv6Case
- mvnTest -Dtest=KvmHostIpv6Case

Change-Id: I1d575fca0d2fdbb5f6574fc60c7e0ac7a8a2096a

Related: ZSTAC-79206
Make KVM extra IP CIDR selection fail soft for blank or malformed
agent-reported addresses, preserving management IP fallback semantics.

Verification:
- mvn -f plugin/kvm/pom.xml -DskipTests install
- mvnTest -Dtest=ManagementNetworkIpv6Case

Change-Id: Ic7e3b9d2fb3073d68c0f37c32b46cdeb25edcf2b

Related: ZSTAC-79206
Codex review found F-002 requires management server IP selection to
ignore loopback and link-local addresses. Add the missing guard and
focused coverage.

Change-Id: Id638e90188b15d9e185495fdd0882f6cfa08a493

Related: ZSTAC-79206
Codex review found the KVM host TCP connection checker still bound to an
IPv4-only wildcard and parsed remote addresses by splitting on colon.
This breaks IPv6 host management connections.

Use wildcard bind and parse InetSocketAddress directly so IPv6 addresses
are preserved and normalized.

Change-Id: Ib7d448af7d80d341d2115320ea67a92e2287f1dd

Related: ZSTAC-79206
Format console, KVM VNC, and legacy HTTP helper URLs with bracketed IPv6
hosts.

Resolves: ZSTAC-79206

Change-Id: I202dfd4feca366e2badf88f16d1423dea304aa41
ZSTAC-79206

Change-Id: Ie9c04ecf5b6778c1acdc4900e8726fcd8ae3d81e

Related: ZSTAC-79206
ZSTAC-79206

Change-Id: I165d7c0183291574588e3ede9aae3c71ce0ffa2e

Related: ZSTAC-79206
ZSTAC-79206

Change-Id: I92d84c8d9521ebfd87b749145f80211db4ac88f5

Related: ZSTAC-79206
Resolves: ZSTAC-79206

Change-Id: I6b47c3a551747faa651e62061c3c11654ac4e183
Resolves: ZSTAC-79206

Change-Id: I4afbbd5db032c177cd901006137becac514fda8f
Resolves: ZSTAC-79206

Change-Id: I807340f81675456e6a13505ffda42b89cd1f16cb
Keep management IPv6 cases compatible with stability tests.

Resolves: ZSTAC-79206

Change-Id: I2da8cebf2d0311d56ae560c10a2e6736ad3b74da
Regenerate SDK after VTEP endpoint schema changes.

Resolves: ZSTAC-79206

Change-Id: I2ecf2c40b55a0f76331d95f07237dd7c79206f10
Mark the framework failure sentinel case as skipped.

It should not be collected by normal UnitTest suites.

Related: ZSTAC-79206

Change-Id: I11397fd127f414aba776456c7f706ee066b6da01
…ment-network'

management network IPv6 waterfall M1/M2

See merge request zstackio/zstack!9932
Register management.server/prefer.ipv6 as a GlobalConfig so
QueryGlobalConfig and runtime updates work. Keep the startup system
property override and fall back to the legacy global property before
GlobalConfig is available.

Resolves: ZSTAC-85520

Change-Id: Ia59515ce9a9a29eeecb9b5ab7d83057823089884
shixin.ruan and others added 27 commits May 28, 2026 01:18
Console proxy returned the MN IPv6 address to clients but selected the
listen address from agentIp, which is 127.0.0.1 for the management-node
agent. Use the client-facing proxy hostname to choose the wildcard
listen address so IPv6 console URLs are reachable.

Resolves: ZSTAC-85595

Change-Id: Ief18c9b847f0e0c050ce993a50244533614fd2b8
Fixes ZSTAC-85605 and ZSTAC-85612.

SSH keeps raw IPv6 hosts while SCP brackets IPv6 paths.
Ansible callback checker now passes -6 for IPv6 nc and nmap.
Hotfix verified on 172.24.249.182.

Resolves: ZSTAC-79206

Change-Id: Iaa7204e638335c7bf1496b2cd5e0314081e598cb
VXLAN CIDR system tags can contain IPv6 values with double colon. Split
tag fields only outside token braces so patterned tag matching and
token extraction keep IPv6 CIDRs intact.

Resolves: ZSTAC-85618

Change-Id: Ie74a3ac89e1d728953bcaab74146d25e7a7e2edc
Remove the customer-facing management.server.prefer.ipv6 switch.\n\nUse
explicit management.server.ip first. When it is not configured, keep
IPv4 as the default and fall back to IPv6 only if no IPv4 is
available.\n\nWaterfall CR: ZSTAC-79206 CR-001

Change-Id: I14e3e6b3fdad2e4e109d4f9c9f3f344356866762
Build KVM agent HTTP URLs through the IPv6-safe host formatter so live
migration cleanup and migrate calls bracket IPv6 host addresses.

Resolves: ZSTAC-85636

Change-Id: I0c9fa1eecf7d6eef778cbb4568123d7bd3a836ec
Allow patterned system tag values to contain IPv6 token text.
Use dual-stack CIDR matching for migration network selection.
Add focused management IPv6 regression assertions.

Resolves: ZSTAC-85638

Change-Id: I32f3d1111aa3358fd26da6a3afb23111154f9058
Use a callback URL in the same IP family as the virtual router
management NIC. This keeps IPv4-only vrouter agents reachable when MN
is dual-stack and its default management IP is IPv6.

Resolves: ZSTAC-85527

Change-Id: Iaa630fc59d30c2675db7bbe47cb1b7c8d58bb023
Console proxy returned the MN IPv6 address to clients but selected the
listen address from agentIp, which is 127.0.0.1 for the management-node
agent. Use the client-facing proxy hostname to choose the wildcard
listen address so IPv6 console URLs are reachable.

Resolves: ZSTAC-85595

Change-Id: Ief18c9b847f0e0c050ce993a50244533614fd2b8
Add Javadoc for newly added callback URL interface methods per review.

Resolves: ZSTAC-85504

Change-Id: Ia72206f1275f7c4e4c278bff4fb29e63c8fbf55b
…-management-network'

<fix>[mgt-ipv6]: merge zstack IPv6 management fixes

See merge request zstackio/zstack!10042
Resolves: ZSTAC-79206

Change-Id: I485bade7bd875e2b492174f4c2e7e710fee1c0b3
Fixes ZSTAC-85690.\n\nAllow IPv6 ranges on System L3 networks for
management network IPv6.\nAlso allow virtual router offerings to use
IPv6 management L3.

Change-Id: If46c0ab86c018f72d0138df6363689f85dbecaeb
Parse system tag delimiters only outside token braces when matching
actual tag values.

Resolves: ZSTAC-85618

Change-Id: I7d0a9cf3146a513e56ba0d6d3bff3685bc4716e0
Format IPv6 vRouter agent URLs with brackets and select the MN callback
source IP from the route to the agent.\n\nAlso expose local
non-loopback IPs to appliance VM bootstrap selection so dual-stack MNs
can provide an IPv6 managementNodeIp while keeping management.server.ip
on IPv4.

Resolves: ZSTAC-85692

Change-Id: If1612db0b39389084a0501fa1065b15cac1d9990
Merge latest feature branch and keep IPv6 vRouter callback URL behavior.

Resolves: ZSTAC-79206

Change-Id: I67d1c41833cc649b12239223f2449bf297fadad7
Keep getManagementServerIps narrow and use explicit local fallback only
for appliance VM bootstrap CIDR selection.

Resolves: ZSTAC-79206

Change-Id: Ib90e405fcef57b0dcbe03703ddcf2fe92682745b
…ment-network'

<fix>[core]: register IPv6 prefer config

See merge request zstackio/zstack!10050
ReconnectHost TLS cert SAN check now includes Host extraIps before
choosing whether to redeploy certs. This keeps IPv6 migration extraIps
covered by qemu/libvirt certificates.

Resolves: ZSTAC-85638

Change-Id: I41c45203d606742bec0085af60f64e7bf085cf12
…Pv6-management-network'

ZSTAC-85638 include extraIps in KVM TLS cert check

See merge request zstackio/zstack!10051
Only System L3 management networks reject mixed IPv4 and IPv6 ranges.
Normal service L3 dual-stack behavior is unchanged.

Resolves: ZSTAC-85709

Change-Id: I2076e6ab924848bbfc509bea1477c82017c18ecf
…t-network'

ZSTAC-85709 reject mixed management IP ranges

See merge request zstackio/zstack!10072
Jira: ZSTAC-85711

Change-Id: I43bc2b35d033f2f82ee2c7e6c6b43dcc2dfcbf82
Jira: ZSTAC-85711

Verify:
- mvn -pl core -DskipTests compile
- mvnTest -Dtest=ManagementNetworkIpv6Case blocked before test methods
by local GlobalConfig transaction startup error

Change-Id: I0f3c094abf49b99d9104dbbf16a64da83c77ed03
Jira: ZSTAC-85711

Verify:
- mvn -pl core -DskipTests compile

Change-Id: Iecac893d032b76cf86218ca9cbbb0f72b8ecd9aa
…ment-network'

<fix>[mgt-ipv6]: support confirmed ip family change

See merge request zstackio/zstack!10121
Use bracketed IPv6 for Flyway JDBC URLs. Keep raw IPv6 for mysql CLI hosts.

Resolves: ZSTAC-85731

Change-Id: I98c0b86622840f3e2a3780a62325113bf1ed9369
…Pv6-management-network'

<fix>[install]: ZSTAC-85731 support IPv6 JDBC host

See merge request zstackio/zstack!10134
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@MatheMatrix, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 10 minutes and 45 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 6f741afc-3b54-4f60-adf9-14d32f55d675

📥 Commits

Reviewing files that changed from the base of the PR and between 39840be and 5329923.

📒 Files selected for processing (80)
  • compute/src/main/java/org/zstack/compute/allocator/HostAllocatorManagerImpl.java
  • compute/src/main/java/org/zstack/compute/allocator/TagAllocatorFlow.java
  • compute/src/main/java/org/zstack/compute/host/HostApiInterceptor.java
  • compute/src/main/java/org/zstack/compute/vm/VmCreateOnHypervisorFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourceForChangeImageFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourcePostFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmInstantiateResourcePreFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmReleaseResourceFlow.java
  • compute/src/main/java/org/zstack/compute/vm/VmStartOnHypervisorFlow.java
  • conf/deploydb.sh
  • conf/deployuidb.sh
  • console/src/main/java/org/zstack/console/ConsoleManagerImpl.java
  • console/src/main/java/org/zstack/console/ConsoleProxyBase.java
  • core/src/main/java/org/zstack/core/Platform.java
  • core/src/main/java/org/zstack/core/agent/AgentManagerImpl.java
  • core/src/main/java/org/zstack/core/ansible/AnsibleRunner.java
  • core/src/main/java/org/zstack/core/ansible/CallBackNetworkChecker.java
  • core/src/main/java/org/zstack/core/cloudbus/CloudBusImpl3.java
  • core/src/main/java/org/zstack/core/config/GlobalConfig.java
  • core/src/main/java/org/zstack/core/config/GlobalConfigConstant.java
  • core/src/main/java/org/zstack/core/config/GlobalConfigFacadeImpl.java
  • core/src/main/java/org/zstack/core/db/DatabaseFacadeImpl.java
  • core/src/main/java/org/zstack/core/db/GLock.java
  • core/src/main/java/org/zstack/core/db/Q.java
  • core/src/main/java/org/zstack/core/db/SimpleQueryImpl.java
  • core/src/main/java/org/zstack/core/rest/RESTFacadeImpl.java
  • core/src/main/java/org/zstack/core/timeout/ApiTimeoutManagerImpl.java
  • header/src/main/java/org/zstack/header/rest/RESTFacade.java
  • network/src/main/java/org/zstack/network/l3/L3NetworkApiInterceptor.java
  • plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmConstant.java
  • plugin/applianceVm/src/main/java/org/zstack/appliancevm/ApplianceVmFacadeImpl.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/MonUri.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMetaDataMaker.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/backup/CephBackupStorageMonBase.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageBase.java
  • plugin/ceph/src/main/java/org/zstack/storage/ceph/primary/CephPrimaryStorageMonBase.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMConsoleHypervisorBackend.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHost.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostFactory.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KVMHostUtils.java
  • plugin/kvm/src/main/java/org/zstack/kvm/KvmHostIpmiPowerExecutor.java
  • plugin/nfsPrimaryStorage/src/main/java/org/zstack/storage/primary/nfs/NfsApiParamChecker.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouter.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterApiInterceptor.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManager.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/VirtualRouterManagerImpl.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/lifecycle/VirtualRouterDeployAgentFlow.java
  • plugin/virtualRouterProvider/src/main/java/org/zstack/network/service/virtualrouter/vyos/VyosConnectFlow.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APICreateVxlanPoolRemoteVtepMsg.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/APIDeleteVxlanPoolRemoteVtepMsg.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanNetworkPoolConstant.java
  • plugin/vxlan/src/main/java/org/zstack/network/l2/vxlan/vxlanNetworkPool/VxlanPoolApiInterceptor.java
  • plugin/zbs/src/main/java/org/zstack/storage/zbs/MdsUri.java
  • plugin/zbs/src/main/java/org/zstack/storage/zbs/ZbsAgentUrl.java
  • resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfig.java
  • resourceconfig/src/main/java/org/zstack/resourceconfig/ResourceConfigFacadeImpl.java
  • sdk/src/main/java/org/zstack/sdk/CreateVxlanPoolRemoteVtepAction.java
  • sdk/src/main/java/org/zstack/sdk/DeleteVxlanPoolRemoteVtepAction.java
  • sdk/src/main/java/org/zstack/sdk/SetIpOnHostNetworkInterfaceAction.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageFeatureAllocatorFlow.java
  • storage/src/main/java/org/zstack/storage/primary/PrimaryStorageTagAllocatorFlow.java
  • test/src/test/groovy/org/zstack/compute/host/HostApiInterceptorIpv6Case.groovy
  • test/src/test/groovy/org/zstack/kvm/KVMHostFactoryIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/appliancevm/ApplianceVmIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/console/ConsoleProxyCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/core/ManagementNetworkIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/core/MustFailCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/kvm/host/KvmHostIpv6Case.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/l3network/ipv6/Ipv6RangeCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/network/vxlanNetwork/AddRemoteVxlanVtepIpCase.groovy
  • test/src/test/groovy/org/zstack/test/integration/storage/primary/addon/zbs/ZbsPrimaryStorageCase.groovy
  • test/src/test/java/org/zstack/test/kvm/KVMHostUtilsTest.java
  • utils/src/main/java/org/zstack/utils/TagUtils.java
  • utils/src/main/java/org/zstack/utils/URLBuilder.java
  • utils/src/main/java/org/zstack/utils/clouderrorcode/CloudOperationsErrorCode.java
  • utils/src/main/java/org/zstack/utils/network/IPv6NetworkUtils.java
  • utils/src/main/java/org/zstack/utils/network/NetworkUtils.java
  • utils/src/main/java/org/zstack/utils/ssh/Ssh.java
  • utils/src/main/java/org/zstack/utils/ssh/SshShell.java
  • utils/src/main/java/org/zstack/utils/zsha2/ZSha2Helper.java

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Could not fetch remote config from http://open.zstack.ai:20001/code-reviews/zstack-cloud.yaml: TimeoutError: The operation was aborted due to timeout
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

功能总结

在 SetIpOnHostNetworkInterfaceAction 操作类中新增可选参数 prefixLength,用于设置主机网络接口时传递 IP 前缀长度,该参数使用 @Param 注解并约束取值范围为 0 到 128。

变更详情

IP 配置参数扩展

层级 / 文件 说明
前缀长度参数声明
sdk/src/main/java/org/zstack/sdk/SetIpOnHostNetworkInterfaceAction.java
新增 prefixLength 字段作为可选参数,使用 @Param 注解添加数值范围约束(0L 至 128L),用于在设置主机网络接口 IP 时指定前缀长度。

代码审查工作量估计

🎯 1 (微不足道) | ⏱️ ~3 分钟

诗句

一个参数悄然而至,
前缀长度有了约束,
从零到一百二十八,
网络接口更加智慧。🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed 标题清晰明确地说明了主要变更内容,即为 SDK 添加 IPv6 支持的相关修复。
Description check ✅ Passed 描述与变更集相关,解释了为 SetIpOnHostNetworkInterfaceAction 添加 prefixLength 参数以支持 IPv6 配置。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sync/shixin.ruan/shixin-ZSTAC-85916@@3

Comment @coderabbitai help to get the list of available commands and usage tips.

Expose prefixLength in SetIpOnHostNetworkInterfaceAction for IPv6 host
interface configuration.

Resolves: ZSTAC-85916

Change-Id: I982cf6d0c965bdffdd5b5e84f74a43355b986ce6
@MatheMatrix MatheMatrix force-pushed the sync/shixin.ruan/shixin-ZSTAC-85916@@3 branch from 39840be to 5329923 Compare June 9, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants