pldm: Removing default string length

Removing default string length from BIOS json configuration
files.

String BIOS attributes defined in BIOS configuration json file
contains "default_string_length". Providing default string length
manually is error prone. As String length can be calculated and
populated easily in the code, removing json support for
default_string_length.

Tested: Power on/off
        Gtests passed.

Change-Id: I7604d8ccedd60a39ba07e1df67ff5712f31e7f6e
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/libpldmresponder/bios_string_attribute.cpp b/libpldmresponder/bios_string_attribute.cpp
index d52cdc4..d55c99a 100644
--- a/libpldmresponder/bios_string_attribute.cpp
+++ b/libpldmresponder/bios_string_attribute.cpp
@@ -33,8 +33,9 @@
 
     stringInfo.minLength = entry.at("minimum_string_length");
     stringInfo.maxLength = entry.at("maximum_string_length");
-    stringInfo.defLength = entry.at("default_string_length");
     stringInfo.defString = entry.at("default_string");
+    stringInfo.defLength =
+        static_cast<uint16_t>((stringInfo.defString).length());
 
     pldm_bios_table_attr_entry_string_info info = {
         0,
diff --git a/libpldmresponder/test/bios_jsons/bios_attrs.json b/libpldmresponder/test/bios_jsons/bios_attrs.json
index f02b788..0a4dd69 100644
--- a/libpldmresponder/test/bios_jsons/bios_attrs.json
+++ b/libpldmresponder/test/bios_jsons/bios_attrs.json
@@ -105,7 +105,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 1,
             "maximum_string_length": 100,
-            "default_string_length": 3,
             "default_string": "abc",
             "readOnly": false,
             "helpText": "str_example1 HelpText",
@@ -123,7 +122,6 @@
             "string_type": "Hex",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "readOnly": false,
             "helpText": "str_example2 HelpText",
@@ -141,7 +139,6 @@
             "string_type": "Unknown",
             "minimum_string_length": 1,
             "maximum_string_length": 100,
-            "default_string_length": 2,
             "default_string": "ef",
             "readOnly": true,
             "helpText": "str_example3 HelpText",
diff --git a/libpldmresponder/test/libpldmresponder_bios_config_test.cpp b/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
index 6e7c57a..5c0e779 100644
--- a/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_bios_config_test.cpp
@@ -153,11 +153,10 @@
                 EXPECT_EQ(
                     stringField.maxLength,
                     jsonEntry->at("maximum_string_length").get<uint16_t>());
-                EXPECT_EQ(
-                    stringField.defLength,
-                    jsonEntry->at("default_string_length").get<uint16_t>());
                 EXPECT_EQ(stringField.defString,
                           jsonEntry->at("default_string").get<std::string>());
+                EXPECT_EQ(stringField.defLength,
+                          (stringField.defString).length());
                 break;
             }
             case PLDM_BIOS_INTEGER:
diff --git a/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp b/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
index c945a68..daeec13 100644
--- a/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_bios_string_attribute_test.cpp
@@ -33,7 +33,6 @@
             "string_type" : "ASCII",
             "minimum_string_length" : 1,
             "maximum_string_length" : 100,
-            "default_string_length" : 2,
             "default_string" : "ef",
             "readOnly" : true,
             "helpText" : "HelpText",
@@ -51,25 +50,11 @@
     EXPECT_EQ(stringInfo.defLength, 2);
     EXPECT_EQ(stringInfo.defString, "ef");
 
-    auto jsonStringReadOnlyError = R"(  {
-            "attribute_name" : "str_example3",
-            "string_type" : "ASCII",
-            "minimum_string_length" : 1,
-            "maximum_string_length" : 100,
-            "default_string" : "ef",
-            "helpText" : "HelpText",
-            "displayName" : "DisplayName"
-        })"_json; // missing default_string_length
-
-    EXPECT_THROW((BIOSStringAttribute{jsonStringReadOnlyError, nullptr}),
-                 Json::exception);
-
     auto jsonStringReadWrite = R"({
             "attribute_name" : "str_example1",
             "string_type" : "ASCII",
             "minimum_string_length" : 1,
             "maximum_string_length" : 100,
-            "default_string_length" : 3,
             "default_string" : "abc",
             "readOnly" : false,
             "helpText" : "HelpText",
@@ -97,7 +82,6 @@
             "string_type" : "ASCII",
             "minimum_string_length" : 1,
             "maximum_string_length" : 100,
