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>
