diff --git a/redfish/managers/test_bmc_ipv6.robot b/redfish/managers/test_bmc_ipv6.robot
index e508544..73d50a7 100644
--- a/redfish/managers/test_bmc_ipv6.robot
+++ b/redfish/managers/test_bmc_ipv6.robot
@@ -6,6 +6,7 @@
 Resource       ../../lib/openbmc_ffdc.robot
 Resource       ../../lib/bmc_ipv6_utils.robot
 Resource       ../../lib/external_intf/vmi_utils.robot
+Resource       ../../lib/bmc_network_utils.robot
 Library        ../../lib/bmc_network_utils.py
 Library        Collections
 Library        Process
@@ -29,6 +30,7 @@
 ${prefix_length_def}         None
 ${invalid_staticv6_gateway}  9.41.164.1
 ${linklocal_addr_format}     fe80::[0-9a-f:]+$
+${new_mac_addr}              AA:E2:84:14:28:79
 
 *** Test Cases ***
 
@@ -275,6 +277,25 @@
     ...    msg=IPv6 Linklocal address has changed after reboot.
 
 
+Modify MAC and Verify BMC Reinitializing Linklocal
+    [Documentation]  Modify MAC and verify BMC reinitializing linklocal.
+    [Tags]  Modify_MAC_and_Verify_BMC_Reinitializing_Linklocal
+    [Teardown]  Configure MAC Settings  ${original_address}
+
+    ${original_address}=  Get BMC MAC Address
+    @{ipv6_addressorigin_list}  ${ipv6_before_linklocal_addr}=  Get Address Origin List And Address For Type  LinkLocal
+
+    # Modify MAC Address Of Ethernet Interface.
+    Configure MAC Settings  ${new_mac_addr}
+    Sleep  30s
+    Wait For Host To Ping  ${OPENBMC_HOST}  ${NETWORK_TIMEOUT}
+    @{ipv6_addressorigin_list}  ${ipv6_linklocal_after_addr}=  Get Address Origin List And Address For Type  LinkLocal
+
+    # Verify whether the linklocal has changed and is in the the correct format.
+    Check If Linklocal Address Is In Correct Format
+    Should Not Be Equal    ${ipv6_before_linklocal_addr}    ${ipv6_linklocal_after_addr}
+
+
 *** Keywords ***
 
 Suite Setup Execution
diff --git a/redfish/managers/test_bmc_network_mac.robot b/redfish/managers/test_bmc_network_mac.robot
index 0a075ea..0dc24f2 100644
--- a/redfish/managers/test_bmc_network_mac.robot
+++ b/redfish/managers/test_bmc_network_mac.robot
@@ -157,61 +157,3 @@
     Validate MAC On BMC  ${initial_mac_address}
 
     Redfish.Logout
-
-
-Configure MAC Settings
-    [Documentation]  Configure MAC settings via Redfish.
-    [Arguments]  ${mac_address}  ${valid_status_code}=${HTTP_OK}
-
-    # Description of argument(s):
-    # mac_address         MAC address of BMC.
-    # valid_status_code   Expected response code, default is ${HTTP_OK}.
-
-    ${active_channel_config}=  Get Active Channel Config
-    ${ethernet_interface}=  Set Variable  ${active_channel_config['${CHANNEL_NUMBER}']['name']}
-
-    Redfish.Login
-    ${payload}=  Create Dictionary  MACAddress=${mac_address}
-
-    Redfish.Patch  ${REDFISH_NW_ETH_IFACE}${ethernet_interface}  body=&{payload}
-    ...  valid_status_codes=[${valid_status_code},${HTTP_NO_CONTENT},${HTTP_INTERNAL_SERVER_ERROR}]
-
-    # After any modification on network interface, BMC restarts network
-    # Note: Network restart takes around 15-18s after patch request processing.
-    Sleep  ${NETWORK_TIMEOUT}s
-
-    Redfish.Get  ${REDFISH_NW_ETH_IFACE}${ethernet_interface}
-
-    # Verify whether new MAC address is populated on BMC system.
-    # It should not allow to configure invalid settings.
-    ${status}=  Run Keyword And Return Status
-    ...  Validate MAC On BMC  ${mac_address}
-
-    IF  ${valid_status_code} == ${HTTP_BAD_REQUEST}
-        Should Be Equal  ${status}  ${False}
-        ...  msg=Allowing the configuration of an invalid MAC.
-    ELSE
-        Should Be Equal  ${status}  ${True}
-        ...  msg=Not allowing the configuration of a valid MAC.
-    END
-
-    Verify MAC Address Via FW_Env  ${mac_address}  ${valid_status_code}
-
-Verify MAC Address Via FW_Env
-    [Documentation]  Verify MAC address on FW_Env.
-    [Arguments]  ${mac_address}  ${valid_status_code}=${HTTP_OK}
-
-    # Description of argument(s):
-    # mac_address         MAC address of BMC.
-    # valid_status_code   Expected response code, default is ${HTTP_OK}.
-
-    ${status}=  Run Keyword And Return Status
-    ...  Validate MAC On FW_Env  ${mac_address}
-
-    IF  ${valid_status_code} == ${HTTP_BAD_REQUEST}
-        Should Be Equal  ${status}  ${False}
-        ...  msg=Allowing the configuration of an invalid MAC.
-    ELSE
-        Should Be Equal  ${status}  ${True}
-        ...  msg=Not allowing the configuration of a valid MAC.
-    END
