diff --git a/network/test_bmc_dhcp_conf.robot b/network/test_bmc_dhcp_conf.robot
index 9156337..a8ad9f5 100644
--- a/network/test_bmc_dhcp_conf.robot
+++ b/network/test_bmc_dhcp_conf.robot
@@ -9,95 +9,46 @@
 Suite Setup            Suite Setup Execution
 Suite Teardown         Redfish.Logout
 
+*** Variables ***
+
+&{dhcp_enable_dict}                DHCPEnabled=${True}
+&{dhcp_disable_dict}               DHCPEnabled=${False}
+
+&{dns_enable_dict}                 UseDNSServers=${True}
+&{dns_disable_dict}                UseDNSServers=${False}
+
+&{ntp_enable_dict}                 UseNTPServers=${True}
+&{ntp_disable_dict}                UseNTPServers=${False}
+
+&{domain_name_enable_dict}         UseDomainName=${True}
+&{domain_name_disable_dict}        UseDomainName=${False}
+
+&{enable_multiple_properties}      UseDomainName=${True}
+...                                UseNTPServers=${True}
+...                                UseDNSServers=${True}
+
+&{disable_multiple_properties}     UseDomainName=${False}
+...                                UseNTPServers=${False}
+...                                UseDNSServers=${False}
+
 *** Test Cases ***
 
-Enable DHCP Via Redfish And Verify
-    [Documentation]  Enable DHCP via Redfish and verify.
-    [Tags]  Enable_DHCP_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
+Set Network Property via Redfish And Verify
+   [Documentation]  Set network property via Redfish and verify.
+   [Tags]  Set_Network_Property_via_Redfish_And_Verify
+   [Template]  Apply Ethernet Config
 
-    # property            Value
-    DHCPEnabled           ${True}
-
-
-Disable DHCP Via Redfish And Verify
-    [Documentation]  Disable DHCP via Redfish and verify.
-    [Tags]  Disable_DHCP_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    DHCPEnabled           ${False}
-
-
-Enable UseDNSServers Via Redfish And Verify
-    [Documentation]  Enable UseDNSServers via Redfish and verify.
-    [Tags]  Enable_UseDNSServers_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseDNSServers         ${True}
-
-
-Disable UseDNSServers Via Redfish And Verify
-    [Documentation]  Disable UseDNSServers via Redfish and verify.
-    [Tags]  Disable_UseDNSServers_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseDNSServers         ${False}
-
-
-Enable UseDomainName Via Redfish And Verify
-    [Documentation]  Enable UseDomainName via Redfish and verify.
-    [Tags]  Enable_UseDomainName_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseDomainName         ${True}
-
-
-
-Disable UseDomainName Via Redfish And Verify
-    [Documentation]  Disable UseDomainName via Redfish and verify.
-    [Tags]  Disable_UseDomainName_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseDomainName         ${False}
-
-
-Enable UseNTPServers Via Redfish And Verify
-    [Documentation]  Enable UseNTPServers via Redfish and verify.
-    [Tags]  Enable_UseNTPServers_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseNTPServers         ${True}
-
-
-Disable UseNTPServers Via Redfish And Verify
-    [Documentation]  Disable UseNTPServers via Redfish and verify.
-    [Tags]  Disable_UseNTPServers_Via_Redfish_And_Verify
-    [Teardown]  Run Keywords  Restore Configuration
-    ...  AND  FFDC On Test Case Fail
-    [Template]  Apply Ethernet Config
-
-    # property            Value
-    UseNTPServers         ${False}
+    # property
+    ${dhcp_enable_dict}
+    ${dhcp_disable_dict}
+    ${dns_enable_dict}
+    ${dns_disable_dict}
+    ${domain_name_enable_dict}
+    ${domain_name_disable_dict}
+    ${ntp_enable_dict}
+    ${ntp_disable_dict}
+    ${enable_multiple_properties}
+    ${disable_multiple_properties}
 
 
 *** Keywords ***
@@ -155,19 +106,46 @@
 
 
 Apply Ethernet Config
-   [Documentation]  Set the given Ethernet config property.
-   [Arguments]  ${property}   ${value}
+    [Documentation]  Set the given Ethernet config property.
+    [Arguments]  ${property}
+    [Teardown]  Run Keywords  Restore Configuration  AND
+    ...  Set Global Variable  ${TEST_STATUS}  ${KEYWORD STATUS}  AND  FFDC On Test Case Fail
 
-   # Description of argument(s):
-   # property   Ethernet property to be set..
-   # value      Value to be set. E.g. True or False.
+    # Description of argument(s):
+    # property   Ethernet property to be set..
 
-   ${active_channel_config}=  Get Active Channel Config
-   Redfish.Patch
-   ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
-   ...  body={"DHCPv4":{"${property}":${value}}}
+    ${active_channel_config}=  Get Active Channel Config
+    Redfish.Patch
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}/
+    ...  body={"DHCPv4":${property}}  valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
 
-   ${resp}=  Redfish.Get
-   ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
-   Should Be Equal As Strings  ${resp.dict["DHCPv4"]["${property}"]}  ${value}
+    ${resp}=  Redfish.Get
+    ...  /redfish/v1/Managers/bmc/EthernetInterfaces/${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Verify Ethernet Config Property  ${property}  ${resp.dict["DHCPv4"]}
+
+
+Verify Ethernet Config Property
+    [Documentation]  verify ethernet config properties.
+    [Arguments]  ${property}  ${response_data}
+
+    # Description of argument(s):
+    # ${property}       DHCP Properties in dictionary.
+    # Example:
+    # property         value
+    # DHCPEnabled      :False
+    # UseDomainName    :True
+    # UseNTPServers    :True
+    # UseDNSServers    :True
+    # ${response_data}  DHCP Response data in dictionary.
+    # Example:
+    # property         value
+    # DHCPEnabled      :False
+    # UseDomainName    :True
+    # UseNTPServers    :True
+    # UseDNSServers    :True
+
+   ${key_map}=  Get Dictionary Items  ${property}
+   FOR  ${key}  ${value}  IN  @{key_map}
+      Should Be Equal As Strings  ${response_data['${key}']}  ${value}
+   END
 
