diff --git a/pkg/compute/models/networks.go b/pkg/compute/models/networks.go index 0080b274d8..767a86deb8 100644 --- a/pkg/compute/models/networks.go +++ b/pkg/compute/models/networks.go @@ -95,11 +95,11 @@ type SNetwork struct { IfnameHint string `width:"9" charset:"ascii" nullable:"true" list:"user" create:"optional"` // 起始IP地址 - GuestIpStart string `width:"16" charset:"ascii" nullable:"false" list:"user" update:"user" create:"optional"` + GuestIpStart string `width:"16" charset:"ascii" nullable:"true" list:"user" update:"user" create:"optional"` // 结束IP地址 - GuestIpEnd string `width:"16" charset:"ascii" nullable:"false" list:"user" update:"user" create:"optional"` + GuestIpEnd string `width:"16" charset:"ascii" nullable:"true" list:"user" update:"user" create:"optional"` // 掩码 - GuestIpMask int8 `nullable:"false" list:"user" update:"user" create:"optional"` + GuestIpMask int8 `nullable:"true" list:"user" update:"user" create:"optional"` // 网关地址 GuestGateway string `width:"16" charset:"ascii" nullable:"true" list:"user" update:"user" create:"optional"` // DNS, allow multiple dns, seperated by "," @@ -2741,6 +2741,10 @@ func (manager *SNetworkManager) ListItemFilter( ipConst := sqlchemy.INET_ATON(q.StringField(ip4Addr.String())) ipCondtion = sqlchemy.AND( + sqlchemy.IsNotNull(q.Field("guest_ip_start")), + sqlchemy.IsNotNull(q.Field("guest_ip_end")), + sqlchemy.IsNotEmpty(q.Field("guest_ip_start")), + sqlchemy.IsNotEmpty(q.Field("guest_ip_end")), sqlchemy.GE(ipEnd, ipConst), sqlchemy.LE(ipStart, ipConst), ) @@ -2759,6 +2763,10 @@ func (manager *SNetworkManager) ListItemFilter( ipConst := sqlchemy.INET6_ATON(q.StringField(ip6Addr.String())) ipCondtion = sqlchemy.AND( + sqlchemy.IsNotNull(q.Field("guest_ip6_start")), + sqlchemy.IsNotNull(q.Field("guest_ip6_end")), + sqlchemy.IsNotEmpty(q.Field("guest_ip6_start")), + sqlchemy.IsNotEmpty(q.Field("guest_ip6_end")), sqlchemy.GE(ipEnd, ipConst), sqlchemy.LE(ipStart, ipConst), )