filter_id = g_strdup_printf("800::%u", 800 + id);
if (remove_old) {
- g_autoptr(virCommand) cmd = virCommandNew(TC);
+ g_autoptr(virCommand) cmd = virCommandNew("tc");
int cmd_ret = 0;
virCommandAddArgList(cmd, "filter", "del", "dev", ifname,
}
if (create_new) {
- g_autoptr(virCommand) cmd = virCommandNew(TC);
+ g_autoptr(virCommand) cmd = virCommandNew("tc");
virMacAddrGetRaw(ifmac_ptr, ifmac);
mac[0] = g_strdup_printf("0x%02x%02x%02x%02x", ifmac[2],
*/
if (hierarchical_class) {
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "class", "add", "dev", ifname, "parent",
"1:", "classid", "1:1", "htb", "rate", average,
"ceil", peak ? peak : average, NULL);
goto cleanup;
}
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "class", "add", "dev", ifname, "parent",
hierarchical_class ? "1:1" : "1:", "classid",
hierarchical_class ? "1:2" : "1:1", "htb",
goto cleanup;
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "qdisc", "add", "dev", ifname, "parent",
hierarchical_class ? "1:2" : "1:1",
"handle", "2:", "sfq", "perturb",
goto cleanup;
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "filter", "add", "dev", ifname, "parent",
"1:0", "protocol", "all", "prio", "1", "handle",
"1", "fw", "flowid", "1", NULL);
}
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "qdisc", "add", "dev", ifname,
"ingress", NULL);
goto cleanup;
virCommandFree(cmd);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
/* Set filter to match all ingress traffic */
virCommandAddArgList(cmd, "filter", "add", "dev", ifname, "parent",
"ffff:", "protocol", "all", "u32", "match", "u32",
if (!ifname)
return 0;
- rootcmd = virCommandNew(TC);
+ rootcmd = virCommandNew("tc");
virCommandAddArgList(rootcmd, "qdisc", "del", "dev", ifname, "root", NULL);
if (virCommandRun(rootcmd, &dummy) < 0)
ret = -1;
- ingresscmd = virCommandNew(TC);
+ ingresscmd = virCommandNew("tc");
virCommandAddArgList(ingresscmd, "qdisc", "del", "dev", ifname, "ingress", NULL);
if (virCommandRun(ingresscmd, &dummy) < 0)
net_bandwidth->in->peak :
net_bandwidth->in->average);
- cmd1 = virCommandNew(TC);
+ cmd1 = virCommandNew("tc");
virCommandAddArgList(cmd1, "class", "add", "dev", brname, "parent", "1:1",
"classid", class_id, "htb", "rate", floor,
"ceil", ceil, NULL);
if (virCommandRun(cmd1, NULL) < 0)
return -1;
- cmd2 = virCommandNew(TC);
+ cmd2 = virCommandNew("tc");
virCommandAddArgList(cmd2, "qdisc", "add", "dev", brname, "parent",
class_id, "handle", qdisc_id, "sfq", "perturb",
"10", NULL);
class_id = g_strdup_printf("1:%x", id);
qdisc_id = g_strdup_printf("%x:", id);
- cmd1 = virCommandNew(TC);
+ cmd1 = virCommandNew("tc");
virCommandAddArgList(cmd1, "qdisc", "del", "dev", brname,
"handle", qdisc_id, NULL);
NULL, true, false) < 0)
return -1;
- cmd2 = virCommandNew(TC);
+ cmd2 = virCommandNew("tc");
virCommandAddArgList(cmd2, "class", "del", "dev", brname,
"classid", class_id, NULL);
bandwidth->in->peak :
bandwidth->in->average);
- cmd = virCommandNew(TC);
+ cmd = virCommandNew("tc");
virCommandAddArgList(cmd, "class", "change", "dev", ifname,
"classid", class_id, "htb", "rate", rate,
"ceil", ceil, NULL);
/* Ideally, we would have a netlink implementation and just
* call it here. But honestly, I tried and failed miserably.
* Fallback to spawning tc. */
- cmd = virCommandNewArgList(TC, "qdisc", "add", "dev", ifname,
+ cmd = virCommandNewArgList("tc", "qdisc", "add", "dev", ifname,
"root", "handle", "0:", qdisc,
NULL);
/* first check it the qdisc with handle 1: was already added for
* this interface by someone else
*/
- testCmd = virCommandNew(TC);
+ testCmd = virCommandNew("tc");
virCommandAddArgList(testCmd, "qdisc", "show", "dev", ifname,
"handle", "1:", NULL);
virCommandSetOutputBuffer(testCmd, &testResult);
*/
if (!(testResult && strstr(testResult, "qdisc") && strstr(testResult, " 1: "))) {
/* didn't find qdisc in output, so we need to add one */
- g_autoptr(virCommand) addCmd = virCommandNew(TC);
+ g_autoptr(virCommand) addCmd = virCommandNew("tc");
virCommandAddArgList(addCmd, "qdisc", "add", "dev", ifname, "root",
"handle", "1:", "htb", "default",
DO_TEST_SET("<bandwidth>"
" <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"
- 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 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"
+ "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",
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find queue 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find qos 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
"ovs-vsctl --timeout=5 set port eth0 qos=@qos1 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"' --"
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"
+ "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"
" police rate 1024kbps burst 1024kb mtu 64kb drop flowid :1\n",
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find queue 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find qos 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
" <inbound average='1' peak='2' floor='3' burst='4'/>"
" <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 add dev eth0 ingress\n"
- TC " filter add dev eth0 parent ffff: protocol all u32 match u32 0 0"
+ "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 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",
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find queue 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find qos 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"
" <inbound average='4294967295'/>"
" <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 add dev eth0 ingress\n"
- TC " filter add dev eth0 parent ffff: protocol all u32 match"
+ "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 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"
" drop flowid :1\n",
"ovs-vsctl --timeout=5 --no-heading --columns=_uuid find queue 'external-ids:vm-id=\"" VMUUID "\"' 'external-ids:ifname=\"eth0\"'\n"