fix recv_rpl_dio, missing return, refactor