Joined: 10 Sep 2017
|Posted: Wed Jul 10, 2019 17:42 Post subject: Make it clear about the QDISC routes inside a DD-WRT router
|My router is Linksys EA2700 with broadcom CPU inside, running DD-WRT trail firmware (like dd-wrt-xxxxx-ea2700.trx) with Linux kernel 3.10.108 inside.
Here are these PHY port devices I can find inside theDD-WRT Linux system in my router:
eth0: all wired ethernet ports included LAN and WAN
eth1: Wireless LAN AP
lo: 127.0.0.1 loopback
vlan1: only all LAN wired ethernet ports
vlan2: the WAN ethernet port (with WAN IP)
br0: bridge combining eth1 with vlan1 (192.168.1.1)
And so now I can find there are default 1000 (in packets) Tx Queue Length (txqueuelen) assigned to eth0, eth1 and vlan2. For vlan1, lo and br0 are default 0 txqueuelen.
So what I'm confused is, how are the queues used up when I send out things from LAN or wifi to WAN, and receive things from WAN to LAN or wifi?
As I guessed, would it be:
From Wifi to internet: eth1 qdisc queue -> br0 (no queue) -> eth0 qdisc queue -> vlan2 qdisc queue (total queued 3 times before leaving router)
From internet to Wifi: eth0 qdisc queue -> br0 (no queue) -> eth1 qdisc queue (total queued 2 times before leaving router)
From LAN to internet: eth0 qdisc queue -> vlan2 qdisc queue (total queued 2 times before leaving router)
From internet to LAN: eth0 qdisc queue (total queued 1 times before leaving router)
I'm still confused, I wanna make it clear to help me to decide the length of each txqueuelen qdisc. Anyone could tell me those routes?
P.S. Tx Queue Length (txqueuelen) = the qdisc fifo buffer between kernel IP stack and the PHY driver. One for each PHY port, so 5 ports = 5 qdisc object. The default qdisc buffer is pfifo_fast, which is 3 parallel queues inside, but not really fair polling. One queue stores packets with higher priority than the other 2 queues. The priority is defined by the Type Of Service (ToS) of every packet while QoS is disabled.