-            "default_string_length" : 3,
             "default_string" : "abc",
             "readOnly" : true,
             "helpText" : "HelpText",
@@ -134,7 +118,6 @@
             "string_type" : "ASCII",
             "minimum_string_length" : 1,
             "maximum_string_length" : 100,
-            "default_string_length" : 3,
             "default_string" : "abc",
             "readOnly" : false,
             "helpText" : "HelpText",
@@ -185,7 +168,6 @@
             "string_type" : "ASCII",
             "minimum_string_length" : 1,
             "maximum_string_length" : 100,
-            "default_string_length" : 3,
             "default_string" : "abc",
             "readOnly" : false,
             "helpText" : "HelpText",
diff --git a/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp b/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
index 6d80b9d..1b84204 100644
--- a/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_systemspecific_bios_test.cpp
@@ -160,11 +160,10 @@
                 EXPECT_EQ(
                     stringField.maxLength,
                     jsonEntry->at("maximum_string_length").get<uint16_t>());
-                EXPECT_EQ(
-                    stringField.defLength,
-                    jsonEntry->at("default_string_length").get<uint16_t>());
                 EXPECT_EQ(stringField.defString,
                           jsonEntry->at("default_string").get<std::string>());
+                EXPECT_EQ(stringField.defLength,
+                          (stringField.defString).length());
                 break;
             }
             case PLDM_BIOS_INTEGER:
diff --git a/libpldmresponder/test/system_type1/bios_jsons/bios_attrs.json b/libpldmresponder/test/system_type1/bios_jsons/bios_attrs.json
index fc70a5f..7a1f120 100644
--- a/libpldmresponder/test/system_type1/bios_jsons/bios_attrs.json
+++ b/libpldmresponder/test/system_type1/bios_jsons/bios_attrs.json
@@ -105,7 +105,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 1,
             "maximum_string_length": 100,
-            "default_string_length": 3,
             "default_string": "abc",
             "readOnly": false,
             "helpText": "str_example1 HelpText",
@@ -123,7 +122,6 @@
             "string_type": "Hex",
             "minimum_string_length": 0,
             "maximum_string_length": 200,
-            "default_string_length": 0,
             "default_string": "",
             "readOnly": false,
             "helpText": "str_example2 HelpText",
@@ -141,7 +139,6 @@
             "string_type": "Unknown",
             "minimum_string_length": 1,
             "maximum_string_length": 100,
-            "default_string_length": 2,
             "default_string": "ef",
             "readOnly": true,
             "helpText": "str_example3 HelpText",
diff --git a/oem/ibm/configurations/bios/bios_attrs.json b/oem/ibm/configurations/bios/bios_attrs.json
index 915dda7..b1d2a07 100644
--- a/oem/ibm/configurations/bios/bios_attrs.json
+++ b/oem/ibm/configurations/bios/bios_attrs.json
@@ -1117,7 +1117,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1134,7 +1133,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1145,7 +1143,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1156,7 +1153,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_gateway",
             "displayName": "vmi_if1_ipv4_gateway"
@@ -1167,7 +1163,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1178,7 +1173,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_ipaddr",
             "displayName": "vmi_if1_ipv4_ipaddr"
@@ -1189,7 +1183,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1200,7 +1193,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_gateway",
             "displayName": "vmi_if1_ipv6_gateway"
@@ -1211,7 +1203,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1222,7 +1213,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_ipaddr",
             "displayName": "vmi_if1_ipv6_ipaddr"
@@ -1233,7 +1223,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1244,7 +1233,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1256,7 +1244,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1267,7 +1254,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1284,7 +1270,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1301,7 +1286,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1318,7 +1302,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1335,7 +1318,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1346,7 +1328,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1357,7 +1338,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1368,7 +1348,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1379,7 +1358,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1390,7 +1368,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1401,7 +1378,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1412,7 +1388,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1423,7 +1398,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1434,7 +1408,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"
diff --git a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Bonnell/bios_attrs.json b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Bonnell/bios_attrs.json
index fb7d70c..aa5fa60 100644
--- a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Bonnell/bios_attrs.json
+++ b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Bonnell/bios_attrs.json
@@ -1061,7 +1061,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1078,7 +1077,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1089,7 +1087,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1100,7 +1097,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1111,7 +1107,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1122,7 +1117,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1133,7 +1127,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1144,7 +1137,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1156,7 +1148,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1167,7 +1158,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1184,7 +1174,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1201,7 +1190,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1218,7 +1206,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1235,7 +1222,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1246,7 +1232,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1257,7 +1242,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1268,7 +1252,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1279,7 +1262,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1290,7 +1272,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1301,7 +1282,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1312,7 +1292,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1323,7 +1302,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1334,7 +1312,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"
diff --git a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Everest/bios_attrs.json b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Everest/bios_attrs.json
index 95b41c8..9230c73 100644
--- a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Everest/bios_attrs.json
+++ b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Everest/bios_attrs.json
@@ -1139,7 +1139,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1156,7 +1155,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1167,7 +1165,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1178,7 +1175,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_gateway",
             "displayName": "vmi_if1_ipv4_gateway"
