cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

README (3372B)


      1********************************
      2RDMA Network Block Device (RNBD)
      3********************************
      4
      5Introduction
      6------------
      7
      8RNBD (RDMA Network Block Device) is a pair of kernel modules
      9(client and server) that allow for remote access of a block device on
     10the server over RTRS protocol using the RDMA (InfiniBand, RoCE, iWARP)
     11transport. After being mapped, the remote block devices can be accessed
     12on the client side as local block devices.
     13
     14I/O is transferred between client and server by the RTRS transport
     15modules. The administration of RNBD and RTRS modules is done via
     16sysfs entries.
     17
     18Requirements
     19------------
     20
     21  RTRS kernel modules
     22
     23Quick Start
     24-----------
     25
     26Server side:
     27  # modprobe rnbd_server
     28
     29Client side:
     30  # modprobe rnbd_client
     31  # echo "sessname=blya path=ip:10.50.100.66 device_path=/dev/ram0" > \
     32            /sys/devices/virtual/rnbd-client/ctl/map_device
     33
     34  Where "sessname=" is a session name, a string to identify the session
     35  on client and on server sides; "path=" is a destination IP address or
     36  a pair of a source and a destination IPs, separated by comma.  Multiple
     37  "path=" options can be specified in order to use multipath  (see RTRS
     38  description for details); "device_path=" is the block device to be
     39  mapped from the server side. After the session to the server machine is
     40  established, the mapped device will appear on the client side under
     41  /dev/rnbd<N>.
     42
     43
     44RNBD-Server Module Parameters
     45=============================
     46
     47dev_search_path
     48---------------
     49
     50When a device is mapped from the client, the server generates the path
     51to the block device on the server side by concatenating dev_search_path
     52and the "device_path" that was specified in the map_device operation.
     53
     54The default dev_search_path is: "/".
     55
     56dev_search_path option can also contain %SESSNAME% in order to provide
     57different device namespaces for different sessions.  See "device_path"
     58option for details.
     59
     60============================
     61Protocol (rnbd/rnbd-proto.h)
     62============================
     63
     641. Before mapping first device from a given server, client sends an
     65RNBD_MSG_SESS_INFO to the server. Server responds with
     66RNBD_MSG_SESS_INFO_RSP. Currently the messages only contain the protocol
     67version for backward compatibility.
     68
     692. Client requests to open a device by sending RNBD_MSG_OPEN message. This
     70contains the path to the device and access mode (read-only or writable).
     71Server responds to the message with RNBD_MSG_OPEN_RSP. This contains
     72a 32 bit device id to be used for  IOs and device "geometry" related
     73information: side, max_hw_sectors, etc.
     74
     753. Client attaches RNBD_MSG_IO to each IO message send to a device. This
     76message contains device id, provided by server in his rnbd_msg_open_rsp,
     77sector to be accessed, read-write flags and bi_size.
     78
     794. Client closes a device by sending RNBD_MSG_CLOSE which contains only the
     80device id provided by the server.
     81
     82=========================================
     83Contributors List(in alphabetical order)
     84=========================================
     85Danil Kipnis <danil.kipnis@profitbricks.com>
     86Fabian Holler <mail@fholler.de>
     87Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
     88Jack Wang <jinpu.wang@profitbricks.com>
     89Kleber Souza <kleber.souza@profitbricks.com>
     90Lutz Pogrell <lutz.pogrell@cloud.ionos.com>
     91Milind Dumbare <Milind.dumbare@gmail.com>
     92Roman Penyaev <roman.penyaev@profitbricks.com>
     93Swapnil Ingle <ingleswapnil@gmail.com>