docs: def nl_socket_set_buffer_size(sk, rxbuf, txbuf):
      """Set socket buffer size of Netlink socket.
  
      https://github.com/thom311/libnl/blob/libnl3_2_25/lib/socket.c#L675
  
      Sets the socket buffer size of a Netlink socket to the specified values `rxbuf` and `txbuf`. Providing a value of 0
      assumes a good default value.
  
      Positional arguments:
      sk -- Netlink socket (nl_sock class instance).
      rxbuf -- new receive socket buffer size in bytes (integer).
      txbuf -- new transmit socket buffer size in bytes (integer).
  
      Returns:
      0 on success or a negative error code.
      """
      rxbuf = 32768 if rxbuf <= 0 else rxbuf
      txbuf = 32768 if txbuf <= 0 else txbuf
      if sk.s_fd == -1:
          return -NLE_BAD_SOCK
  
      try:
          sk.socket_instance.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, txbuf)
      except OSError as exc:
          return -nl_syserr2nlerr(exc.errno)
  
      try:
          sk.socket_instance.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, rxbuf)
      except OSError as exc:
          return -nl_syserr2nlerr(exc.errno)
  
      sk.s_flags |= NL_SOCK_BUFSIZE_SET
      return 0