[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] New location for code common to both netfront and netback, with the MAC parsing
# HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID 9523e6d105119360ce0fd4208d8e6fee19f2bfba # Parent 980967b0b161aa2a0d77066c5c43afa1c4e3a14c New location for code common to both netfront and netback, with the MAC parsing pulled here. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> diff -r 980967b0b161 -r 9523e6d10511 linux-2.6-xen-sparse/drivers/xen/Makefile --- a/linux-2.6-xen-sparse/drivers/xen/Makefile Fri Nov 11 16:56:02 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/Makefile Fri Nov 11 16:59:20 2005 @@ -1,4 +1,5 @@ +obj-y += net_driver_util.o obj-y += util.o obj-y += console/ diff -r 980967b0b161 -r 9523e6d10511 linux-2.6-xen-sparse/drivers/xen/net_driver_util.c --- /dev/null Fri Nov 11 16:56:02 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/net_driver_util.c Fri Nov 11 16:59:20 2005 @@ -0,0 +1,67 @@ +/***************************************************************************** + * + * Utility functions for Xen network devices. + * + * Copyright (c) 2005 XenSource Ltd. + * + * This file may be distributed separately from the Linux kernel, or + * incorporated into other software packages, subject to the following + * license: + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this source file (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, modify, + * merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + + +#include <linux/if_ether.h> +#include <linux/err.h> +#include <asm-xen/net_driver_util.h> + + +int xen_net_read_mac(struct xenbus_device *dev, u8 mac[]) +{ + char *s; + int i; + char *e; + char *macstr = xenbus_read(NULL, dev->nodename, "mac", NULL); + if (IS_ERR(macstr)) { + return PTR_ERR(macstr); + } + s = macstr; + for (i = 0; i < ETH_ALEN; i++) { + mac[i] = simple_strtoul(s, &e, 16); + if (s == e || (e[0] != ':' && e[0] != 0)) { + kfree(macstr); + return -ENOENT; + } + s = &e[1]; + } + kfree(macstr); + return 0; +} + + +/* + * Local variables: + * c-file-style: "linux" + * indent-tabs-mode: t + * c-indent-level: 8 + * c-basic-offset: 8 + * tab-width: 8 + * End: + */ diff -r 980967b0b161 -r 9523e6d10511 linux-2.6-xen-sparse/include/asm-xen/net_driver_util.h --- /dev/null Fri Nov 11 16:56:02 2005 +++ b/linux-2.6-xen-sparse/include/asm-xen/net_driver_util.h Fri Nov 11 16:59:20 2005 @@ -0,0 +1,56 @@ +/***************************************************************************** + * + * Utility functions for Xen network devices. + * + * Copyright (c) 2005 XenSource Ltd. + * + * This file may be distributed separately from the Linux kernel, or + * incorporated into other software packages, subject to the following + * license: + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this source file (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, modify, + * merge, publish, distribute, sublicense, and/or sell copies of the Software, + * and to permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +#ifndef _ASM_XEN_NET_DRIVER_UTIL_H +#define _ASM_XEN_NET_DRIVER_UTIL_H + + +#include <asm-xen/xenbus.h> + + +/** + * Read the 'mac' node at the given device's node in the store, and parse that + * as colon-separated octets, placing result the given mac array. mac must be + * a preallocated array of length ETH_ALEN (as declared in linux/if_ether.h). + * Return 0 on success, or -errno on error. + */ +int xen_net_read_mac(struct xenbus_device *dev, u8 mac[]); + + +#endif /* _ASM_XEN_NET_DRIVER_UTIL_H */ + +/* + * Local variables: + * c-file-style: "linux" + * indent-tabs-mode: t + * c-indent-level: 8 + * c-basic-offset: 8 + * tab-width: 8 + * End: + */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |