@@ -182,34 +182,34 @@ func networkCreateAction(cmd *cobra.Command, args []string) error {
182
182
if intf == "" {
183
183
return fmt .Errorf ("network mode %q requires specifying interface" , mode )
184
184
}
185
+ yq := fmt .Sprintf (`.networks.%q = {"mode":%q,"interface":%q}` , name , mode , intf )
186
+ return networkApplyYQ (yq )
185
187
default :
186
188
if gateway == "" {
187
189
return fmt .Errorf ("network mode %q requires specifying gateway" , mode )
188
190
}
189
191
if intf != "" {
190
192
return fmt .Errorf ("network mode %q does not support specifying interface" , mode )
191
193
}
192
- }
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
193
209
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 )
207
212
}
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
-
212
- return networkApplyYQ (yq )
213
213
}
214
214
215
215
func networkApplyYQ (yq string ) error {
0 commit comments