[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [V6 PATCH 1/4] net: announce self after vm start
From: |
Orit Wasserman |
Subject: |
Re: [Qemu-devel] [V6 PATCH 1/4] net: announce self after vm start |
Date: |
Wed, 02 May 2012 10:49:11 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 |
On 03/28/2012 07:40 AM, Jason Wang wrote:
> qemu_announce_self() were moved to vm_start(). This is because we may
> want to let guest to send the gratuitous packets. A global variable
> need_announce were introduced to record the pending announcement, and
> vm_start() would send gratuitous packet depends on this value.
>
> Signed-off-by: Jason Wang <address@hidden>
> ---
> migration.c | 2 +-
> migration.h | 2 ++
> vl.c | 5 +++++
> 3 files changed, 8 insertions(+), 1 deletions(-)
>
> diff --git a/migration.c b/migration.c
> index 00fa1e3..861cce9 100644
> --- a/migration.c
> +++ b/migration.c
> @@ -88,7 +88,7 @@ void process_incoming_migration(QEMUFile *f)
> fprintf(stderr, "load of migration failed\n");
> exit(0);
> }
> - qemu_announce_self();
> + need_announce = true;
> DPRINTF("successfully loaded vm state\n");
>
> /* Make sure all file formats flush their mutable metadata */
> diff --git a/migration.h b/migration.h
> index 372b066..0a31463 100644
> --- a/migration.h
> +++ b/migration.h
> @@ -95,4 +95,6 @@ void migrate_add_blocker(Error *reason);
> */
> void migrate_del_blocker(Error *reason);
>
> +extern bool need_announce;
> +
Hi Jason,
I don't like this external flag.
As this is only related to migration I think we can add a new state
RUN_STATE_MIG_PRELAUNCH.
In vm_start call qemu_announce_self only if the state was
RUN_STATE_MIG_PRELAUNCH.
This will we useful if we will need to do something else when resuming a
migrated guest.
Regards,
Orit
> #endif
> diff --git a/vl.c b/vl.c
> index 65f11f2..05ebf57 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -231,6 +231,7 @@ int boot_menu;
> uint8_t *boot_splash_filedata;
> int boot_splash_filedata_size;
> uint8_t qemu_extra_params_fw[2];
> +bool need_announce = false;
>
> typedef struct FWBootEntry FWBootEntry;
>
> @@ -1266,6 +1267,10 @@ void vm_start(void)
> vm_state_notify(1, RUN_STATE_RUNNING);
> resume_all_vcpus();
> monitor_protocol_event(QEVENT_RESUME, NULL);
> + if (need_announce) {
> + need_announce = false;
> + qemu_announce_self();
> + }
> }
> }
>
>
>
- Re: [Qemu-devel] [V6 PATCH 1/4] net: announce self after vm start,
Orit Wasserman <=