mirror of https://github.com/xemu-project/xemu.git
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1 iQEcBAABAgAGBQJYKrs3AAoJEO8Ells5jWIRb1EH/3bAz/HiOl5COURpvwvMgq0E J3Mr91FPrgepHSeB3cqBBRNqDT2B1gx7DO5dWCQSFMxfGlZ1VX12MGC8ZtBK+8US AxNqfkzLM5tDFGn6LN4OZgV6uEJhKwSPzyasOXHzwZ7+xWG8RQ8pQc+Lj5PlCcqw esrm0EN7mwrw76RnDjDaDsUMiVxCZ0GBo3vWhEsXpCjUing14OFKk4pvQm0uIsac RL5R9xAGmTddN/0cKPG8FXh5xAOb1g/7HPHj97KIc4JrDrK1vrCF4ft6TqIOErGm OJyNX1o65+7HDsfz6vn2Bmiin4UN1mSQ5paCptS8Z5lyGGY6dQPs51dYThCQZ3I= =VMkX -----END PGP SIGNATURE----- Merge remote-tracking branch 'jasowang/tags/net-pull-request' into staging # gpg: Signature made Tue 15 Nov 2016 07:37:27 AM GMT # gpg: using RSA key 0xEF04965B398D6211 # gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 215D 46F4 8246 689E C77F 3562 EF04 965B 398D 6211 * jasowang/tags/net-pull-request: docs: fix COLO architecture diagram net: fix sending of data with -net socket, listen backend net: skip virtio-net config of deleted nic's peers Message-id: 1479195830-4725-1-git-send-email-jasowang@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
97e53cf82c
|
@ -41,41 +41,43 @@ identical responses to all client requests. Once the differences in the outputs
|
|||
are detected between the PVM and SVM, COLO withholds transmission of the
|
||||
outbound packets until it has successfully synchronized the PVM state to the SVM.
|
||||
|
||||
Primary Node Secondary Node
|
||||
+------------+ +-----------------------+ +------------------------+ +------------+
|
||||
| | | HeartBeat |<----->| HeartBeat | | |
|
||||
| Primary VM | +-----------|-----------+ +-----------|------------+ |Secondary VM|
|
||||
| | | | | |
|
||||
| | +-----------|-----------+ +-----------|------------+ | |
|
||||
| | |QEMU +---v----+ | |QEMU +----v---+ | | |
|
||||
| | | |Failover| | | |Failover| | | |
|
||||
| | | +--------+ | | +--------+ | | |
|
||||
| | | +---------------+ | | +---------------+ | | |
|
||||
| | | | VM Checkpoint |-------------->| VM Checkpoint | | | |
|
||||
| | | +---------------+ | | +---------------+ | | |
|
||||
| | | | | | | |
|
||||
|Requests<---------------------------^------------------------------------------>Requests|
|
||||
|Responses----------------------\ /--|--------------\ /------------------------Responses|
|
||||
| | | | | | | | | | | | |
|
||||
| | | +-----------+ | | | | | | | +------------+ | | |
|
||||
| | | | COLO disk | | | | | | | | | COLO disk | | | |
|
||||
| | | | Manager |-|-|--|--------------|--|->| Manager | | | |
|
||||
| | | +|----------+ | | | | | | | +-----------|+ | | |
|
||||
| | | | | | | | | | | | | | |
|
||||
+------------+ +--|------------|-|--|--+ +---|--|--------------|--+ +------------+
|
||||
| | | | | | |
|
||||
+-------------+ | +----------v-v--|--+ +---|--v-----------+ | +-------------+
|
||||
| VM Monitor | | | COLO Proxy | | COLO Proxy | | | VM Monitor |
|
||||
| | | |(compare packet) | | (adjust sequence)| | | |
|
||||
+-------------+ | +----------|----^--+ +------------------+ | +-------------+
|
||||
| | | |
|
||||
+------------------|------------|----|--+ +---------------------|------------------+
|
||||
| Kernel | | | | | Kernel | |
|
||||
+------------------|------------|----|--+ +---------------------|------------------+
|
||||
| | | |
|
||||
+--------------v+ +--------v----|--+ +------------------+ +v-------------+
|
||||
| Storage | |External Network| | External Network | | Storage |
|
||||
+---------------+ +----------------+ +------------------+ +--------------+
|
||||
Primary Node Secondary Node
|
||||
+------------+ +-----------------------+ +------------------------+ +------------+
|
||||
| | | HeartBeat +<----->+ HeartBeat | | |
|
||||
| Primary VM | +-----------+-----------+ +-----------+------------+ |Secondary VM|
|
||||
| | | | | |
|
||||
| | +-----------|-----------+ +-----------|------------+ | |
|
||||
| | |QEMU +---v----+ | |QEMU +----v---+ | | |
|
||||
| | | |Failover| | | |Failover| | | |
|
||||
| | | +--------+ | | +--------+ | | |
|
||||
| | | +---------------+ | | +---------------+ | | |
|
||||
| | | | VM Checkpoint +-------------->+ VM Checkpoint | | | |
|
||||
| | | +---------------+ | | +---------------+ | | |
|
||||
|Requests<--------------------------\ /-----------------\ /--------------------->Requests|
|
||||
| | | ^ ^ | | | | | | |
|
||||
|Responses+---------------------\ /-|-|------------\ /-------------------------+Responses|
|
||||
| | | | | | | | | | | | | | | |
|
||||
| | | +-----------+ | | | | | | | | | | +----------+ | | |
|
||||
| | | | COLO disk | | | | | | | | | | | | COLO disk| | | |
|
||||
| | | | Manager +---------------------------->| Manager | | | |
|
||||
| | | ++----------+ v v | | | | | v v | +---------++ | | |
|
||||
| | | |+-----------+-+-+-++| | ++-+--+-+---------+ | | | |
|
||||
| | | || COLO Proxy || | | COLO Proxy | | | | |
|
||||
| | | || (compare packet || | |(adjust sequence | | | | |
|
||||
| | | ||and mirror packet)|| | | and ACK) | | | | |
|
||||
| | | |+------------+---+-+| | +-----------------+ | | | |
|
||||
+------------+ +-----------------------+ +------------------------+ +------------+
|
||||
+------------+ | | | | +------------+
|
||||
| VM Monitor | | | | | | VM Monitor |
|
||||
+------------+ | | | | +------------+
|
||||
+---------------------------------------+ +----------------------------------------+
|
||||
| Kernel | | | | | Kernel | |
|
||||
+---------------------------------------+ +----------------------------------------+
|
||||
| | | |
|
||||
+--------------v+ +---------v---+--+ +------------------+ +v-------------+
|
||||
| Storage | |External Network| | External Network | | Storage |
|
||||
+---------------+ +----------------+ +------------------+ +--------------+
|
||||
|
||||
|
||||
== Components introduction ==
|
||||
|
||||
|
|
|
@ -508,6 +508,10 @@ static void virtio_net_set_queues(VirtIONet *n)
|
|||
int i;
|
||||
int r;
|
||||
|
||||
if (n->nic->peer_deleted) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < n->max_queues; i++) {
|
||||
if (i < n->curr_queues) {
|
||||
r = peer_attach(n, i);
|
||||
|
|
|
@ -1653,9 +1653,8 @@ int net_fill_rstate(SocketReadState *rs, const uint8_t *buf, int size)
|
|||
if (rs->index >= rs->packet_len) {
|
||||
rs->index = 0;
|
||||
rs->state = 0;
|
||||
if (rs->finalize) {
|
||||
rs->finalize(rs);
|
||||
}
|
||||
assert(rs->finalize);
|
||||
rs->finalize(rs);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -511,6 +511,7 @@ static int net_socket_listen_init(NetClientState *peer,
|
|||
s->fd = -1;
|
||||
s->listen_fd = ret;
|
||||
s->nc.link_down = true;
|
||||
net_socket_rs_init(&s->rs, net_socket_rs_finalize);
|
||||
|
||||
qemu_set_fd_handler(s->listen_fd, net_socket_accept, NULL, s);
|
||||
qapi_free_SocketAddress(saddr);
|
||||
|
|
Loading…
Reference in New Issue