Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jan 2012 20:03:44 +0100
From:      Bernhard Schmidt <bschmidt@freebsd.org>
To:        freebsd-wireless@freebsd.org
Subject:   Re: 11s mesh path setup problem
Message-ID:  <201201112003.44891.bschmidt@freebsd.org>
In-Reply-To: <CAJ-VmomX2NK6p%2BckB6Gc40sz0PTx7cf7NznVLH1tTPvnhmHH6A@mail.gmail.com>
References:  <CA%2BsBSoJWXD5S-zvxHR_=iwh26G0bd00trR=E-jCUBD03uMrU%2BQ@mail.gmail.com> <CAJ-VmomX2NK6p%2BckB6Gc40sz0PTx7cf7NznVLH1tTPvnhmHH6A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201112003.44891.bschmidt>