From: Markus Armbruster <armbru@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RfC PATCH 1/3] net: macaddr tweaks.
Date: Tue, 29 Sep 2009 00:42:18 +0200 [thread overview]
Message-ID: <87my4ebsj9.fsf@pike.pond.sub.org> (raw)
In-Reply-To: <1253907783-1231-2-git-send-email-kraxel@redhat.com> (Gerd Hoffmann's message of "Fri\, 25 Sep 2009 21\:43\:01 +0200")
Gerd Hoffmann <kraxel@redhat.com> writes:
> Add new type for mac addresses.
>
> Add function which sets the qemu default mac address if it finds the mac
> address uninitialized (i.e. all zeros).
> ---
> net.c | 14 ++++++++++++++
> net.h | 2 ++
> 2 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/net.c b/net.c
> index 3fdf1e6..c6eb93c 100644
> --- a/net.c
> +++ b/net.c
> @@ -280,6 +280,20 @@ void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6])
> macaddr[3], macaddr[4], macaddr[5]);
> }
>
> +void qemu_macaddr_default_if_unset(macaddr_t macaddr)
> +{
> + macaddr_t zero = { 0,0,0,0,0,0 };
> +
> + if (memcmp(macaddr, zero, sizeof(zero)) != 0)
> + return;
> + macaddr[0] = 0x52;
> + macaddr[1] = 0x54;
> + macaddr[2] = 0x00;
> + macaddr[3] = 0x12;
> + macaddr[4] = 0x34;
> + macaddr[5] = 0x56;
> +}
> +
This will get us the same default MAC address for all NICs, won't it?
The old code provides a different default for each NIC.
Simply increment the default whenever it is used?
> static char *assign_name(VLANClientState *vc1, const char *model)
> {
> VLANState *vlan;
> diff --git a/net.h b/net.h
> index 1479826..50630a1 100644
> --- a/net.h
> +++ b/net.h
> @@ -7,6 +7,7 @@
>
> /* VLANs support */
>
> +typedef uint8_t macaddr_t[6];
Reserved identifier (any POSIX header). Do we care?
> typedef struct VLANClientState VLANClientState;
>
> typedef int (NetCanReceive)(VLANClientState *);
> @@ -75,6 +76,7 @@ ssize_t qemu_send_packet_async(VLANClientState *vc, const uint8_t *buf,
> void qemu_purge_queued_packets(VLANClientState *vc);
> void qemu_flush_queued_packets(VLANClientState *vc);
> void qemu_format_nic_info_str(VLANClientState *vc, uint8_t macaddr[6]);
> +void qemu_macaddr_default_if_unset(macaddr_t macaddr);
> void qemu_check_nic_model(NICInfo *nd, const char *model);
> void qemu_check_nic_model_list(NICInfo *nd, const char * const *models,
> const char *default_model);
next prev parent reply other threads:[~2009-09-28 22:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-25 19:43 [Qemu-devel] [RfC PATCH 0/3] qdev-ify network cards Gerd Hoffmann
2009-09-25 19:43 ` [Qemu-devel] [RfC PATCH 1/3] net: macaddr tweaks Gerd Hoffmann
2009-09-28 22:42 ` Markus Armbruster [this message]
2009-09-29 9:24 ` Gerd Hoffmann
2009-09-30 11:57 ` [Qemu-devel] " Paolo Bonzini
2009-09-30 17:19 ` Blue Swirl
2009-09-25 19:43 ` [Qemu-devel] [RfC PATCH 2/3] qdev: mac addr property fixups Gerd Hoffmann
2009-09-25 19:43 ` [Qemu-devel] [RfC PATCH 3/3] ne2k_isa: qdev-ify Gerd Hoffmann
2009-09-28 22:50 ` [Qemu-devel] [RfC PATCH 0/3] qdev-ify network cards Markus Armbruster
2009-09-30 7:20 ` Mark McLoughlin
2009-09-30 9:07 ` Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87my4ebsj9.fsf@pike.pond.sub.org \
--to=armbru@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.