diff --git a/nova/db/api.py b/nova/db/api.py
index 42ae51998..694e9ba9c 100644
--- a/nova/db/api.py
+++ b/nova/db/api.py
@@ -687,6 +687,11 @@ def virtual_interface_delete_by_instance(context, instance_id):
     return IMPL.virtual_interface_delete_by_instance(context, instance_id)
 
 
+def virtual_interface_delete(context, id):
+    """Delete virtual interface by id."""
+    return IMPL.virtual_interface_delete(context, id)
+
+
 def virtual_interface_get_all(context):
     """Gets all virtual interfaces from the table."""
     return IMPL.virtual_interface_get_all(context)
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 130c44e94..80e5cdcd0 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -1639,6 +1639,18 @@ def virtual_interface_delete_by_instance(context, instance_uuid):
            soft_delete()
 
 
+@require_context
+@pick_context_manager_writer
+def virtual_interface_delete(context, id):
+    """Delete virtual interface records.
+
+    :param id: id of the interface
+    """
+    _virtual_interface_query(context).\
+        filter_by(id=id).\
+        soft_delete()
+
+
 @require_context
 @pick_context_manager_reader
 def virtual_interface_get_all(context):