Skip to content

Commit 200792b

Browse files
committed
Fix vm freeze for invalid leases in user-v2
Signed-off-by: Balaji Vijayakumar <[email protected]>
1 parent e701cac commit 200792b

File tree

5 files changed

+6
-21
lines changed

5 files changed

+6
-21
lines changed

pkg/cidata/cidata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ func GenerateISO9660(instDir, name string, y *limayaml.LimaYAML, udpDNSLocalPort
146146
args.SlirpGateway = usernet.GatewayIP(subnet)
147147
args.SlirpDNS = usernet.GatewayIP(subnet)
148148
} else {
149-
subnet, err = usernet.ParseSubnet(networks.SlirpNetwork)
149+
subnet, _, err = net.ParseCIDR(networks.SlirpNetwork)
150150
if err != nil {
151151
return err
152152
}

pkg/networks/usernet/config.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,6 @@ func Subnet(name string) (net.IP, error) {
8484
return ipNet.IP, err
8585
}
8686

87-
// ParseSubnet converts subnet string to net.IP
88-
func ParseSubnet(subnet string) (net.IP, error) {
89-
subnetIP, _, err := net.ParseCIDR(subnet)
90-
if err != nil {
91-
return nil, err
92-
}
93-
return subnetIP, nil
94-
}
95-
9687
// GatewayIP returns the 2nd IP for the given subnet
9788
func GatewayIP(subnet net.IP) string {
9889
return cidr.Inc(cidr.Inc(subnet)).String()

pkg/networks/usernet/config_test.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,6 @@ import (
1010

1111
func TestUsernetConfig(t *testing.T) {
1212

13-
t.Run("parse subnet", func(t *testing.T) {
14-
subnet, err := ParseSubnet(networks.SlirpNetwork)
15-
if err != nil {
16-
t.Fatal(err)
17-
}
18-
assert.Equal(t, subnet.String(), "192.168.5.0")
19-
})
20-
2113
t.Run("verify dns ip", func(t *testing.T) {
2214
subnet, _, err := net.ParseCIDR(networks.SlirpNetwork)
2315
if err != nil {

pkg/networks/usernet/gvproxy.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ var (
4040
func StartGVisorNetstack(ctx context.Context, gVisorOpts *GVisorNetstackOpts) error {
4141
opts = gVisorOpts
4242

43-
ip, err := ParseSubnet(opts.Subnet)
43+
ip, ipNet, err := net.ParseCIDR(opts.Subnet)
4444
if err != nil {
4545
return err
4646
}
@@ -49,7 +49,9 @@ func StartGVisorNetstack(ctx context.Context, gVisorOpts *GVisorNetstackOpts) er
4949
leases := map[string]string{}
5050
if opts.DefaultLeases != nil {
5151
for k, v := range opts.DefaultLeases {
52-
leases[k] = v
52+
if ipNet.Contains(net.ParseIP(k)) {
53+
leases[k] = v
54+
}
5355
}
5456
}
5557
leases[gatewayIP] = "5a:94:ef:e4:0c:df"

pkg/vz/vm_darwin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ func startUsernet(ctx context.Context, driver *driver.BaseDriver) (*usernet.Clie
144144
if err != nil {
145145
return nil, err
146146
}
147-
subnetIP, err := usernet.ParseSubnet(networks.SlirpNetwork)
147+
subnetIP, _, err := net.ParseCIDR(networks.SlirpNetwork)
148148
return usernet.NewClient(endpointSock, subnetIP), err
149149
}
150150
nwName := driver.Yaml.Networks[firstUsernetIndex].Lima

0 commit comments

Comments
 (0)