@@ -1189,7 +1185,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1200,7 +1195,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_ipaddr",
             "displayName": "vmi_if1_ipv4_ipaddr"
@@ -1211,7 +1205,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1222,7 +1215,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_gateway",
             "displayName": "vmi_if1_ipv6_gateway"
@@ -1233,7 +1225,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1244,7 +1235,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_ipaddr",
             "displayName": "vmi_if1_ipv6_ipaddr"
@@ -1255,7 +1245,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1266,7 +1255,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1278,7 +1266,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1289,7 +1276,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1306,7 +1292,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1323,7 +1308,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1340,7 +1324,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1357,7 +1340,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1368,7 +1350,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1379,7 +1360,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1390,7 +1370,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1401,7 +1380,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1412,7 +1390,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1423,7 +1400,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1434,7 +1410,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1445,7 +1420,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1456,7 +1430,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"
diff --git a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier1S4U/bios_attrs.json b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier1S4U/bios_attrs.json
index 5d430dc..6891110 100644
--- a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier1S4U/bios_attrs.json
+++ b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier1S4U/bios_attrs.json
@@ -1139,7 +1139,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1156,7 +1155,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1167,7 +1165,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1178,7 +1175,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_gateway",
             "displayName": "vmi_if1_ipv4_gateway"
@@ -1189,7 +1185,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1200,7 +1195,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_ipaddr",
             "displayName": "vmi_if1_ipv4_ipaddr"
@@ -1211,7 +1205,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1222,7 +1215,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_gateway",
             "displayName": "vmi_if1_ipv6_gateway"
@@ -1233,7 +1225,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1244,7 +1235,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_ipaddr",
             "displayName": "vmi_if1_ipv6_ipaddr"
@@ -1255,7 +1245,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1266,7 +1255,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1278,7 +1266,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1289,7 +1276,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1306,7 +1292,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1323,7 +1308,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1340,7 +1324,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1357,7 +1340,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1368,7 +1350,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1379,7 +1360,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1390,7 +1370,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1401,7 +1380,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1412,7 +1390,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1423,7 +1400,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1434,7 +1410,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1445,7 +1420,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1456,7 +1430,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"
diff --git a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier2U/bios_attrs.json b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier2U/bios_attrs.json
index 5d430dc..6891110 100644
--- a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier2U/bios_attrs.json
+++ b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier2U/bios_attrs.json
@@ -1139,7 +1139,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1156,7 +1155,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1167,7 +1165,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1178,7 +1175,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_gateway",
             "displayName": "vmi_if1_ipv4_gateway"
@@ -1189,7 +1185,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1200,7 +1195,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_ipaddr",
             "displayName": "vmi_if1_ipv4_ipaddr"
@@ -1211,7 +1205,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1222,7 +1215,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_gateway",
             "displayName": "vmi_if1_ipv6_gateway"
@@ -1233,7 +1225,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1244,7 +1235,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_ipaddr",
             "displayName": "vmi_if1_ipv6_ipaddr"
@@ -1255,7 +1245,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1266,7 +1255,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1278,7 +1266,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1289,7 +1276,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1306,7 +1292,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1323,7 +1308,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1340,7 +1324,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1357,7 +1340,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1368,7 +1350,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1379,7 +1360,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1390,7 +1370,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1401,7 +1380,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1412,7 +1390,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1423,7 +1400,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1434,7 +1410,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1445,7 +1420,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1456,7 +1430,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"
diff --git a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier4U/bios_attrs.json b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier4U/bios_attrs.json
index 5d430dc..6891110 100644
--- a/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier4U/bios_attrs.json
+++ b/oem/ibm/configurations/bios/com.ibm.Hardware.Chassis.Model.Rainier4U/bios_attrs.json
@@ -1139,7 +1139,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 100,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "pvm_system_name",
             "displayName": "pvm_system_name",
