All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH v2 1/5] net: macaddr tweaks.
Date: Wed, 07 Oct 2009 08:05:51 -0500	[thread overview]
Message-ID: <4ACC922F.6020505@codemonkey.ws> (raw)
In-Reply-To: <1254918996-26050-2-git-send-email-kraxel@redhat.com>

Gerd Hoffmann wrote:
> 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 |    2 ++
>  2 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/net.c b/net.c
> index 2e4dd58..4dc910b 100644
> --- a/net.c
> +++ b/net.c
> @@ -281,6 +281,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_t macaddr)
> +{
> +    static int index = 0;
> +    static const 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 + index++;
> +}
> +
>  static char *assign_name(VLANClientState *vc1, const char *model)
>  {
>      VLANState *vlan;
> diff --git a/net.h b/net.h
> index 2b0ed9b..7aefc51 100644
> --- a/net.h
> +++ b/net.h
> @@ -8,6 +8,7 @@
>  
>  /* VLANs support */
>  
> +typedef uint8_t macaddr_t[6];
>   

Let's make it a stronger type and avoid introducing more _t types.  I'd 
suggest:

typedef struct MacAddress
{
    uint8_t addr[6];
} MacAddress

>  typedef struct VLANClientState VLANClientState;
>  
>  typedef int (NetCanReceive)(VLANClientState *);
> @@ -76,6 +77,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);
>   

Couldn't we set the default based on a qdev default property?  A #define 
could be used to ensure there was a global default.

Regards,

Anthony Liguori

  reply	other threads:[~2009-10-07 13:06 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-07 12:36 [Qemu-devel] [RfC PATCH v2 0/5] qdev-ify network cards Gerd Hoffmann
2009-10-07 12:36 ` [Qemu-devel] [RFC PATCH v2 1/5] net: macaddr tweaks Gerd Hoffmann
2009-10-07 13:05   ` Anthony Liguori [this message]
2009-10-07 13:14     ` Gerd Hoffmann
2009-10-07 13:23       ` Anthony Liguori
2009-10-07 12:36 ` [Qemu-devel] [RFC PATCH v2 2/5] qdev: mac addr property fixups Gerd Hoffmann
2009-10-07 12:36 ` [Qemu-devel] [RFC PATCH v2 3/5] ne2k: work without vlan Gerd Hoffmann
2009-10-07 13:06   ` Anthony Liguori
2009-10-07 13:15     ` Gerd Hoffmann
2009-10-07 12:36 ` [Qemu-devel] [RFC PATCH v2 4/5] ne2k_isa: qdev-ify Gerd Hoffmann
2009-10-07 13:50   ` Mark McLoughlin
2009-10-07 14:07     ` Gerd Hoffmann
2009-10-07 12:36 ` [Qemu-devel] [RFC PATCH v2 5/5] ne2k_isa: add property for option rom loading Gerd Hoffmann
2009-10-07 13:08   ` Anthony Liguori
2009-10-07 13:21     ` Gerd Hoffmann
2009-10-07 13:28       ` Anthony Liguori
2009-10-07 14:00         ` Gerd Hoffmann
2009-10-07 14:17           ` Anthony Liguori
2009-10-07 14:27             ` Gerd Hoffmann
2009-10-07 18:34               ` Anthony Liguori
2009-10-12 10:13                 ` 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=4ACC922F.6020505@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --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.