From owner-freebsd-wireless@FreeBSD.ORG Wed Jan 11 19:03:40 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A41F9106564A; Wed, 11 Jan 2012 19:03:40 +0000 (UTC) (envelope-from bschmidt@techwires.net) Received: from mail-ee0-f54.google.com (mail-ee0-f54.google.com [74.125.83.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0BA258FC12; Wed, 11 Jan 2012 19:03:39 +0000 (UTC) Received: by eekd49 with SMTP id d49so536240eek.13 for ; Wed, 11 Jan 2012 11:03:38 -0800 (PST) Received: by 10.213.14.71 with SMTP id f7mr1399793eba.61.1326308618800; Wed, 11 Jan 2012 11:03:38 -0800 (PST) Received: from amy.lab.techwires.net (dslb-094-217-142-099.pools.arcor-ip.net. [94.217.142.99]) by mx.google.com with ESMTPS id 76sm9184670eeh.0.2012.01.11.11.03.36 (version=SSLv3 cipher=OTHER); Wed, 11 Jan 2012 11:03:37 -0800 (PST) Sender: Bernhard Schmidt From: Bernhard Schmidt To: freebsd-wireless@freebsd.org Date: Wed, 11 Jan 2012 20:03:44 +0100 User-Agent: KMail/1.13.7 (FreeBSD/9.0-PRERELEASE; KDE/4.7.3; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201201112003.44891.bschmidt@freebsd.org> Cc: Subject: Re: 11s mesh path setup problem X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jan 2012 19:03:40 -0000 On Wednesday 11 January 2012 18:23:29 Adrian Chadd wrote: > Hi! > > I've just done a bit of a code review. Here are my comments: > > * ether_sprintf() can't be implemented the way you've implemented it - > it just won't work at all in a multithreaded, concurrent environment. > We'll have to find an alternative way. > > Maybe something like: > > char * > ether_sprintf2(const u_char *ap, char *buf, int len) > { > .. do things to buf, rather than the static buf. > } > > Then maybe this'd work: > > char a[32], b[32]; > IEEE80211_NOTE(..., ether_sprintf2(addr1, a, 32), ether_sprintf2(addr2, a, 32)); > > does that make sense? Isn't there an example in net80211 with %D? printf("%6D %6D", addr1, ":", addr2, ":"); The saner alternative is to call printf() multiple times, see ieee80211_dump_pkt() as an example. -- Bernhard