}
printlog(LOG_DEBUG, "HTB_cmd: %s\n", cmd);
- /* Add back 1:20. */
- sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:1 classid 1:20 htb rate 8bit ceil 1000mbit");
-
- if (execute_cmd(cmd)) {
- return 1;
- }
- printlog(LOG_DEBUG, "HTB_cmd: %s\n", cmd);
-
-
/* Add machines. */
for (i = 0; i < instance->machine_count; ++i) {
sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:%x classid 1:%x htb rate 8bit ceil %lubit",
printlog(LOG_DEBUG, "HTB_cmd: %s\n", cmd);
}
+#define LIMITEXEMPT
+
+ /* Add back 1:20. */
+#ifdef LIMITEXEMPT
+ if (instance->last_machine == NULL) {
+ sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:1 classid 1:20 htb rate 8bit ceil 1000mbit");
+ } else {
+ sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:%x classid 1:20 htb rate 8bit ceil 1000mbit",
+ instance->last_machine->htb_node);
+ }
+#else
+ sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:1 classid 1:20 htb rate 8bit ceil 1000mbit");
+#endif
+
+ if (execute_cmd(cmd)) {
+ return 1;
+ }
+ printlog(LOG_DEBUG, "HTB_cmd: %s\n", cmd);
+
/* Add sets. */
for (j = (instance->set_count - 1); j >= 0; --j) {
sprintf(cmd, "/sbin/tc class add dev eth0 parent 1:%x classid 1:%x htb rate 8bit ceil %lubit",
/* End delay testing */
#endif
-//#define SFQTEST
-
-#ifdef SFQTEST
- sprintf(cmd, "/sbin/tc qdisc del dev eth0 parent 1:1000 handle 1000 pfifo");
- execute_cmd(cmd);
-
- sprintf(cmd, "/sbin/tc qdisc replace dev eth0 parent 1:1000 handle 1000 sfq perturb 20");
- execute_cmd(cmd);
-#endif
-
return 0;
}