tx = bandwidth->out;
}
- /* Only if the caller requests, clear everything including root
- * qdisc and all filters before adding everything.
- */
- if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL)
- virNetDevBandwidthClear(ifname);
-
if (tx && tx->average) {
+ /* Only if the caller requests, clear the root qdisc and all filters
+ * before adding everything.
+ */
+ if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL)
+ virNetDevBandwidthClearRoot(ifname);
+
average = g_strdup_printf("%llukbps", tx->average);
if (tx->peak)
peak = g_strdup_printf("%llukbps", tx->peak);
}
if (rx) {
+ /* Only if the caller requests, clear the ingress qdisc and all
+ * filters before adding everything.
+ */
+ if (flags & VIR_NETDEV_BANDWIDTH_SET_CLEAR_ALL)
+ virNetDevBandwidthClearIngress(ifname);
+
average = g_strdup_printf("%llukbps", rx->average);
if (rx->burst) {
" <inbound average='1024'/>"
"</bandwidth>",
"tc qdisc del dev eth0 root\n"
- "tc qdisc del dev eth0 ingress\n"
"tc qdisc show dev eth0 handle 1:\n"
"tc qdisc add dev eth0 root handle 1: htb default 1\n"
"tc class add dev eth0 parent 1: classid 1:1 htb rate 1024kbps quantum 87\n"
DO_TEST_SET("<bandwidth>"
" <outbound average='1024'/>"
"</bandwidth>",
- "tc qdisc del dev eth0 root\n"
"tc qdisc del dev eth0 ingress\n"
"tc qdisc add dev eth0 ingress\n"
"tc filter add dev eth0 parent ffff: protocol all u32 match u32 0 0"
" <outbound average='5' peak='6' burst='7'/>"
"</bandwidth>",
"tc qdisc del dev eth0 root\n"
- "tc qdisc del dev eth0 ingress\n"
"tc qdisc show dev eth0 handle 1:\n"
"tc qdisc add dev eth0 root handle 1: htb default 1\n"
"tc class add dev eth0 parent 1: classid 1:1 htb rate 1kbps ceil 2kbps burst 4kb quantum 1\n"
"tc qdisc add dev eth0 parent 1:1 handle 2: sfq perturb 10\n"
"tc filter add dev eth0 parent 1:0 protocol all prio 1 handle 1 fw flowid 1\n"
+ "tc qdisc del dev eth0 ingress\n"
"tc qdisc add dev eth0 ingress\n"
"tc filter add dev eth0 parent ffff: protocol all u32 match u32 0 0"
" police rate 5kbps burst 7kb mtu 64kb drop flowid :1\n",
" <outbound average='4294967295'/>"
"</bandwidth>",
"tc qdisc del dev eth0 root\n"
- "tc qdisc del dev eth0 ingress\n"
"tc qdisc show dev eth0 handle 1:\n"
"tc qdisc add dev eth0 root handle 1: htb default 1\n"
"tc class add dev eth0 parent 1: classid 1:1 htb rate 4294967295kbps quantum 366503875\n"
"tc qdisc add dev eth0 parent 1:1 handle 2: sfq perturb 10\n"
"tc filter add dev eth0 parent 1:0 protocol all prio 1 handle 1 fw flowid 1\n"
+ "tc qdisc del dev eth0 ingress\n"
"tc qdisc add dev eth0 ingress\n"
"tc filter add dev eth0 parent ffff: protocol all u32 match"
" u32 0 0 police rate 4294967295kbps burst 4194303kb mtu 64kb"