def nlmsg_reserve(n, len_, pad):
nlmsg_len_ = n.nm_nlh.nlmsg_len<EOL>tlen = len_ if not pad else ((len_ + (pad - <NUM_LIT:1>)) & ~(pad - <NUM_LIT:1>))<EOL>if tlen + nlmsg_len_ > n.nm_size:<EOL><INDENT>return None<EOL><DEDENT>buf = bytearray_ptr(n.nm_nlh.bytearray, nlmsg_len_)<EOL>n.nm_nlh.nlmsg_len += tlen<EOL>if tlen > len_:<EOL><INDENT>bytearray_ptr(buf, len_, tlen)[:] = bytearray(b'<STR_LIT>') * (tlen - len_)<EOL><DEDENT>_LOGGER.debug('<STR_LIT>', id(n), tlen, len_, pad, n.nm_nlh.nlmsg_len)<EOL>return buf<EOL>
Reserve room for additional data in a Netlink message.

    https://github.com/thom311/libnl/blob/libnl3_2_25/lib/msg.c#L407

    Reserves room for additional data at the tail of the an existing netlink message. Eventual padding required will be
    zeroed out.

    bytearray_ptr() at the start of additional data or None.