@@ -1156,7 +1155,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 255,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "vmi_hostname",
             "displayName": "vmi_hostname"
@@ -1167,7 +1165,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_gateway",
             "displayName": "vmi_if0_ipv4_gateway"
@@ -1178,7 +1175,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_gateway",
             "displayName": "vmi_if1_ipv4_gateway"
@@ -1189,7 +1185,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if0_ipv4_ipaddr",
             "displayName": "vmi_if0_ipv4_ipaddr"
@@ -1200,7 +1195,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 7,
             "maximum_string_length": 15,
-            "default_string_length": 7,
             "default_string": "0.0.0.0",
             "helpText": "vmi_if1_ipv4_ipaddr",
             "displayName": "vmi_if1_ipv4_ipaddr"
@@ -1211,7 +1205,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_gateway",
             "displayName": "vmi_if0_ipv6_gateway"
@@ -1222,7 +1215,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_gateway",
             "displayName": "vmi_if1_ipv6_gateway"
@@ -1233,7 +1225,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if0_ipv6_ipaddr",
             "displayName": "vmi_if0_ipv6_ipaddr"
@@ -1244,7 +1235,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 2,
             "maximum_string_length": 45,
-            "default_string_length": 2,
             "default_string": "::",
             "helpText": "vmi_if1_ipv6_ipaddr",
             "displayName": "vmi_if1_ipv6_ipaddr"
@@ -1255,7 +1245,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing, requires a reboot for a change to be applied.",
             "displayName": "Manufacturing Flags (pending)"
@@ -1266,7 +1255,6 @@
             "string_type": "Hex",
             "minimum_string_length": 32,
             "maximum_string_length": 32,
-            "default_string_length": 32,
             "default_string": "00000000000000000000000000000000",
             "helpText": "Specifies the configuration flags used by manufacturing for the current IPL. Do not set this attribute directly; set hb_mfg_flags instead.",
             "displayName": "Manufacturing Flags (current)",
@@ -1278,7 +1266,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 1024,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Provides the host a mapping of the lid IDs to human readable names.",
             "displayName": "Hostboot Lid IDs"
@@ -1289,7 +1276,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 0 model CCIN in hex.",
             "displayName": "Power Supply 0 Model",
@@ -1306,7 +1292,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 1 model CCIN in hex.",
             "displayName": "Power Supply 1 Model",
@@ -1323,7 +1308,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 2 model CCIN in hex.",
             "displayName": "Power Supply 2 Model",
@@ -1340,7 +1324,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 4,
-            "default_string_length": 4,
             "default_string": "0000",
             "helpText": "Specifies the power supply 3 model CCIN in hex.",
             "displayName": "Power Supply 3 Model",
@@ -1357,7 +1340,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the load source the system will use to start the logical partition.",
             "displayName": "Tagged IBM i Load Source"
@@ -1368,7 +1350,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the device the system will use when a D-mode initial program load (IPL) is performed.",
             "displayName": "Tagged IBM i Alternate Load Source"
@@ -1379,7 +1360,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 42,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the first workstation that the system will activate in the logical partition.",
             "displayName": "Tagged IBM i Console"
@@ -1390,7 +1370,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the IP address of the boot server or the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Server IP Address"
@@ -1401,7 +1380,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the local IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Local IP Address"
@@ -1412,7 +1390,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the subnet mask for an IBM i network install when the IBM i IP Address Protocol is IPv4.",
             "displayName": "Subnet Mask"
@@ -1423,7 +1400,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 45,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the Gateway IP address for an IBM i network install in the protocol specified by IBM i IP Address Protocol.",
             "displayName": "Gateway IP Address"
@@ -1434,7 +1410,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 127,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the directory path on the boot server that contains the network installation image for the IBM i partition.",
             "displayName": "Image Directory Path"
@@ -1445,7 +1420,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI target that contains the network installation image for the IBM i partition.",
             "displayName": "Target Name"
@@ -1456,7 +1430,6 @@
             "string_type": "ASCII",
             "minimum_string_length": 0,
             "maximum_string_length": 223,
-            "default_string_length": 0,
             "default_string": "",
             "helpText": "Specifies the name of the iSCSI initiator associated with the iSCSI target. PHYP will generate an initial initiator name which the user can change. PHYP will restore the initial value if the value is changed.",
             "displayName": "Initiator Name"