diff --git a/lib/openbmc_ffdc_list.py b/lib/openbmc_ffdc_list.py
index c260740..376d50d 100755
--- a/lib/openbmc_ffdc_list.py
+++ b/lib/openbmc_ffdc_list.py
@@ -106,6 +106,8 @@
 ENUMERATE_CONTROL = OPENBMC_BASE + 'control/enumerate'
 ENUMERATE_STATE = OPENBMC_BASE + 'state/enumerate'
 ENUMERATE_OCC = OPENPOWER_BASE + 'control/enumerate'
+ENUMERATE_DUMPS = OPENBMC_BASE + 'dumps/enumerate'
+
 # Add file name and correcponding Get Request
 FFDC_GET_REQUEST = {
     'GET REQUESTS':
@@ -119,6 +121,7 @@
         'BMC_led': ENUMERATE_LED,
         'BMC_state': ENUMERATE_STATE,
         'OCC_state': ENUMERATE_OCC,
+        'BMC_dumps': ENUMERATE_DUMPS,
     },
 }
 # Define your keywords in method/utils and call here
@@ -133,6 +136,8 @@
         'Core Files': 'SCP Coredump Files',
         'SEL Log': 'Collect eSEL Log',
         'Sys Inventory Files': 'System Inventory Files',
+        'Dump Log': 'Collect Dump Log',
+        'Dump Files': 'SCP Dump Files'
     },
 }
 # -----------------------------------------------------------------
@@ -267,3 +272,15 @@
         """
         index = [i for i, str in enumerate(esel_list) if 'ESEL=' in str]
         return index[0]
+
+    def get_dump_index(self, dump_list):
+        r"""
+        #######################################################################
+        #   @brief    Returns the eSEL binary index.
+        #   @param    esel_ist: @type list: eSEL list.
+        #   @return   Index of "ESEL=" in the list.
+        #######################################################################
+        """
+        index = [i for i, str in enumerate(dump_list) if 'DUMP=' in str]
+        return index[0]
+
diff --git a/lib/openbmc_ffdc_methods.robot b/lib/openbmc_ffdc_methods.robot
index 682e96b..b007718 100755
--- a/lib/openbmc_ffdc_methods.robot
+++ b/lib/openbmc_ffdc_methods.robot
@@ -12,6 +12,7 @@
 Library            String
 Library            gen_print.py
 Library            gen_robot_keyword.py
+Library            dump_utils.py
 
 *** Keywords ***
 
@@ -430,6 +431,27 @@
 
     [Return]  ${ffdc_file_list}
 
+SCP Dump Files
+    [Documentation]  Copy all dump files from BMC to local system.
+
+    # Check if dumps exist
+    ${ffdc_file_list}=  Scp Dumps  ${FFDC_DIR_PATH}  ${FFDC_PREFIX}
+
+    [Return]  ${ffdc_file_list}
+
+Collect Dump Log
+    [Documentation]  Collect dumps from dump entry.
+    [Arguments]  ${log_prefix_path}=${LOG_PREFIX}
+
+    ${data}=  Read Properties  ${DUMP_ENTRY_URI}/enumerate  quiet=${1}
+
+    # Grab the list of entries from dump/entry/
+    # The data shown below is the result of the "Get Dictionary Keys".
+    # Example:
+    # /xyz/openbmc_project/dump/entry/1
+    # /xyz/openbmc_project/dump/entry/2
+
+    ${dump_list}=  Get Dictionary Keys  ${data}
 
 Collect eSEL Log
     [Documentation]  Collect eSEL log from logging entry and convert eSEL data
