@@ -1393,9 +1393,22 @@ handle_address_option_label(NetplanParser* npp, yaml_node_t* node, const void* d
1393
1393
return handle_generic_str (npp , node , npp -> current .addr_options , data , error );
1394
1394
}
1395
1395
1396
+ STATIC gboolean
1397
+ handle_address_option_duplicate_address_detection (NetplanParser * npp , yaml_node_t * node , const void * data , GError * * error )
1398
+ {
1399
+ if (g_ascii_strcasecmp (scalar (node ), "ipv4" ) != 0 &&
1400
+ g_ascii_strcasecmp (scalar (node ), "ipv6" ) != 0 &&
1401
+ g_ascii_strcasecmp (scalar (node ), "both" ) != 0 &&
1402
+ g_ascii_strcasecmp (scalar (node ), "none" ) != 0 ) {
1403
+ return yaml_error (npp , node , error , "invalid duplicate-address-detection value '%s'" , scalar (node ));
1404
+ }
1405
+ return handle_generic_str (npp , node , npp -> current .addr_options , data , error );
1406
+ }
1407
+
1396
1408
const mapping_entry_handler address_option_handlers [] = {
1397
1409
{"lifetime" , YAML_SCALAR_NODE , {.generic = handle_address_option_lifetime }, addr_option_offset (lifetime )},
1398
1410
{"label" , YAML_SCALAR_NODE , {.generic = handle_address_option_label }, addr_option_offset (label )},
1411
+ {"duplicate-address-detection" , YAML_SCALAR_NODE , {.generic = handle_address_option_duplicate_address_detection }, addr_option_offset (duplicate_address_detection )},
1399
1412
{NULL }
1400
1413
};
1401
1414
0 commit comments