From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [RfC PATCH v3 01/10] net: macaddr tweaks.
Date: Fri, 16 Oct 2009 15:41:54 +0200 [thread overview]
Message-ID: <1255700523-15270-2-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1255700523-15270-1-git-send-email-kraxel@redhat.com>
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).
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
net.c | 15 +++++++++++++++
net.h | 5 +++++
qemu-common.h | 1 +
3 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/net.c b/net.c
index 4708080..3b69d3b 100644
--- a/net.c
+++ b/net.c
@@ -280,6 +280,21 @@ 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 *macaddr)
+{
+ static int index = 0;
+ static const MACAddr zero = { .a = { 0,0,0,0,0,0 } };
+
+ if (memcmp(macaddr, &zero, sizeof(zero)) != 0)
+ return;
+ macaddr->a[0] = 0x52;
+ macaddr->a[1] = 0x54;
+ macaddr->a[2] = 0x00;
+ macaddr->a[3] = 0x12;
+ macaddr->a[4] = 0x34;
+ macaddr->a[5] = 0x56 + index++;
+}
+
static char *assign_name(VLANClientState *vc1, const char *model)
{
VLANState *vlan;
diff --git a/net.h b/net.h
index 439de2a..605092a 100644
--- a/net.h
+++ b/net.h
@@ -7,6 +7,10 @@
#include "qemu-option.h"
#include "net-queue.h"
+struct MACAddr {
+ uint8_t a[6];
+};
+
/* VLANs support */
typedef int (NetCanReceive)(VLANClientState *);
@@ -65,6 +69,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 *macaddr);
int qemu_show_nic_models(const char *arg, const char *const *models);
void qemu_check_nic_model(NICInfo *nd, const char *model);
int qemu_find_nic_model(NICInfo *nd, const char * const *models,
diff --git a/qemu-common.h b/qemu-common.h
index 8551862..980f362 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -180,6 +180,7 @@ typedef struct PixelFormat PixelFormat;
typedef struct TextConsole TextConsole;
typedef TextConsole QEMUConsole;
typedef struct CharDriverState CharDriverState;
+typedef struct MACAddr MACAddr;
typedef struct VLANState VLANState;
typedef struct VLANClientState VLANClientState;
typedef struct QEMUFile QEMUFile;
--
1.6.2.5
next prev parent reply other threads:[~2009-10-16 13:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-16 13:41 [Qemu-devel] [RfC PATCH v3 00/10] qdev-ify network cards Gerd Hoffmann
2009-10-16 13:41 ` Gerd Hoffmann [this message]
2009-10-16 13:41 ` [Qemu-devel] [RfC PATCH v3 02/10] qdev: mac addr property fixups Gerd Hoffmann
2009-10-16 13:41 ` [Qemu-devel] [RfC PATCH v3 03/10] qdev: add netdev property Gerd Hoffmann
2009-10-16 13:41 ` [Qemu-devel] [RfC PATCH v3 04/10] qdev: add vlan property Gerd Hoffmann
2009-10-16 13:41 ` [Qemu-devel] [RfC PATCH v3 05/10] qdev/net: common nic property bits Gerd Hoffmann
2009-10-16 13:41 ` [Qemu-devel] [RfC PATCH v3 06/10] ne2k_isa: qdev-ify Gerd Hoffmann
2009-10-16 13:42 ` [Qemu-devel] [RfC PATCH v3 07/10] qdev: add qdev_prop_exists() Gerd Hoffmann
2009-10-16 13:42 ` [Qemu-devel] [RfC PATCH v3 08/10] prepare pci nic init path for qdev conversion Gerd Hoffmann
2009-10-16 13:42 ` [Qemu-devel] [RfC PATCH v3 09/10] ne2k_pci: qdev-ify Gerd Hoffmann
2009-10-16 13:42 ` [Qemu-devel] [RfC PATCH v3 10/10] ne2k_pci: load rom Gerd Hoffmann
2009-10-19 8:59 ` [Qemu-devel] [RfC PATCH v3 00/10] qdev-ify network cards Mark McLoughlin
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=1255700523-15270-2-git-send-email-kraxel@redhat.com \
--to=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).