我尝试使用流量控制选项在我的Android手机上将流量从一个界面重定向到另一个界面。
尝试命令时,
tc qdisc add dev wlan0 root handle 1: prio
我收到以下错误
Android does not support qdisc 'prio'
prio
qdisc支持? prio
qdisc,那么我的其他选项可能是什么? 答案 0 :(得分:1)
对于现在正在研究这个问题的人来说,Android开发人员实际上将特定模块硬编码到tc中并将其中的大部分/大部分模块保留下来,包括prio。如果您从root查看位于/external/iproute2/tc/tc.c(链接到kitkat)的AOSP的tc.c文件,您会看到他们将特定的qdisc类型硬编码到支票中:
#ifdef ANDROID
if (!strcmp(str, "cbq"))
return &cbq_qdisc_util;
else if (!strcmp(str, "htb"))
return &htb_qdisc_util;
else if (!strcmp(str, "ingress"))
return &ingress_qdisc_util;
else {
fprintf(stderr, "Android does not support qdisc '%s'\n", str);
return NULL;
}
#endif
我在cynaogenmod发现了一个提交,它实际上修补了这些文件以恢复剩余的功能,比如prio。您可以找到代码提交here(将差异下载到补丁)。
希望有所帮助!
答案 1 :(得分:-1)
CONFIG_NET_SCH_PRIO
支持Linux内核中的prio
qdisc。很可能在构建内核时没有启用它。它列在Linux内核配置树下:
-> Networking support
-> Networking options
-> QoS and/or fair queueing
-> Multi Band Priority Queueing (PRIO)