docs: update the xenstore migration stream documentation

For live update of Xenstore some records defined in the migration
stream document need to be changed:

- Support of the read-only socket has been dropped from all Xenstore
  implementations, so ro-socket-fd in the global record can be removed.

- Some guests require the event channel to Xenstore to remain the same
  on Xenstore side, so Xenstore has to keep the event channel interface
  open across a live update. For this purpose an evtchn-fd needs to be
  added to the global record.

- With no read-only support the flags field in the connection record
  can be dropped.

- The evtchn field in the connection record needs to be switched to
  hold the port of the Xenstore side of the event channel.

- A flags field needs to be added to permission specifiers in order to
  be able to mark a permission as stale (XSA-322).

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
Juergen Gross authored and Andrew Cooper committed 2021-01-15 11:44:47 +00:00
1 parent 29a6082f21
commit 8868a0e3f6
1 file changed
+10 -9
+10 -9
View File
@@ -116,7 +116,7 @@ xenstored state that needs to be restored.
+-------+-------+-------+-------+
| rw-socket-fd |
+-------------------------------+
| ro-socket-fd |
| evtchn-fd |
+-------------------------------+
```
@@ -126,8 +126,8 @@ xenstored state that needs to be restored.
| `rw-socket-fd` | The file descriptor of the socket accepting |
| | read-write connections |
| | |
| `ro-socket-fd` | The file descriptor of the socket accepting |
| | read-only connections |
| `evtchn-fd` | The file descriptor used to communicate with |
| | the event channel driver |
xenstored will resume in the original process context. Hence `rw-socket-fd` and
`ro-socket-fd` simply specify the file descriptors of the sockets. Sockets
@@ -147,7 +147,7 @@ the domain being migrated.
```
0 1 2 3 4 5 6 7 octet
+-------+-------+-------+-------+-------+-------+-------+-------+
| conn-id | conn-type | flags |
| conn-id | conn-type | |
+-------------------------------+---------------+---------------+
| conn-spec
...
@@ -169,9 +169,6 @@ the domain being migrated.
| | 0x0001: socket |
| | 0x0002 - 0xFFFF: reserved for future use |
| | |
| `flags` | A bit-wise OR of: |
| | 0001: read-only |
| | |
| `conn-spec` | See below |
| | |
| `in-data-len` | The length (in octets) of any data read |
@@ -216,7 +213,7 @@ For `shared ring` connections it is as follows:
| | operation [2] or DOMID_INVALID [3] otherwise |
| | |
| `evtchn` | The port number of the interdomain channel used |
| | by `domid` to communicate with xenstored |
| | by xenstored to communicate with `domid` |
| | |
Since the ABI guarantees that entry 1 in `domid`'s grant table will always
@@ -386,7 +383,7 @@ A node permission specifier has the following format:
```
0 1 2 3 octet
+-------+-------+-------+-------+
| perm | pad | domid |
| perm | flags | domid |
+-------+-------+---------------+
```
@@ -395,6 +392,10 @@ A node permission specifier has the following format:
| `perm` | One of the ASCII values `w`, `r`, `b` or `n` as |
| | specified for the `SET_PERMS` operation [2] |
| | |
| `flags` | A bit-wise OR of: |
| | 0x01: stale permission, ignore when checking |
| | permissions |
| | |
| `domid` | The domain-id to which the permission relates |
Note that perm1 defines the domain owning the code. See [4] for more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.