diff --git a/redfish/managers/test_bmc_config_ipv6.robot b/redfish/managers/test_bmc_config_ipv6.robot
new file mode 100644
index 0000000..60af824
--- /dev/null
+++ b/redfish/managers/test_bmc_config_ipv6.robot
@@ -0,0 +1,114 @@
+*** Settings ***
+Documentation  Network interface IPv6 configuration connected to DHCP server
+               ...   and verification tests.
+
+Resource       ../../lib/bmc_redfish_resource.robot
+Resource       ../../lib/openbmc_ffdc.robot
+Resource       ../../lib/bmc_ipv6_utils.robot
+Resource       ../../lib/bmc_network_utils.robot
+Library        Collections
+Library        Process
+Library        OperatingSystem
+Test Teardown   Test Teardown Execution
+Suite Setup     Suite Setup Execution
+Suite Teardown  Redfish.Logout
+
+Test Tags     BMC_IPv6_Config
+
+*** Variables ***
+# Remote DHCP test bed server. Leave variables EMPTY if server is configured local
+# to the test where it is running else if remote pass the server credentials
+# -v SERVER_IPv6:xx.xx.xx.xx
+# -v SERVER_USERNAME:root
+# -v SERVER_PASSWORD:*********
+
+${SERVER_USERNAME}      ${EMPTY}
+${SERVER_PASSWORD}      ${EMPTY}
+${SERVER_IPv6}          ${EMPTY}
+
+
+*** Test Cases ***
+
+Get SLAAC Address And Verify Connectivity
+    [Documentation]  Fetch the SLAAC address and verify ping and SSH connection.
+    [Tags]  Get_SLAAC_Address_And_Verify_Connectivity
+
+    @{ipv6_addressorigin_list}  ${ipv6_slaac_addr}=
+    ...  Get Address Origin List And Address For Type  SLAAC
+    IF  '${SERVER_USERNAME}' != '${EMPTY}'
+        Check IPv6 Connectivity  ${ipv6_slaac_addr}
+    ELSE
+        Wait For IPv6 Host To Ping  ${ipv6_slaac_addr}
+    END
+    Verify SSH Connection Via IPv6  ${ipv6_slaac_addr}
+
+
+*** Keywords ***
+
+Suite Setup Execution
+    [Documentation]  Do suite setup execution.
+
+    Redfish.Login
+    ${active_channel_config}=  Get Active Channel Config
+    Set Suite Variable  ${active_channel_config}
+    ${ethernet_interface}=  Set Variable  ${active_channel_config['${CHANNEL_NUMBER}']['name']}
+    Set Suite variable  ${ethernet_interface}
+
+
+Test Teardown Execution
+    [Documentation]  Test teardown execution.
+
+    FFDC On Test Case Fail
+
+
+Wait For IPv6 Host To Ping
+    [Documentation]  Verify that the IPv6 host responds successfully to ping.
+    [Arguments]  ${host}  ${timeout}=${OPENBMC_REBOOT_TIMEOUT}sec
+    ...          ${interval}=5 sec  ${expected_rc}=${0}
+    # Description of argument(s):
+    # host         The IPv6 address of the host to ping.
+    # timeout      Maximum time to wait for the host to respond to ping.
+    # interval     Time to wait between ping attempts.
+    # expected_rc  Expected return code of ping command.
+    Wait Until Keyword Succeeds  ${timeout}  ${interval}  Ping Host Over IPv6  ${host}  ${expected_rc}
+
+
+Ping Host Over IPv6
+    [Documentation]  Ping6 the given host.
+    [Arguments]     ${host}  ${expected_rc}=${0}
+    # Description of argument(s):
+    # host           IPv6 address of the host to ping.
+    # expected_rc    Expected return code of ping command.
+    Should Not Be Empty    ${host}   msg=No host provided.
+    ${rc}   ${output}=     Run and return RC and Output    ping6 -c 4 ${host}
+    Log     RC: ${rc}\nOutput:\n${output}
+    Should Be Equal     ${rc}   ${expected_rc}
+
+
+Check IPv6 Connectivity
+    [Documentation]  Check ping6 status and verify.
+    [Arguments]  ${OPENBMC_HOST_IPv6}
+
+    # Description of argument(s):
+    # OPENBMC_HOST_IPv6   IPv6 address to check connectivity.
+
+    Open Connection And Log In  ${SERVER_USERNAME}  ${SERVER_PASSWORD}  host=${SERVER_IPv6}
+    Wait For IPv6 Host To Ping  ${OPENBMC_HOST_IPv6}  30 secs
+
+
+Verify SSH Connection Via IPv6
+    [Documentation]  Verify connectivity to the IPv6 host via SSH.
+    [Arguments]  ${OPENBMC_HOST_IPv6}
+
+    # Description of argument(s):
+    # OPENBMC_HOST_IPv6   IPv6 address to check connectivity.
+
+    IF  '${SERVER_USERNAME}' == '${EMPTY}'
+        SSHLibrary.Open Connection  ${OPENBMC_HOST_IPv6}
+        SSHLibrary.Login  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
+    ELSE
+        Open Connection And Log In  ${SERVER_USERNAME}  ${SERVER_PASSWORD}  host=${SERVER_IPv6}  alias=IPv6Conn
+        SSHLibrary.Open Connection  ${OPENBMC_HOST_IPv6}
+        SSHLibrary.Login  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}  jumphost_index_or_alias=IPv6Conn
+    END
+
