From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-qw0-f46.google.com ([209.85.216.46]:35793 "EHLO mail-qw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751104Ab0GaHf7 convert rfc822-to-8bit (ORCPT ); Sat, 31 Jul 2010 03:35:59 -0400 Received: by qwh6 with SMTP id 6so534276qwh.19 for ; Sat, 31 Jul 2010 00:35:58 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <4AFAAC7F.8000903@openwrt.org> References: <4AFAAC7F.8000903@openwrt.org> From: Javier Cardona Date: Sat, 31 Jul 2010 09:35:38 +0200 Message-ID: Subject: Re: [PATCH] iw: add a command for moving a STA into an AP VLAN To: Felix Fietkau Cc: linux-wireless , Johannes Berg Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-wireless-owner@vger.kernel.org List-ID: Felix, This patch apparently broke the plink_action commands. Any chance you could rework it? Thanks, Javier On Wed, Nov 11, 2009 at 2:22 PM, Felix Fietkau wrote: > Signed-off-by: Felix Fietkau > --- > > --- a/station.c > +++ b/station.c > @@ -196,7 +196,7 @@ COMMAND(station, del, "", >        NL80211_CMD_DEL_STATION, 0, CIB_NETDEV, handle_station_get, >        "Remove the given station entry (use with caution!)"); > > -static int handle_station_set(struct nl80211_state *state, > +static int handle_station_set_plink(struct nl80211_state *state, >                              struct nl_cb *cb, >                              struct nl_msg *msg, >                              int argc, char **argv) > @@ -241,9 +241,56 @@ static int handle_station_set(struct nl8 >        return -ENOBUFS; >  } >  COMMAND(station, set, " plink_action ", > -       NL80211_CMD_SET_STATION, 0, CIB_NETDEV, handle_station_set, > +       NL80211_CMD_SET_STATION, 0, CIB_NETDEV, handle_station_set_plink, >        "Set mesh peer link action for this station (peer)."); > > +static int handle_station_set_vlan(struct nl80211_state *state, > +                             struct nl_cb *cb, > +                             struct nl_msg *msg, > +                             int argc, char **argv) > +{ > +       unsigned char mac_addr[ETH_ALEN]; > +       unsigned long sta_vlan = 0; > +       char *err = NULL; > + > +       if (argc < 3) > +               return 1; > + > +       if (mac_addr_a2n(mac_addr, argv[0])) { > +               fprintf(stderr, "invalid mac address\n"); > +               return 2; > +       } > +       argc--; > +       argv++; > + > +       if (strcmp("vlan", argv[0]) != 0) > +               return 1; > +       argc--; > +       argv++; > + > +       sta_vlan = strtoul(argv[0], &err, 0); > +       if (err && *err) { > +               fprintf(stderr, "invalid vlan id\n"); > +               return 2; > +       } > +       argc--; > +       argv++; > + > +       if (argc) > +               return 1; > + > +       NLA_PUT(msg, NL80211_ATTR_MAC, ETH_ALEN, mac_addr); > +       NLA_PUT_U32(msg, NL80211_ATTR_STA_VLAN, sta_vlan); > + > +       return 0; > + nla_put_failure: > +       return -ENOBUFS; > +} > +COMMAND(station, set, " vlan ", > +       NL80211_CMD_SET_STATION, 0, CIB_NETDEV, handle_station_set_vlan, > +       "Set an AP VLAN for this station."); > + > + >  static int handle_station_dump(struct nl80211_state *state, >                               struct nl_cb *cb, >                               struct nl_msg *msg, > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at  http://vger.kernel.org/majordomo-info.html >