Skip to content

Commit efdc5de

Browse files
committed
fix: revert back to switch case from if
Signed-off-by: Dharsan <[email protected]>
1 parent c840a71 commit efdc5de

File tree

1 file changed

+26
-25
lines changed

1 file changed

+26
-25
lines changed

cmd/limactl/network.go

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,8 @@ func networkCreateAction(cmd *cobra.Command, args []string) error {
174174
return err
175175
}
176176

177-
if mode == networks.ModeBridged {
177+
switch mode {
178+
case networks.ModeBridged:
178179
if gateway != "" {
179180
return fmt.Errorf("network mode %q does not support specifying gateway", mode)
180181
}
@@ -183,32 +184,32 @@ func networkCreateAction(cmd *cobra.Command, args []string) error {
183184
}
184185
yq := fmt.Sprintf(`.networks.%q = {"mode":%q,"interface":%q}`, name, mode, intf)
185186
return networkApplyYQ(yq)
186-
}
187+
default:
188+
if gateway == "" {
189+
return fmt.Errorf("network mode %q requires specifying gateway", mode)
190+
}
191+
if intf != "" {
192+
return fmt.Errorf("network mode %q does not support specifying interface", mode)
193+
}
194+
if !strings.Contains(gateway, "/") {
195+
gateway += "/24"
196+
}
197+
gwIP, gwMask, err := net.ParseCIDR(gateway)
198+
if err != nil {
199+
return fmt.Errorf("failed to parse CIDR %q: %w", gateway, err)
200+
}
201+
if gwIP.IsUnspecified() || gwIP.IsLoopback() {
202+
return fmt.Errorf("invalid IP address: %v", gwIP)
203+
}
204+
gwMaskStr := "255.255.255.0"
205+
if gwMask != nil {
206+
gwMaskStr = net.IP(gwMask.Mask).String()
207+
}
208+
// TODO: check IP range collision
187209

188-
if gateway == "" {
189-
return fmt.Errorf("network mode %q requires specifying gateway", mode)
190-
}
191-
if intf != "" {
192-
return fmt.Errorf("network mode %q does not support specifying interface", mode)
193-
}
194-
if !strings.Contains(gateway, "/") {
195-
gateway += "/24"
196-
}
197-
gwIP, gwMask, err := net.ParseCIDR(gateway)
198-
if err != nil {
199-
return fmt.Errorf("failed to parse CIDR %q: %w", gateway, err)
200-
}
201-
if gwIP.IsUnspecified() || gwIP.IsLoopback() {
202-
return fmt.Errorf("invalid IP address: %v", gwIP)
203-
}
204-
gwMaskStr := "255.255.255.0"
205-
if gwMask != nil {
206-
gwMaskStr = net.IP(gwMask.Mask).String()
210+
yq := fmt.Sprintf(`.networks.%q = {"mode":%q,"gateway":%q,"netmask":%q,"interface":%q}`, name, mode, gwIP.String(), gwMaskStr, intf)
211+
return networkApplyYQ(yq)
207212
}
208-
// TODO: check IP range collision
209-
210-
yq := fmt.Sprintf(`.networks.%q = {"mode":%q,"gateway":%q,"netmask":%q,"interface":%q}`, name, mode, gwIP.String(), gwMaskStr, intf)
211-
return networkApplyYQ(yq)
212213
}
213214

214215
func networkApplyYQ(yq string) error {

0 commit comments

Comments
 (0)