Search Linux Wireless

Re: [PATCH] iw: Add support for connection quality monitor configuation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2010-03-26 at 07:46 +0200, Juuso Oikarinen wrote:
> This patch adds the cqm option to iw allowing enabling/disabling the
> rssi connection quality monitoring mode, and configuring rssi threshold and
> hysteresis.
> 
> Signed-off-by: Juuso Oikarinen <juuso.oikarinen@xxxxxxxxx>
> ---
>  Makefile  |    2 +-
>  cqm.c     |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  event.c   |   33 +++++++++++++++++++++++++++++++++
>  nl80211.h |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 138 insertions(+), 1 deletions(-)
>  create mode 100644 cqm.c
> 
> diff --git a/Makefile b/Makefile
> index c51706b..e21900a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -17,7 +17,7 @@ CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
>  OBJS = iw.o genl.o event.o info.o phy.o \
>  	interface.o ibss.o station.o survey.o util.o \
>  	mesh.o mpath.o scan.o reg.o version.o \
> -	reason.o status.o connect.o link.o offch.o ps.o
> +	reason.o status.o connect.o link.o offch.o ps.o cqm.c
>  OBJS += sections.o
>  ALL = iw
>  
> diff --git a/cqm.c b/cqm.c
> new file mode 100644
> index 0000000..3da2b54
> --- /dev/null
> +++ b/cqm.c
> @@ -0,0 +1,54 @@
> +#include <errno.h>
> +
> +#include <netlink/genl/genl.h>
> +#include <netlink/genl/family.h>
> +#include <netlink/genl/ctrl.h>
> +#include <netlink/msg.h>
> +#include <netlink/attr.h>
> +
> +#include "nl80211.h"
> +#include "iw.h"
> +
> +static int iw_cqm_rssi(struct nl80211_state *state, struct nl_cb *cb,
> +		       struct nl_msg *msg, int argc, char **argv)
> +{
> +	struct nl_msg *cqm = NULL;
> +	int thold = 0;
> +	int hyst = 0;
> +	int ret = -ENOSPC;
> +
> +	/* get the required args */
> +	if (argc < 1 || argc > 2)
> +		return 1;
> +
> +	if (strcmp(argv[0], "off")) {
> +		thold = atoi(argv[0]);
> +
> +		if (thold == 0)
> +			return -EINVAL;
> +
> +		if (argc == 2)
> +			hyst = atoi(argv[1]);
> +	}
> +
> +	/* connection quality monitor attributes */
> +	cqm = nlmsg_alloc();
> +
> +	NLA_PUT_U32(cqm, NL80211_ATTR_CQM_RSSI_THOLD, thold);
> +	NLA_PUT_U32(cqm, NL80211_ATTR_CQM_RSSI_HYST, hyst);

Hmm. guess I missed that in the kernel side review, but should we change
the API so that leaving them out means disabling?

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux