Skip to content

Commit 9e688de

Browse files
committed
incusd/network/ovn: Correctly remove individual DHCP options from OVN when they are unset
Signed-off-by: Gwendolyn <[email protected]>
1 parent f25f691 commit 9e688de

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

internal/server/network/ovn/ovn_nb_actions.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -1255,14 +1255,18 @@ func (o *NB) UpdateLogicalSwitchDHCPv4Options(ctx context.Context, switchName OV
12551255

12561256
if opts.Router != nil {
12571257
dhcpOption.Options["router"] = opts.Router.String()
1258+
} else {
1259+
delete(dhcpOption.Options, "router")
12581260
}
12591261

12601262
if len(opts.DNSSearchList) > 0 {
12611263
// Special quoting to allow domain names.
12621264
dhcpOption.Options["domain_search_list"] = fmt.Sprintf(`"%s"`, strings.Join(opts.DNSSearchList, ","))
1265+
} else {
1266+
delete(dhcpOption.Options, "domain_search_list")
12631267
}
12641268

1265-
if opts.RecursiveDNSServer != nil {
1269+
if len(opts.RecursiveDNSServer) > 0 {
12661270
nsIPs := make([]string, 0, len(opts.RecursiveDNSServer))
12671271
for _, nsIP := range opts.RecursiveDNSServer {
12681272
if nsIP.To4() == nil {
@@ -1273,19 +1277,27 @@ func (o *NB) UpdateLogicalSwitchDHCPv4Options(ctx context.Context, switchName OV
12731277
}
12741278

12751279
dhcpOption.Options["dns_server"] = fmt.Sprintf("{%s}", strings.Join(nsIPs, ","))
1280+
} else {
1281+
delete(dhcpOption.Options, "dns_server")
12761282
}
12771283

12781284
if opts.DomainName != "" {
12791285
// Special quoting to allow domain names.
12801286
dhcpOption.Options["domain_name"] = fmt.Sprintf(`"%s"`, opts.DomainName)
1287+
} else {
1288+
delete(dhcpOption.Options, "domain_name")
12811289
}
12821290

12831291
if opts.MTU > 0 {
12841292
dhcpOption.Options["mtu"] = fmt.Sprintf("%d", opts.MTU)
1293+
} else {
1294+
delete(dhcpOption.Options, "mtu")
12851295
}
12861296

12871297
if opts.Netmask != "" {
12881298
dhcpOption.Options["netmask"] = opts.Netmask
1299+
} else {
1300+
delete(dhcpOption.Options, "netmask")
12891301
}
12901302

12911303
if opts.StaticRoutes != "" {

0 commit comments

Comments
 (0)