/* Sets mac address. New address must be unicast. */
void MSS_MAC_set_mac_address(const uint8_t *new_address)
/* Sets mac address. New address must be unicast. */
void MSS_MAC_set_mac_address(const uint8_t *new_address)
{
    configASSERT( (new_address[0]&1) == 0 );
   	MAC_memcpy( g_mss_mac.mac_address, new_address, 6u );
   	if((g_mss_mac.flags & FLAG_PERFECT_FILTERING) != 0u ) {
		int32_t a;
		for( a=14*6; a>=0; a-=6 ) {
			if( (g_mss_mac.mac_filter_data[a] & 1u) != 0u ) {
				a = -1;
			} else {
				MAC_memcpy( &(g_mss_mac.mac_filter_data[a]),
					g_mss_mac.mac_address, 6u );
			}
		}
   	}
   	MAC_send_setup_frame();
}