diff --git a/neutron/neutron/services/l3_router/gce_router_plugin.py b/neutron/neutron/services/l3_router/gce_router_plugin.py
index caa493c..49edd1b 100644
--- a/neutron/neutron/services/l3_router/gce_router_plugin.py
+++ b/neutron/neutron/services/l3_router/gce_router_plugin.py
@@ -12,6 +12,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import neutron_lib
+from distutils.version import LooseVersion
 from oslo_log import log as logging
 
 from neutron.common import exceptions
@@ -31,6 +33,18 @@ from neutron_lib import constants as n_const
 
 LOG = logging.getLogger(__name__)
 
+if LooseVersion(neutron_lib.__version__) < LooseVersion("1.0.0"):
+    router = l3_db.Router
+    floating_ip = l3_db.FloatingIP
+    plugin_type = constants.L3_ROUTER_NAT
+else:
+    from neutron.db.models import l3
+    from neutron_lib.plugins import constants as plugin_constants
+    from neutron_lib.services import base as service_base
+    router = l3.Router
+    floating_ip = l3.FloatingIP
+    plugin_type = plugin_constants.L3
+
 
 class GceRouterPlugin(
         service_base.ServicePluginBase, common_db_mixin.CommonDbMixin,
@@ -51,8 +65,8 @@ class GceRouterPlugin(
         "l3-ha"
     ]
 
-    @resource_registry.tracked_resources(router=l3_db.Router,
-                                         floatingip=l3_db.FloatingIP)
+    @resource_registry.tracked_resources(router=router,
+                                         floatingip=floating_ip)
     def __init__(self):
         super(GceRouterPlugin, self).__init__()
         l3_db.subscribe()
@@ -65,7 +79,7 @@ class GceRouterPlugin(
                  (self.gce_project, self.gce_region))
 
     def get_plugin_type(self):
-        return constants.L3_ROUTER_NAT
+        return plugin_type
 
     def get_plugin_description(self):
         """returns string description of the plugin."""