+ cli_print(cli, "\tIntercepted:\tno");
+
+ cli_print(cli, "\tWalled Garden:\t%s", session[s].walled_garden ? "YES" : "no");
+ {
+ int t = (session[s].throttle_in || session[s].throttle_out);
+ cli_print(cli, "\tThrottled:\t%s%s%.0d%s%s%.0d%s%s",
+ t ? "YES" : "no", t ? " (" : "",
+ session[s].throttle_in, session[s].throttle_in ? "kbps" : t ? "-" : "",
+ t ? "/" : "",
+ session[s].throttle_out, session[s].throttle_out ? "kbps" : t ? "-" : "",
+ t ? ")" : "");
+ }
+
+ b_in = session[s].tbf_in;
+ b_out = session[s].tbf_out;
+ if (b_in || b_out)
+ cli_print(cli, "\t\t\t%5s %6s %6s | %7s %7s %8s %8s %8s %8s",
+ "Rate", "Credit", "Queued", "ByteIn", "PackIn",
+ "ByteSent", "PackSent", "PackDrop", "PackDelay");
+
+ if (b_in)
+ cli_print(cli, "\tTBFI#%d%1s%s\t%5d %6d %6d | %7d %7d %8d %8d %8d %8d",
+ b_in,
+ (filter_list[b_in].next ? "*" : " "),
+ (b_in < 100 ? "\t" : ""),
+ filter_list[b_in].rate * 8,
+ filter_list[b_in].credit,
+ filter_list[b_in].queued,
+ filter_list[b_in].b_queued,
+ filter_list[b_in].p_queued,
+ filter_list[b_in].b_sent,
+ filter_list[b_in].p_sent,
+ filter_list[b_in].p_dropped,
+ filter_list[b_in].p_delayed);
+
+ if (b_out)
+ cli_print(cli, "\tTBFO#%d%1s%s\t%5d %6d %6d | %7d %7d %8d %8d %8d %8d",
+ b_out,
+ (filter_list[b_out].next ? "*" : " "),
+ (b_out < 100 ? "\t" : ""),
+ filter_list[b_out].rate * 8,
+ filter_list[b_out].credit,
+ filter_list[b_out].queued,
+ filter_list[b_out].b_queued,
+ filter_list[b_out].p_queued,
+ filter_list[b_out].b_sent,
+ filter_list[b_out].p_sent,
+ filter_list[b_out].p_dropped,
+ filter_list[b_out].p_delayed);
+