[pve-devel] Fwd: [Qemu-stable] [PATCH] qemu-bridge-helper: force usage of a very high MAC address for the bridge

Stefan Priebe - Profihost AG s.priebe at profihost.ag
Fri Mar 22 19:16:12 CET 2013


Important for pve?


Anfang der weitergeleiteten E‑Mail:

> Von: Paolo Bonzini <pbonzini at redhat.com>
> Datum: 22. März 2013 17:57:48 MEZ
> An: qemu-devel at nongnu.org
> Kopie: coreyb at linux.vnet.ibm.com, qemu-stable at nongnu.org
> Betreff: [Qemu-stable] [PATCH] qemu-bridge-helper: force usage of a very high MAC address for the bridge
> 
> Linux uses the lowest enslaved MAC address as the MAC address of
> the bridge.  Set MAC address to a high value so that it does not
> affect the MAC address of the bridge.
> 
> Changing the MAC address of the bridge could cause a few seconds
> of network downtime.
> 
> Cc: qemu-stable at nongnu.org
> Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
> ---
> qemu-bridge-helper.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
> 
> diff --git a/qemu-bridge-helper.c b/qemu-bridge-helper.c
> index 287bfd5..6a0974e 100644
> --- a/qemu-bridge-helper.c
> +++ b/qemu-bridge-helper.c
> @@ -367,6 +367,24 @@ int main(int argc, char **argv)
>         goto cleanup;
>     }
> 
> +    /* Linux uses the lowest enslaved MAC address as the MAC address of
> +     * the bridge.  Set MAC address to a high value so that it doesn't
> +     * affect the MAC address of the bridge.
> +     */
> +    if (ioctl(ctlfd, SIOCGIFHWADDR, &ifr) < 0) {
> +        fprintf(stderr, "failed to get MAC address of device `%s': %s\n",
> +                iface, strerror(errno));
> +        ret = EXIT_FAILURE;
> +        goto cleanup;
> +    }
> +    ifr.ifr_hwaddr.sa_data[0] = 0xFE;
> +    if (ioctl(ctlfd, SIOCSIFHWADDR, &ifr) < 0) {
> +        fprintf(stderr, "failed to set MAC address of device `%s': %s\n",
> +                iface, strerror(errno));
> +        ret = EXIT_FAILURE;
> +        goto cleanup;
> +    }
> +
>     /* add the interface to the bridge */
>     prep_ifreq(&ifr, bridge);
>     ifindex = if_nametoindex(iface);
> -- 
> 1.8.1.4
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://pve.proxmox.com/pipermail/pve-devel/attachments/20130322/c1880a8d/attachment-0001.html>


More information about the pve-devel mailing list