From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55391) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrWHV-0007ee-P2 for qemu-devel@nongnu.org; Wed, 28 Oct 2015 15:21:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZrWHU-0000AA-Vh for qemu-devel@nongnu.org; Wed, 28 Oct 2015 15:21:09 -0400 Received: from mail-vk0-x232.google.com ([2607:f8b0:400c:c05::232]:35431) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZrWHU-00009m-Rv for qemu-devel@nongnu.org; Wed, 28 Oct 2015 15:21:08 -0400 Received: by vkfw189 with SMTP id w189so12085382vkf.2 for ; Wed, 28 Oct 2015 12:21:08 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1446059583-16340-5-git-send-email-laurent@vivier.eu> References: <1446059583-16340-1-git-send-email-laurent@vivier.eu> <1446059583-16340-5-git-send-email-laurent@vivier.eu> From: Peter Maydell Date: Wed, 28 Oct 2015 19:20:49 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 4/4] linux-user: manage bind with a socket of SOCK_PACKET type. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: Riku Voipio , QEMU Developers On 28 October 2015 at 19:13, Laurent Vivier wrote: > This is obsolete, but if we want to use dhcp with an old distro (like deb= ian > etch), we need it. Some users (like dhclient) use SOCK_PACKET with AF_PAC= KET > and the kernel allows that. > > packet(7) > > In Linux 2.0, the only way to get a packet socket was by calling > socket(AF_INET, SOCK_PACKET, protocol). This is still supported but > strongly deprecated. The main difference between the two methods is > that SOCK_PACKET uses the old struct sockaddr_pkt to specify an inter= =E2=80=90 > face, which doesn't provide physical layer independence. > > struct sockaddr_pkt { > unsigned short spkt_family; > unsigned char spkt_device[14]; > unsigned short spkt_protocol; > }; > > spkt_family contains the device type, spkt_protocol is the IEEE 802.3 > protocol type as defined in and spkt_device is the > device name as a null-terminated string, for example, eth0. > > Signed-off-by: Laurent Vivier > --- > linux-user/syscall.c | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index 31b5c2c..f048437 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -2086,6 +2086,30 @@ static int sock_flags_fixup(int fd, int target_typ= e) > return fd; > } > > +static abi_long packet_target_to_host_addr(void *host_addr, > + abi_ulong target_addr, > + socklen_t len) Should the function name be ..._to_host_sockaddr ? Otherwise, Reviewed-by: Peter Maydell thanks -- PMM