this can return error, need a check (see pfring implementation for example)