* Query on queues in mesh mode @ 2018-03-01 15:27 Phani Siriki 2018-03-07 5:59 ` Thomas Pedersen 0 siblings, 1 reply; 8+ messages in thread From: Phani Siriki @ 2018-03-01 15:27 UTC (permalink / raw) To: linux-wireless Hi All I am trying to understand the queuing mechanism wireless mesh networks. As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. Does, mesh mode also involve these queues? Does mesh mode have any queue or it is just a single queue? Could someone clarify this? Best Regards Phani ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-01 15:27 Query on queues in mesh mode Phani Siriki @ 2018-03-07 5:59 ` Thomas Pedersen 2018-03-07 16:39 ` Phani Siriki 0 siblings, 1 reply; 8+ messages in thread From: Thomas Pedersen @ 2018-03-07 5:59 UTC (permalink / raw) To: Phani Siriki; +Cc: linux-wireless On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: > Hi All > > I am trying to understand the queuing mechanism wireless mesh networks. > > As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) > and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. > > Does, mesh mode also involve these queues? Does mesh mode have any > queue or it is just a single queue? mesh mode maps to the different ACs like AP mode. The only additional queue in mesh is the mpath->frame_queue, which may be used if an active mpath for a given RA can't be found. -- thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-07 5:59 ` Thomas Pedersen @ 2018-03-07 16:39 ` Phani Siriki 2018-03-15 16:41 ` Phani Siriki 2018-03-15 22:31 ` Thomas Pedersen 0 siblings, 2 replies; 8+ messages in thread From: Phani Siriki @ 2018-03-07 16:39 UTC (permalink / raw) To: Thomas Pedersen; +Cc: linux-wireless Hi Thomas Thank you for your reply. Could you please let me know how can I verify these queues on a mesh router? (I am using TPLink router with Ath9k chipset). Also, the TXQ parameters can only be set if device is in AP or P2P mode. Do you have any idea why this restriction is in place? https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) { if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { .... if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) return -EINVAL; ... } Best Regards Phani On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: > On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >> Hi All >> >> I am trying to understand the queuing mechanism wireless mesh networks. >> >> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >> >> Does, mesh mode also involve these queues? Does mesh mode have any >> queue or it is just a single queue? > > mesh mode maps to the different ACs like AP mode. The only additional > queue in mesh is the mpath->frame_queue, which may be used if an > active mpath for a given RA can't be found. > > -- > thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-07 16:39 ` Phani Siriki @ 2018-03-15 16:41 ` Phani Siriki 2018-03-15 22:31 ` Thomas Pedersen 1 sibling, 0 replies; 8+ messages in thread From: Phani Siriki @ 2018-03-15 16:41 UTC (permalink / raw) To: Thomas Pedersen; +Cc: linux-wireless Could someone help me on this? On Wed, Mar 7, 2018 at 10:39 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: > Hi Thomas > > Thank you for your reply. > > Could you please let me know how can I verify these queues on a mesh > router? (I am using TPLink router with Ath9k chipset). > > Also, the TXQ parameters can only be set if device is in AP or P2P > mode. Do you have any idea why this restriction is in place? > > https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c > > static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) > { > > if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { > .... > if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && > netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) > return -EINVAL; > ... > } > > Best Regards > Phani > > On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: >> On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>> Hi All >>> >>> I am trying to understand the queuing mechanism wireless mesh networks. >>> >>> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >>> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >>> >>> Does, mesh mode also involve these queues? Does mesh mode have any >>> queue or it is just a single queue? >> >> mesh mode maps to the different ACs like AP mode. The only additional >> queue in mesh is the mpath->frame_queue, which may be used if an >> active mpath for a given RA can't be found. >> >> -- >> thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-07 16:39 ` Phani Siriki 2018-03-15 16:41 ` Phani Siriki @ 2018-03-15 22:31 ` Thomas Pedersen 2018-03-16 15:41 ` Phani Siriki 1 sibling, 1 reply; 8+ messages in thread From: Thomas Pedersen @ 2018-03-15 22:31 UTC (permalink / raw) To: Phani Siriki; +Cc: linux-wireless On Wed, Mar 7, 2018 at 8:39 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: > Hi Thomas > > Thank you for your reply. > > Could you please let me know how can I verify these queues on a mesh > router? (I am using TPLink router with Ath9k chipset). try $ iw mesh0 mpath dump The mpath queue length is under the "QLEN" heading. > Also, the TXQ parameters can only be set if device is in AP or P2P > mode. Do you have any idea why this restriction is in place? I don't think there is any reason modifying the queue parameters wouldn't work in mesh mode. Why don't you hack up that code and give it a try. > https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c > > static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) > { > > if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { > .... > if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && > netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) > return -EINVAL; > ... > } > > Best Regards > Phani > > On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: >> On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>> Hi All >>> >>> I am trying to understand the queuing mechanism wireless mesh networks. >>> >>> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >>> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >>> >>> Does, mesh mode also involve these queues? Does mesh mode have any >>> queue or it is just a single queue? >> >> mesh mode maps to the different ACs like AP mode. The only additional >> queue in mesh is the mpath->frame_queue, which may be used if an >> active mpath for a given RA can't be found. >> >> -- >> thomas -- thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-15 22:31 ` Thomas Pedersen @ 2018-03-16 15:41 ` Phani Siriki 2018-03-24 3:39 ` Phani Siriki 0 siblings, 1 reply; 8+ messages in thread From: Phani Siriki @ 2018-03-16 15:41 UTC (permalink / raw) To: Thomas Pedersen; +Cc: linux-wireless Thanks Thomas. I will try to hack the code and let you know. Best Regards Phani On Thu, Mar 15, 2018 at 5:31 PM, Thomas Pedersen <thomas@eero.com> wrote: > On Wed, Mar 7, 2018 at 8:39 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >> Hi Thomas >> >> Thank you for your reply. >> >> Could you please let me know how can I verify these queues on a mesh >> router? (I am using TPLink router with Ath9k chipset). > > try > > $ iw mesh0 mpath dump > > The mpath queue length is under the "QLEN" heading. > >> Also, the TXQ parameters can only be set if device is in AP or P2P >> mode. Do you have any idea why this restriction is in place? > > I don't think there is any reason modifying the queue parameters wouldn't work > in mesh mode. Why don't you hack up that code and give it a try. > >> https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c >> >> static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) >> { >> >> if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { >> .... >> if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && >> netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) >> return -EINVAL; >> ... >> } >> >> Best Regards >> Phani >> >> On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: >>> On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>>> Hi All >>>> >>>> I am trying to understand the queuing mechanism wireless mesh networks. >>>> >>>> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >>>> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >>>> >>>> Does, mesh mode also involve these queues? Does mesh mode have any >>>> queue or it is just a single queue? >>> >>> mesh mode maps to the different ACs like AP mode. The only additional >>> queue in mesh is the mpath->frame_queue, which may be used if an >>> active mpath for a given RA can't be found. >>> >>> -- >>> thomas > > > > -- > thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-16 15:41 ` Phani Siriki @ 2018-03-24 3:39 ` Phani Siriki 2018-03-28 0:35 ` Phani Siriki 0 siblings, 1 reply; 8+ messages in thread From: Phani Siriki @ 2018-03-24 3:39 UTC (permalink / raw) To: Thomas Pedersen; +Cc: linux-wireless Hi Thomas I modified the code and tried to set the TXQ parameters for mesh interface. I didn't observe any error. However, I modified the ath9k driver code to verify default TXQ parameters. But I am observing same values for all the queues and the cwmin is looks different. To my understanding, the configured parameters using netlink library will get effect in driver queues.. nl80211 - cfg80211 - mac80211 - ath9k Could you please let me know if I am doing something wrong. wifi@wifi-VirtualBox:~/chaos/get_txq_code/chaos_calmer-15.05.1/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/compat-wireless-2015-03-09$ quilt diff Index: compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c =================================================================== --- compat-wireless-2015-03-09.orig/drivers/net/wireless/ath/ath9k/debug.c +++ compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c @@ -639,6 +639,7 @@ static int read_file_queues(struct seq_f { struct ieee80211_hw *hw = dev_get_drvdata(file->private); struct ath_softc *sc = hw->priv; + struct ath_hw *ah = sc->sc_ah; struct ath_txq *txq; int i; static const char *qname[4] = { @@ -648,6 +649,10 @@ static int read_file_queues(struct seq_f for (i = 0; i < IEEE80211_NUM_ACS; i++) { txq = sc->tx.txq_map[i]; seq_printf(file, "(%s): ", qname[i]); + seq_printf(file, "(%s): %u ", "cwmin", ah->txq[i].tqi_cwmin); + seq_printf(file, "(%s): %u ", "cwmax", ah->txq[i].tqi_cwmax); + seq_printf(file, "(%s): %u ", "aifs", ah->txq[i].tqi_aifs); + seq_printf(file, "(%s): %u ", "burst", ah->txq[i].tqi_burstTime); print_queue(sc, txq, file); } root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/ath9k/queues (VO): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 3 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (VI): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 2 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BE): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 1 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BK): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 0 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (CAB): qnum: 8 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 Best Regards Phani On Fri, Mar 16, 2018 at 10:41 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: > Thanks Thomas. I will try to hack the code and let you know. > > Best Regards > Phani > > On Thu, Mar 15, 2018 at 5:31 PM, Thomas Pedersen <thomas@eero.com> wrote: >> On Wed, Mar 7, 2018 at 8:39 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>> Hi Thomas >>> >>> Thank you for your reply. >>> >>> Could you please let me know how can I verify these queues on a mesh >>> router? (I am using TPLink router with Ath9k chipset). >> >> try >> >> $ iw mesh0 mpath dump >> >> The mpath queue length is under the "QLEN" heading. >> >>> Also, the TXQ parameters can only be set if device is in AP or P2P >>> mode. Do you have any idea why this restriction is in place? >> >> I don't think there is any reason modifying the queue parameters wouldn't work >> in mesh mode. Why don't you hack up that code and give it a try. >> >>> https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c >>> >>> static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) >>> { >>> >>> if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { >>> .... >>> if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && >>> netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) >>> return -EINVAL; >>> ... >>> } >>> >>> Best Regards >>> Phani >>> >>> On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: >>>> On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>>>> Hi All >>>>> >>>>> I am trying to understand the queuing mechanism wireless mesh networks. >>>>> >>>>> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >>>>> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >>>>> >>>>> Does, mesh mode also involve these queues? Does mesh mode have any >>>>> queue or it is just a single queue? >>>> >>>> mesh mode maps to the different ACs like AP mode. The only additional >>>> queue in mesh is the mpath->frame_queue, which may be used if an >>>> active mpath for a given RA can't be found. >>>> >>>> -- >>>> thomas >> >> >> >> -- >> thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Query on queues in mesh mode 2018-03-24 3:39 ` Phani Siriki @ 2018-03-28 0:35 ` Phani Siriki 0 siblings, 0 replies; 8+ messages in thread From: Phani Siriki @ 2018-03-28 0:35 UTC (permalink / raw) To: Thomas Pedersen; +Cc: linux-wireless Hi Thomas I am able to see the correct values after I enable the wifi interface and with the following changes. Index: compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c =================================================================== --- compat-wireless-2015-03-09.orig/drivers/net/wireless/ath/ath9k/debug.c +++ compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c @@ -624,8 +624,13 @@ static int read_file_xmit(struct seq_fil static void print_queue(struct ath_softc *sc, struct ath_txq *txq, struct seq_file *file) { + seq_printf(file, "(%s): %d ", "cwmin", sc->sc_ah->txq[txq->axq_qnum].tqi_cwmin); + seq_printf(file, "(%s): %d ", "cwmax", sc->sc_ah->txq[txq->axq_qnum].tqi_cwmax); + seq_printf(file, "(%s): %d ", "aifs", sc->sc_ah->txq[txq->axq_qnum].tqi_aifs); + seq_printf(file, "(%s): %d ", "burst", sc->sc_ah->txq[txq->axq_qnum].tqi_burstTime); ath_txq_lock(sc, txq); + seq_printf(file, "%s: %d ", "mac qnum", txq->mac80211_qnum); seq_printf(file, "%s: %d ", "qnum", txq->axq_qnum); seq_printf(file, "%s: %2d ", "qdepth", txq->axq_depth); seq_printf(file, "%s: %2d ", "ampdu-depth", txq->axq_ampdu_depth); @@ -639,6 +644,7 @@ static int read_file_queues(struct seq_f Default values: =========== root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/ath9k/queues (VO): (cwmin): 3 (cwmax): 7 (aifs): 2 (burst): 1504 mac qnum: 0 qnum: 3 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (VI): (cwmin): 7 (cwmax): 15 (aifs): 2 (burst): 3008 mac qnum: 1 qnum: 2 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BE): (cwmin): 15 (cwmax): 1023 (aifs): 3 (burst): 0 mac qnum: 2 qnum: 1 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BK): (cwmin): 15 (cwmax): 1023 (aifs): 7 (burst): 0 mac qnum: 3 qnum: 0 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (CAB): (cwmin): -1 (cwmax): 1023 (aifs): 2 (burst): 0 mac qnum: -1 qnum: 8 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 Modified Queue 0 values: =================== root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/ath9k/queues (VO): (cwmin): 7 (cwmax): 63 (aifs): 7 (burst): 0 mac qnum: 0 qnum: 3 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (VI): (cwmin): 7 (cwmax): 15 (aifs): 2 (burst): 3008 mac qnum: 1 qnum: 2 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BE): (cwmin): 15 (cwmax): 1023 (aifs): 3 (burst): 0 mac qnum: 2 qnum: 1 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (BK): (cwmin): 15 (cwmax): 1023 (aifs): 7 (burst): 0 mac qnum: 3 qnum: 0 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 (CAB): (cwmin): -1 (cwmax): 1023 (aifs): 2 (burst): 0 mac qnum: -1 qnum: 8 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 Best Regards Phani On Fri, Mar 23, 2018 at 10:39 PM, Phani Siriki <yvsg.phanis@gmail.com> wrote: > Hi Thomas > > I modified the code and tried to set the TXQ parameters for mesh > interface. I didn't observe any error. > > However, I modified the ath9k driver code to verify default TXQ > parameters. But I am observing same values for all the queues and the > cwmin is looks different. > > To my understanding, the configured parameters using netlink library > will get effect in driver queues.. > > nl80211 - cfg80211 - mac80211 - ath9k > > Could you please let me know if I am doing something wrong. > > > wifi@wifi-VirtualBox:~/chaos/get_txq_code/chaos_calmer-15.05.1/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/compat-wireless-2015-03-09$ > quilt diff > Index: compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c > =================================================================== > --- compat-wireless-2015-03-09.orig/drivers/net/wireless/ath/ath9k/debug.c > +++ compat-wireless-2015-03-09/drivers/net/wireless/ath/ath9k/debug.c > @@ -639,6 +639,7 @@ static int read_file_queues(struct seq_f > { > struct ieee80211_hw *hw = dev_get_drvdata(file->private); > struct ath_softc *sc = hw->priv; > + struct ath_hw *ah = sc->sc_ah; > struct ath_txq *txq; > int i; > static const char *qname[4] = { > @@ -648,6 +649,10 @@ static int read_file_queues(struct seq_f > for (i = 0; i < IEEE80211_NUM_ACS; i++) { > txq = sc->tx.txq_map[i]; > seq_printf(file, "(%s): ", qname[i]); > + seq_printf(file, "(%s): %u ", "cwmin", ah->txq[i].tqi_cwmin); > + seq_printf(file, "(%s): %u ", "cwmax", ah->txq[i].tqi_cwmax); > + seq_printf(file, "(%s): %u ", "aifs", ah->txq[i].tqi_aifs); > + seq_printf(file, "(%s): %u ", "burst", > ah->txq[i].tqi_burstTime); > print_queue(sc, txq, file); > } > > root@OpenWrt:~# cat /sys/kernel/debug/ieee80211/phy0/ath9k/queues > (VO): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 3 > qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 > (VI): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 2 > qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 > (BE): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 1 > qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 > (BK): (cwmin): 4294967295 (cwmax): 1023 (aifs): 2 (burst): 0 qnum: 0 > qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 > (CAB): qnum: 8 qdepth: 0 ampdu-depth: 0 pending: 0 stopped: 0 > > Best Regards > Phani > > On Fri, Mar 16, 2018 at 10:41 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >> Thanks Thomas. I will try to hack the code and let you know. >> >> Best Regards >> Phani >> >> On Thu, Mar 15, 2018 at 5:31 PM, Thomas Pedersen <thomas@eero.com> wrote: >>> On Wed, Mar 7, 2018 at 8:39 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>>> Hi Thomas >>>> >>>> Thank you for your reply. >>>> >>>> Could you please let me know how can I verify these queues on a mesh >>>> router? (I am using TPLink router with Ath9k chipset). >>> >>> try >>> >>> $ iw mesh0 mpath dump >>> >>> The mpath queue length is under the "QLEN" heading. >>> >>>> Also, the TXQ parameters can only be set if device is in AP or P2P >>>> mode. Do you have any idea why this restriction is in place? >>> >>> I don't think there is any reason modifying the queue parameters wouldn't work >>> in mesh mode. Why don't you hack up that code and give it a try. >>> >>>> https://github.com/torvalds/linux/blob/master/net/wireless/nl80211.c >>>> >>>> static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) >>>> { >>>> >>>> if (info->attrs[NL80211_ATTR_WIPHY_TXQ_PARAMS]) { >>>> .... >>>> if (netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_AP && >>>> netdev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) >>>> return -EINVAL; >>>> ... >>>> } >>>> >>>> Best Regards >>>> Phani >>>> >>>> On Tue, Mar 6, 2018 at 11:59 PM, Thomas Pedersen <thomas@eero.com> wrote: >>>>> On Thu, Mar 1, 2018 at 7:27 AM, Phani Siriki <yvsg.phanis@gmail.com> wrote: >>>>>> Hi All >>>>>> >>>>>> I am trying to understand the queuing mechanism wireless mesh networks. >>>>>> >>>>>> As per AP mode is concerned, there are four queues (BK, BE, Vi, VO) >>>>>> and traffic is controlled based on CWmin, CWmax, AIFS and TxOP. >>>>>> >>>>>> Does, mesh mode also involve these queues? Does mesh mode have any >>>>>> queue or it is just a single queue? >>>>> >>>>> mesh mode maps to the different ACs like AP mode. The only additional >>>>> queue in mesh is the mpath->frame_queue, which may be used if an >>>>> active mpath for a given RA can't be found. >>>>> >>>>> -- >>>>> thomas >>> >>> >>> >>> -- >>> thomas ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2018-03-28 0:35 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-03-01 15:27 Query on queues in mesh mode Phani Siriki 2018-03-07 5:59 ` Thomas Pedersen 2018-03-07 16:39 ` Phani Siriki 2018-03-15 16:41 ` Phani Siriki 2018-03-15 22:31 ` Thomas Pedersen 2018-03-16 15:41 ` Phani Siriki 2018-03-24 3:39 ` Phani Siriki 2018-03-28 0:35 ` Phani Siriki
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.