uloop_timeout -> timer abstraction, and cmdu_parse_tlvs() -> map_cmdu_parse_tlvs() with ieee1905_error return code
This MR contains two major changes -
- Use map_cmdu_parse_tlvs() instead of cmdu_parse_tlvs(). This allows Easymesh TLVs policy defined at one single place (within the map.so plugin) allowing for easy maintainability and updates. Also, depending on the Easymesh profile that the CMDU(s) have been received from, runtime decide which TLV policy to apply for validation.
- Return error reason in 'ieee1905_error' (and ieee1905_strerror() function to print error in string format) when a CMDU fails validation in cmdu_parse_tlv().
- Introduce timer_* functions that abstract out the uloop_timeout* calls for maintainability and easy future porting to non-uloop event loops.