Apparently the stream manipulator `std::setw` applies only to the next string written to the stream. Hence the function `format_mac_address` in parse_mac.cc only formatted the first pair of hexadecimal digits correctly. This went unnoticed until now because it only makes a difference for numbers below 0x10.
We will not parse the frame body and put it in the metadata. Instead `print_ascii` has been restored for debug output. `format_mac` has been made more complete, with correct hex formatting.
This commit extends the Parse MAC block so that it puts the parsed fields in the metadata dictionary of the incoming PDU and also propagates it on a message output. It does not modify the cdr of the PDU. The 'fer' output has been removed, and instead 'Lost frames' and 'Instantanteous FER' are put in the metadata dictionary.