Kais, I just looked at some code in mac.c and noticed you're passing flags as uint16_t (mac_client_open, mac_client_close, etc.)
Unless there is a specific hardware reason for using 16bits, all flags structures should be 32bit. There's no performance penalty in doing this as nearly all memory accesses these days are 32bits anyway. When passing things between functions, especially on sparc, the minimum word size passed is 32bits, so there is nothing to gain by passing "only 16". You also have many more bits available for later use. ok, so strictly speaking this isn't a phase 1 code review comment but ... :*) Cheers, Darren