diff --git a/src/nl-cls-delete.c b/src/nl-cls-delete.c index ca8e370bf..686eb5ad1 100644 --- a/src/nl-cls-delete.c +++ b/src/nl-cls-delete.c @@ -54,9 +54,17 @@ static void delete_cb(struct nl_object *obj, void *arg) if (interactive && !nl_cli_confirm(obj, ¶ms, default_yes)) return; - if ((err = rtnl_cls_delete(sock, cls, 0)) < 0) - nl_cli_fatal(err, "Unable to delete classifier: %s\n", - nl_geterror(err)); + if ((err = rtnl_cls_delete(sock, cls, 0)) < 0) { + if (err == -NLE_OBJ_NOTFOUND) { + if (!quiet) { + printf("Already removed (cascaded) "); + nl_object_dump(obj, ¶ms); + } + return; + } + nl_cli_fatal(err, "Unable to delete classifier: %s\n", + nl_geterror(err)); + } if (!quiet) { printf("Deleted ");