netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Thomas Graf <tgraf@suug.ch>
Cc: netdev <netdev@vger.kernel.org>, Jiri Benc <jbenc@suse.cz>,
	"John W. Linville" <linville@tuxdriver.com>
Subject: Re: [RFC] add nl80211
Date: Fri, 25 Aug 2006 11:04:30 +0200	[thread overview]
Message-ID: <1156496671.3893.6.camel@ux156> (raw)
In-Reply-To: <20060824172717.GN3470@postel.suug.ch>

On Thu, 2006-08-24 at 19:27 +0200, Thomas Graf wrote:

> I'd use normal u32 attributes here as well and simply
> enumerate their type 1..n.
> 
> 	int idx = 1
> 	list_for_each_entry(drv, &nl80211_drv_list, list)
> 		NLA_PUT_U32(msg, idx++, drv->wiphy);
> 
> The additional header seems waste but this way you stay flexible
> and can extend the protocol later on. Attribute lengths are
> checked with an open end in mind, i.e. you can put more stuff
> behind that u32 in the future and your old applications will
> still work.
> 
> You also might want to consider returning ifindex and
> the associated name.

That'd be a list of ifindexes again...

> > +static int nl80211_get_intfs(struct sk_buff *skb, struct genl_info *info)

> Try not to reuse the same attribute type for different purposes,
> it will force you to duplicate the validation policy for every
> single command and things become very error prone.

I completely reworked that now so it will:
 * create a nested NL80211_ATTR_INTERFACE_LIST with nested {
   * 1..N attributes, with nested {
     * ATTR_IFINDEX and
     * ATTR_IFNAME
   }
 }

how does that sound? Maybe I should do the same for the WIPHY list? i.e.
create a new type ATTR_WIPHY_LIST and within that nest numbered
attributes (array indexes) and in there put ATTR_WIPHY? So possibly I
could also put ATTR_INTERFACE_LIST in there as well later?

johannes

  reply	other threads:[~2006-08-25  9:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-22 13:52 [RFC] add nl80211 Johannes Berg
2006-08-22 15:09 ` Johannes Berg
2006-08-23  9:40 ` Johannes Berg
2006-08-24 13:32 ` Jiri Benc
2006-08-24 14:15   ` Johannes Berg
2006-08-24 14:36 ` Thomas Graf
2006-08-24 15:20   ` Johannes Berg
2006-08-24 16:07 ` Johannes Berg
2006-08-24 17:27   ` Thomas Graf
2006-08-25  9:04     ` Johannes Berg [this message]
2006-08-25 10:30       ` Thomas Graf
2006-08-25 10:38         ` Johannes Berg
2006-08-25 11:01   ` [RFC take3] " Johannes Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1156496671.3893.6.camel@ux156 \
    --to=johannes@sipsolutions.net \
    --cc=jbenc@suse.cz \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=tgraf@suug.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).