Verify IPv6 Persistency On BMC Reboot

    Changes:
        -Added Testcases To Check Static,Linklocal
        IPv6 Persistency on BMC Reboot

    Tested:
        Ran and Tested on BMC Environment

Change-Id: I26f480b4a1caff49dec94ab81c9466b97359c0b9
Signed-off-by: Feroz M A <m.a.feroz@ibm.com>
diff --git a/gui/gui_test/settings_menu/test_network_sub_menu.robot b/gui/gui_test/settings_menu/test_network_sub_menu.robot
index e1ae33c..e4aca8d 100644
--- a/gui/gui_test/settings_menu/test_network_sub_menu.robot
+++ b/gui/gui_test/settings_menu/test_network_sub_menu.robot
@@ -427,6 +427,21 @@
     Wait Until Page Does Not Contain    SLAAC
 
 
+Add Static IPv6 Address Via GUI And Check Persistency
+    [Documentation]  Add static IPv6 address and verify persistency of static IPv6 on BMC reboot.
+    [Tags]  Add_Static_IPv6_Address_Via_GUI_And_Check_Persistency
+
+    Add Static IPv6 Address And Verify Via GUI  ${test_ipv6_addr}  ${test_prefix_length}  Success
+    Verify Persistency Of IPv6 On BMC Reboot  Static  1
+
+
+Verify Persistency Of LinkLocal IPv6 On BMC Reboot For Both Interfaces
+    [Documentation]  Verify persistency of linklocal IPv6 on BMC reboot for both interfaces.
+    [Tags]  Verify_Persistency_Of_LinkLocal_IPv6_On_BMC_Reboot_For_Both_Interfaces
+
+    Verify Persistency Of IPv6 On BMC Reboot  LinkLocal  1
+    Verify Persistency Of IPv6 On BMC Reboot  LinkLocal  2
+
 
 *** Keywords ***
 
@@ -731,3 +746,45 @@
     ...    Get Address Origin List And Address For Type  SLAAC
     Wait Until Page Contains  ${ipv6_slaac_addr}
     Wait Until Page Contains  SLAAC
+
+
+Verify Persistency Of IPv6 On BMC Reboot
+    [Documentation]  Verify IPv6 persistency on BMC reboot for the specified interface.
+    [Arguments]  ${ipv6_type}  ${channel_number}=${CHANNEL_NUMBER}
+
+    # Description of argument(s):
+    # ipv6_type       Type of IPv6 address(e.g:slaac/static/linklocal).
+    # channel_number  Ethernet channel number, 1(eth0) or 2(eth1).
+
+    IF  '${channel_number}' == '1'
+        # Capture IPv6 addresses before reboot.
+        @{ipv6_address_origin_list}  ${addr_before_reboot}=
+        ...  Get Address Origin List And Address For Type  ${ipv6_type}
+
+        Reboot BMC via GUI
+
+        # Capture IPv6 addresses after reboot.
+        @{ipv6_address_origin_list}  ${addr_after_reboot}=
+        ...  Get Address Origin List And Address For Type  ${ipv6_type}
+
+        Should Be Equal    ${addr_before_reboot}    ${addr_after_reboot}
+        Click Element  ${xpath_network_sub_menu}
+    ELSE IF  '${channel_number}' == '2'
+        # Capture IPv6 addresses before reboot.
+        Set Suite Variable  ${CHANNEL_NUMBER}  2
+        @{ipv6_address_origin_list}  ${addr_before_reboot}=
+        ...  Get Address Origin List And Address For Type  ${ipv6_type}
+
+        Reboot BMC via GUI
+
+        # Capture IPv6 addresses after reboot.
+        Set Suite Variable  ${CHANNEL_NUMBER}  2
+        @{ipv6_address_origin_list}  ${addr_after_reboot}=
+        ...  Get Address Origin List And Address For Type  ${ipv6_type}
+
+        Should Be Equal    ${addr_before_reboot}    ${addr_after_reboot}
+        Click Element  ${xpath_network_sub_menu}
+        Click Element  ${xpath_eth1_interface}
+    END
+    Wait Until Page Contains  ${addr_after_reboot}
+    Wait Until Page Contains  ${ipv6_type}