All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] add auto parameter to set distance command
@ 2014-07-20 12:33 Lorenzo Bianconi
  2014-07-20 12:33 ` [PATCH 1/2] iw: sync nl80211_attrs Lorenzo Bianconi
  2014-07-20 12:33 ` [PATCH 2/2] iw: add auto parameter to set distance command Lorenzo Bianconi
  0 siblings, 2 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2014-07-20 12:33 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Philippe Duchein

Add auto parameter to set distance command in order to enable ack timeout
estimation algorithm (dynack). Currently dynack is supported just by ath9k

This patchset is based on "configure ack timeout estimation algorithm through
mac80211 stack" one sent on linux-wireless

Lorenzo Bianconi (2):
  iw: sync nl80211_attrs
  iw: add auto parameter to set distance command

 nl80211.h | 10 ++++++++++
 phy.c     | 44 +++++++++++++++++++++++++-------------------
 2 files changed, 35 insertions(+), 19 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] iw: sync nl80211_attrs
  2014-07-20 12:33 [PATCH 0/2] add auto parameter to set distance command Lorenzo Bianconi
@ 2014-07-20 12:33 ` Lorenzo Bianconi
  2014-07-20 12:33 ` [PATCH 2/2] iw: add auto parameter to set distance command Lorenzo Bianconi
  1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2014-07-20 12:33 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Philippe Duchein

Sync nl80211_attrs with mac80211 stack

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
---
 nl80211.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/nl80211.h b/nl80211.h
index be9519b..f1db15b 100644
--- a/nl80211.h
+++ b/nl80211.h
@@ -1591,6 +1591,9 @@ enum nl80211_commands {
  *	creation then the new interface will be owned by the netlink socket
  *	that created it and will be destroyed when the socket is closed
  *
+ * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
+ *	the TDLS link initiator.
+ *
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
  */
@@ -1931,6 +1934,8 @@ enum nl80211_attrs {
 	NL80211_ATTR_CSA_C_OFFSETS_TX,
 	NL80211_ATTR_MAX_CSA_COUNTERS,
 
+	NL80211_ATTR_TDLS_INITIATOR,
+
 	/* add attributes here, update the policy in nl80211.c */
 
 	__NL80211_ATTR_AFTER_LAST,
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] iw: add auto parameter to set distance command
  2014-07-20 12:33 [PATCH 0/2] add auto parameter to set distance command Lorenzo Bianconi
  2014-07-20 12:33 ` [PATCH 1/2] iw: sync nl80211_attrs Lorenzo Bianconi
@ 2014-07-20 12:33 ` Lorenzo Bianconi
  1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Bianconi @ 2014-07-20 12:33 UTC (permalink / raw)
  To: Johannes Berg; +Cc: linux-wireless, Philippe Duchein

Add auto parameter to set distance command in order to enable ack timeout
estimation algorithm (dynack). Currently dynack is supported just by ath9k

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
---
 nl80211.h |  5 +++++
 phy.c     | 44 +++++++++++++++++++++++++-------------------
 2 files changed, 30 insertions(+), 19 deletions(-)

diff --git a/nl80211.h b/nl80211.h
index f1db15b..7cc5ecd 100644
--- a/nl80211.h
+++ b/nl80211.h
@@ -1594,6 +1594,9 @@ enum nl80211_commands {
  * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
  *	the TDLS link initiator.
  *
+ * @NL80211_ATTR_WIPHY_DYNACK: whether dynamic ack timeout estimation algorithm
+ *	is enabled
+ *
  * @NL80211_ATTR_MAX: highest attribute number currently defined
  * @__NL80211_ATTR_AFTER_LAST: internal use
  */
@@ -1936,6 +1939,8 @@ enum nl80211_attrs {
 
 	NL80211_ATTR_TDLS_INITIATOR,
 
+	NL80211_ATTR_WIPHY_DYNACK,
+
 	/* add attributes here, update the policy in nl80211.c */
 
 	__NL80211_ATTR_AFTER_LAST,
diff --git a/phy.c b/phy.c
index 517d203..068f9fc 100644
--- a/phy.c
+++ b/phy.c
@@ -362,40 +362,46 @@ static int handle_distance(struct nl80211_state *state,
 			int argc, char **argv,
 			enum id_input id)
 {
-	char *end;
-	unsigned int distance, coverage;
-
 	if (argc != 1)
 		return 1;
 
 	if (!*argv[0])
 		return 1;
 
-	distance = strtoul(argv[0], &end, 10);
+	if (strcmp("auto", argv[0]) == 0) {
+		NLA_PUT_FLAG(msg, NL80211_ATTR_WIPHY_DYNACK);
+	} else {
+		char *end;
+		unsigned int distance, coverage;
 
-	if (*end)
-		return 1;
+		distance = strtoul(argv[0], &end, 10);
 
-	/*
-	 * Divide double the distance by the speed of light in m/usec (300) to
-	 * get round-trip time in microseconds and then divide the result by
-	 * three to get coverage class as specified in IEEE 802.11-2007 table
-	 * 7-27. Values are rounded upwards.
-	 */
-	coverage = (distance + 449) / 450;
-	if (coverage > 255)
-		return 1;
+		if (*end)
+			return 1;
 
-	NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_COVERAGE_CLASS, coverage);
+		/*
+		 * Divide double the distance by the speed of light
+		 * in m/usec (300) to get round-trip time in microseconds
+		 * and then divide the result by three to get coverage class
+		 * as specified in IEEE 802.11-2007 table 7-27.
+		 * Values are rounded upwards.
+		 */
+		coverage = (distance + 449) / 450;
+		if (coverage > 255)
+			return 1;
+
+		NLA_PUT_U8(msg, NL80211_ATTR_WIPHY_COVERAGE_CLASS, coverage);
+	}
 
 	return 0;
  nla_put_failure:
 	return -ENOBUFS;
 }
-COMMAND(set, distance, "<distance>",
+COMMAND(set, distance, "<auto|distance>",
 	NL80211_CMD_SET_WIPHY, 0, CIB_PHY, handle_distance,
-	"Set appropriate coverage class for given link distance in meters.\n"
-	"Valid values: 0 - 114750");
+	"Enable ack timeout estimation algorithm or set appropriate\n"
+	"coverage class for given link distance in meters.\n"
+	"Valid values for coverage class: 0 - 114750");
 
 static int handle_txpower(struct nl80211_state *state,
 			  struct nl_cb *cb,
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-20 12:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-20 12:33 [PATCH 0/2] add auto parameter to set distance command Lorenzo Bianconi
2014-07-20 12:33 ` [PATCH 1/2] iw: sync nl80211_attrs Lorenzo Bianconi
2014-07-20 12:33 ` [PATCH 2/2] iw: add auto parameter to set distance command Lorenzo Bianconi

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.