code: def dump_error_msg(msg, ofd=_LOGGER.debug):
      
      hdr = nlmsg_hdr(msg)
      err = libnl.linux_private.netlink.nlmsgerr(nlmsg_data(hdr))
  
      ofd('  [ERRORMSG] %d octets', err.SIZEOF)
  
      if nlmsg_len(hdr) >= err.SIZEOF:
          ofd('    .error = %d "%s"', err.error, os.strerror(-err.error))
          ofd('  [ORIGINAL MESSAGE] %d octets', hdr.SIZEOF)
          errmsg = nlmsg_inherit(err.msg)
          print_hdr(ofd, errmsg)
docs: https://github.com/thom311/libnl/blob/libnl3_2_25/lib/msg.c#L908.
  
      Positional arguments:
      msg -- message to print (nl_msg class instance).
  
      Keyword arguments:
      ofd -- function to call with arguments similar to `logging.debug`.