diff --git a/lib/bmc_network_security_utils.robot b/lib/bmc_network_security_utils.robot
new file mode 100644
index 0000000..92d02fb
--- /dev/null
+++ b/lib/bmc_network_security_utils.robot
@@ -0,0 +1,54 @@
+*** Settings ***
+
+Documentation  Network security utility file.
+
+Resource                ../lib/resource.robot
+Resource                ../lib/bmc_redfish_resource.robot
+
+Send Network Packets And Get Packet Loss
+    [Documentation]  Send TCP, UDP or ICMP packets to any network device.
+    [Arguments]  ${host}  ${num}=${count}  ${packet_type}=${ICMP_PACKETS}
+    ...          ${port}=80  ${icmp_type}=${ICMP_ECHO_REQUEST}
+
+    # Description of argument(s):
+    # host         The host name or IP address of the target system.
+    # packet_type  The type of packets to be sent ("tcp, "udp", "icmp").
+    # port         Network port.
+    # icmp_type    Type of ICMP packets (e.g. 8, 13, 17, etc.).
+    # num          Number of packets to be sent.
+
+    # This keyword expects host, port, type and number of packets to be sent
+    # and rate at which packets to be sent, should be given in command line.
+    # By default it sends 4 ICMP echo request  packets at 1 packets/second.
+
+    ${cmd_suffix}=  Set Variable If  '${packet_type}' == 'icmp'
+    ...  --icmp-type ${icmp_type}
+    ...  -p ${port}
+    ${cmd_buf}=  Set Variable  --delay ${delay} ${host} -c ${num} --${packet_type} ${cmd_suffix}
+
+    ${nping_result}=  Nping  ${cmd_buf}
+    [Return]   ${nping_result['percent_lost']}
+
+
+Send Network Packets With Flags And Verify Stability
+    [Documentation]  Send TCP with flags to the target.
+    [Arguments]  ${host}  ${num}=${count}  ${port}=${REDFISH_INTERFACE}
+    ...  ${flags}=${SYN_PACKETS}
+    [Teardown]  Verify Interface Stability  ${port}
+
+    # Description of argument(s):
+    # host         The host name or IP address of the target system.
+    # packet_type  The type of packets to be sent ("tcp, "udp", "icmp").
+    # port         Network port.
+    # flags        Type of flag to be set (e.g. SYN, ACK, RST, FIN, ALL).
+    # num          Number of packets to be sent.
+
+    # This keyword expects host, port, type and number of packets to be sent
+    # and rate at which packets to be sent, should be given in command line.
+    # By default it sends 4 ICMP echo request  packets at 1 packets/second.
+
+    ${cmd_suffix}=  Catenate  -p ${port} --flags ${flags}
+    ${cmd_buf}=  Set Variable  --delay ${delay} ${host} -c ${num} --${packet_type} ${cmd_suffix}
+
+    ${nping_result}=  Nping  ${cmd_buf}
+    Log To Console  Packets lost: ${nping_result['percent_lost']}
diff --git a/security/test_bmc_network_security.robot b/security/test_bmc_network_security.robot
index 2b0db39..f774c09 100644
--- a/security/test_bmc_network_security.robot
+++ b/security/test_bmc_network_security.robot
@@ -134,54 +134,6 @@
     Valid Value  OPENBMC_HOST
     Valid Program  program_name
 
-Send Network Packets And Get Packet Loss
-    [Documentation]  Send TCP, UDP or ICMP packets to the target.
-    [Arguments]  ${host}  ${num}=${count}  ${packet_type}=${ICMP_PACKETS}
-    ...          ${port}=80  ${icmp_type}=${ICMP_ECHO_REQUEST}
-
-    # Description of argument(s):
-    # host         The host name or IP address of the target system.
-    # packet_type  The type of packets to be sent ("tcp, "udp", "icmp").
-    # port         Network port.
-    # icmp_type    Type of ICMP packets (e.g. 8, 13, 17, etc.).
-    # num          Number of packets to be sent.
-
-    # This keyword expects host, port, type and number of packets to be sent
-    # and rate at which packets to be sent, should be given in command line.
-    # By default it sends 4 ICMP echo request  packets at 1 packets/second.
-
-    ${cmd_suffix}=  Set Variable If  '${packet_type}' == 'icmp'
-    ...  --icmp-type ${icmp_type}
-    ...  -p ${port}
-    ${cmd_buf}=  Set Variable  --delay ${delay} ${host} -c ${num} --${packet_type} ${cmd_suffix}
-
-    ${nping_result}=  Nping  ${cmd_buf}
-    [Return]   ${nping_result['percent_lost']}
-
-
-Send Network Packets With Flags And Verify Stability
-    [Documentation]  Send TCP with flags to the target.
-    [Arguments]  ${host}  ${num}=${count}  ${port}=${REDFISH_INTERFACE}
-    ...  ${flags}=${SYN_PACKETS}
-    [Teardown]  Verify Interface Stability  ${port}
-
-    # Description of argument(s):
-    # host         The host name or IP address of the target system.
-    # packet_type  The type of packets to be sent ("tcp, "udp", "icmp").
-    # port         Network port.
-    # flags        Type of flag to be set (e.g. SYN, ACK, RST, FIN, ALL).
-    # num          Number of packets to be sent.
-
-    # This keyword expects host, port, type and number of packets to be sent
-    # and rate at which packets to be sent, should be given in command line.
-    # By default it sends 4 ICMP echo request  packets at 1 packets/second.
-
-    ${cmd_suffix}=  Catenate  -p ${port} --flags ${flags}
-    ${cmd_buf}=  Set Variable  --delay ${delay} ${host} -c ${num} --${packet_type} ${cmd_suffix}
-
-    ${nping_result}=  Nping  ${cmd_buf}
-    Log To Console  Packets lost: ${nping_result['percent_lost']}
-
 
 Verify Interface Stability
     [Documentation]  Verify interface is up and active.
