Thread (31 messages) read the whole thread 31 messages, 3 authors, 2011-08-29

Re: [PATCH 2/9] mac80211: Limit amount of HWMP frames and forwarded data packets in queues on mesh interfaces

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2011-08-25 05:08:05

On Wed, 2011-08-24 at 18:40 -0700, Thomas Pedersen wrote:
From: Pedro Larbig <redacted>

To avoid contention problems in a mesh network's high load areas, this patch
adds a 2-stage packet dropping mechanism:
* If the transmit queue for HWMP frames is filled with 256 or more packets,
additional HWMP frames will be dropped
* If the transmit queue for forwarded packets is at 384 or more, drop those,
too
+	/* Frames going through ieee80211_tx_skb will be on the voice queue,
+	 * Therefor we need to check only IEEE80211_AC_VO */
+	if (unlikely(skb_queue_len(&local->pending[IEEE80211_AC_VO]) >=
+	   MESH_MGMT_QUEUE_LEN)) {
+		kfree_skb(skb);
+		I802_DEBUG_INC(local->tx_handlers_drop_mesh_mgmt);
+		return;
+	}
I still don't think this should be done. If the HW queue is full, we
will get a stop_queue from the driver, this could also tell mesh to stop
forwarding or so.

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help