If trying to delete a qdisc root to set no rules and no queuing algorithm probably for the purpose to add a new one a replace command is the right option!
An error saying there are no existing rules:
[root@srv ~]# tc qdisc del dev ens1f0 root Error: Cannot delete qdisc with handle of zero.
Changing the qdisc with another. The example below replaces the MQ (multiqueues) with FQ (Fair Queue policy):
[root@srv ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP group default qlen 1000 link/ether b4:96:54:9f:10:71 brd ff:ff:ff:ff:ff:ff inet 84.16.231.24/26 brd 84.16.231.63 scope global noprefixroute ens1f0 valid_lft forever preferred_lft forever inet6 fe80::b696:91ff:fe8e:860/64 scope link valid_lft forever preferred_lft forever [root@srv ~]# tc qdisc replace dev ens1f0 root fq [root@srv ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens1f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether b4:96:54:9f:10:71 brd ff:ff:ff:ff:ff:ff inet 84.16.231.24/26 brd 84.16.231.63 scope global noprefixroute ens1f0 valid_lft forever preferred_lft forever inet6 fe80::b696:91ff:fe8e:860/64 scope link valid_lft forever preferred_lft forever
The replace command is used,but the add command has the same effect in this case. del cannot remove the queueing discipline from a physical network device. noqueue might be only special devices like loopback (i.e. localhost), bonding network devices and so on.
In CentOS, for additional kernel modules use kernel-modules-extra package if some qdiscs are missing.