diff --git a/doc/guides/sample_app_ug/server_node_efd.rst b/doc/guides/sample_app_ug/server_node_efd.rst
index c6cbc3def6..7253b38da7 100644
--- a/doc/guides/sample_app_ug/server_node_efd.rst
+++ b/doc/guides/sample_app_ug/server_node_efd.rst
@@ -137,7 +137,7 @@ which is used to distribute packets to nodes, which the number of flows
 specified in the command line (1 million, by default).
 
 
-.. literalinclude:: ../../../examples/server_node_efd/server/init.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_server/init.c
     :language: c
     :start-after: Create EFD table. 8<
     :end-before: >8 End of creation EFD table.
@@ -146,7 +146,7 @@ After initialization, packets are received from the enabled ports, and the IPv4
 address from the packets is used as a key to look up in the EFD table,
 which tells the node where the packet has to be distributed.
 
-.. literalinclude:: ../../../examples/server_node_efd/server/main.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_server/main.c
     :language: c
     :start-after: Processing packets. 8<
     :end-before: >8 End of process_packets.
@@ -156,7 +156,7 @@ and enqueued in the shared ring between the server and the node.
 After this, a new burst of packets is received and this process is
 repeated infinitely.
 
-.. literalinclude:: ../../../examples/server_node_efd/server/main.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_server/main.c
     :language: c
     :start-after: Flush rx queue. 8<
     :end-before: >8 End of sending a burst of traffic to a node.
@@ -167,7 +167,7 @@ ring with the server and send them out, if they belong to the node.
 At initialization, it attaches to the server process memory, to have
 access to the shared ring, parameters and statistics.
 
-.. literalinclude:: ../../../examples/server_node_efd/node/node.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_node/node.c
     :language: c
     :start-after: Attaching to the server process memory. 8<
     :end-before: >8 End of attaching to the server process memory.
@@ -176,7 +176,7 @@ access to the shared ring, parameters and statistics.
 Then, the hash table that contains the flows that will be handled
 by the node is created and populated.
 
-.. literalinclude:: ../../../examples/server_node_efd/node/node.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_node/node.c
     :language: c
     :start-after: Creation of hash table. 8<
     :end-before: >8 End of creation of hash table.
@@ -188,7 +188,7 @@ If there is a hit, packet is stored in a buffer, to be eventually transmitted
 in one of the enabled ports. If key is not there, packet is dropped, since the
 flow is not handled by the node.
 
-.. literalinclude:: ../../../examples/server_node_efd/node/node.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_node/node.c
     :language: c
     :start-after: Packets dequeued from the shared ring. 8<
     :end-before: >8 End of packets dequeuing.
@@ -196,7 +196,7 @@ flow is not handled by the node.
 Finally, note that both processes updates statistics, such as transmitted, received
 and dropped packets, which are shown and refreshed by the server app.
 
-.. literalinclude:: ../../../examples/server_node_efd/server/main.c
+.. literalinclude:: ../../../examples/server_node_efd/efd_server/main.c
     :language: c
     :start-after: Display recorded statistics. 8<
     :end-before: >8 End of displaying the recorded statistics.
diff --git a/examples/meson.build b/examples/meson.build
index 6968c09252..55ba8847a0 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -46,8 +46,8 @@ all_examples = [
         'qos_meter',
         'qos_sched',
         'rxtx_callbacks',
-        'server_node_efd/node',
-        'server_node_efd/server',
+        'server_node_efd/efd_node',
+        'server_node_efd/efd_server',
         'service_cores',
         'skeleton',
         'timer',
diff --git a/examples/server_node_efd/Makefile b/examples/server_node_efd/Makefile
index e4a4a94a79..6d61c93dac 100644
--- a/examples/server_node_efd/Makefile
+++ b/examples/server_node_efd/Makefile
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2016-2020 Intel Corporation
 
-subdirs := node server
+subdirs := efd_node efd_server
 
 .PHONY: all static shared clean $(subdirs)
 all static shared clean: $(subdirs)
diff --git a/examples/server_node_efd/node/Makefile b/examples/server_node_efd/efd_node/Makefile
similarity index 100%
rename from examples/server_node_efd/node/Makefile
rename to examples/server_node_efd/efd_node/Makefile
diff --git a/examples/server_node_efd/node/meson.build b/examples/server_node_efd/efd_node/meson.build
similarity index 95%
rename from examples/server_node_efd/node/meson.build
rename to examples/server_node_efd/efd_node/meson.build
index 1c720968af..b03e65f266 100644
--- a/examples/server_node_efd/node/meson.build
+++ b/examples/server_node_efd/efd_node/meson.build
@@ -6,8 +6,6 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-name = 'efd_node'
-
 allow_experimental_apis = true
 deps += ['hash']
 sources += files('node.c')
diff --git a/examples/server_node_efd/node/node.c b/examples/server_node_efd/efd_node/node.c
similarity index 100%
rename from examples/server_node_efd/node/node.c
rename to examples/server_node_efd/efd_node/node.c
diff --git a/examples/server_node_efd/server/Makefile b/examples/server_node_efd/efd_server/Makefile
similarity index 100%
rename from examples/server_node_efd/server/Makefile
rename to examples/server_node_efd/efd_server/Makefile
diff --git a/examples/server_node_efd/server/args.c b/examples/server_node_efd/efd_server/args.c
similarity index 100%
rename from examples/server_node_efd/server/args.c
rename to examples/server_node_efd/efd_server/args.c
diff --git a/examples/server_node_efd/server/args.h b/examples/server_node_efd/efd_server/args.h
similarity index 100%
rename from examples/server_node_efd/server/args.h
rename to examples/server_node_efd/efd_server/args.h
diff --git a/examples/server_node_efd/server/init.c b/examples/server_node_efd/efd_server/init.c
similarity index 100%
rename from examples/server_node_efd/server/init.c
rename to examples/server_node_efd/efd_server/init.c
diff --git a/examples/server_node_efd/server/init.h b/examples/server_node_efd/efd_server/init.h
similarity index 100%
rename from examples/server_node_efd/server/init.h
rename to examples/server_node_efd/efd_server/init.h
diff --git a/examples/server_node_efd/server/main.c b/examples/server_node_efd/efd_server/main.c
similarity index 100%
rename from examples/server_node_efd/server/main.c
rename to examples/server_node_efd/efd_server/main.c
diff --git a/examples/server_node_efd/server/meson.build b/examples/server_node_efd/efd_server/meson.build
similarity index 94%
rename from examples/server_node_efd/server/meson.build
rename to examples/server_node_efd/efd_server/meson.build
index 7abc333e1d..f1a6616738 100644
--- a/examples/server_node_efd/server/meson.build
+++ b/examples/server_node_efd/efd_server/meson.build
@@ -6,8 +6,6 @@
 # To build this example as a standalone application with an already-installed
 # DPDK instance, use 'make'
 
-name = 'efd_server'
-
 allow_experimental_apis = true
 deps += 'efd'
 sources += files('args.c', 'init.c', 'main.c')
