diff --git a/devstack/lib/l3_ndp_proxy b/devstack/lib/l3_ndp_proxy
new file mode 100644
index 00000000000..35ca56d9ab1
--- /dev/null
+++ b/devstack/lib/l3_ndp_proxy
@@ -0,0 +1,4 @@
+function configure_l3_ndp_proxy {
+    neutron_service_plugin_class_add "ndp_proxy"
+    plugin_agent_add_l3_agent_extension "ndp_proxy"
+}
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 21b3c1c6cc7..8a4a2dec623 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -7,6 +7,7 @@ source $LIBDIR/l2_agent
 source $LIBDIR/l2_agent_sriovnicswitch
 source $LIBDIR/l3_agent
 source $LIBDIR/l3_conntrack_helper
+source $LIBDIR/l3_ndp_proxy
 source $LIBDIR/ml2
 source $LIBDIR/network_segment_range
 source $LIBDIR/segments
@@ -92,6 +93,9 @@ if [[ "$1" == "stack" ]]; then
                 if is_service_enabled q-conntrack-helper neutron-conntrack-helper; then
                     configure_l3_conntrack_helper
                 fi
+                if is_service_enabled q-ndp-proxy neutron-ndp-proxy; then
+                    configure_l3_ndp_proxy
+                fi
                 configure_l3_agent
             fi
             if [ $NEUTRON_CORE_PLUGIN = ml2 ]; then