From patchwork Mon Jul 12 19:20:51 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miguel Di Ciurcio Filho X-Patchwork-Id: 58662 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 42940B6F11 for ; Tue, 13 Jul 2010 05:30:01 +1000 (EST) Received: from localhost ([127.0.0.1]:59328 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYOhS-0007Fq-1Y for incoming@patchwork.ozlabs.org; Mon, 12 Jul 2010 15:29:58 -0400 Received: from [140.186.70.92] (port=37610 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OYOZW-0001sC-0O for qemu-devel@nongnu.org; Mon, 12 Jul 2010 15:21:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OYOZU-0003uz-Ll for qemu-devel@nongnu.org; Mon, 12 Jul 2010 15:21:45 -0400 Received: from mail-gx0-f173.google.com ([209.85.161.173]:35921) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OYOZU-0003tN-Ha for qemu-devel@nongnu.org; Mon, 12 Jul 2010 15:21:44 -0400 Received: by mail-gx0-f173.google.com with SMTP id 19so2952507gxk.4 for ; Mon, 12 Jul 2010 12:21:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=bfZk1ZO8TIJytqJ5xMJSmz4JdvVR9OBTJF4jhD7dM7E=; b=oJtft4dN5wyelrOBaPZJdiSGXgdAt7Yf21+huYSFWHMZxYd7qs96F2do8TQnFmTqVU cAG1yj5EH3oRU/JIYA2LNADT71/H/Eh2sMud5ib06ZRueDsfN1AIJRjI+iwDnhx8YSpH Q7IJ+Xe/lo0/tp6jeTQxf/0G9qk8DC/GlZchg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=qbRJIYV/ouHKQE+qkKdrMBP7KGteyb+g3gAe9VpUEN+M88DGMGGM9K1kpSHtyKzwSh KTrcZjLl++TfGp5XegUWuNhRtbVuGi+ZON5GNlbTLuCAfUMMiZ+lIbW9RQpBTusGN9yK 5L90jcHnOND+ANQDFIqF657HEP1iAEkFEWzLA= Received: by 10.100.198.4 with SMTP id v4mr10729902anf.184.1278962504101; Mon, 12 Jul 2010 12:21:44 -0700 (PDT) Received: from localhost.localdomain ([143.106.7.130]) by mx.google.com with ESMTPS id p9sm55284904anf.26.2010.07.12.12.21.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 12 Jul 2010 12:21:41 -0700 (PDT) From: Miguel Di Ciurcio Filho To: qemu-devel@nongnu.org Date: Mon, 12 Jul 2010 16:20:51 -0300 Message-Id: <1278962453-15774-7-git-send-email-miguel.filho@gmail.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1278962453-15774-1-git-send-email-miguel.filho@gmail.com> References: <1278962453-15774-1-git-send-email-miguel.filho@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) Cc: Miguel Di Ciurcio Filho , avi@redhat.com Subject: [Qemu-devel] [PATCH 6/8] vlan cleanup: remove dump.h and dump.c X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org --- net/dump.c | 159 ------------------------------------------------------------ net/dump.h | 33 ------------ 2 files changed, 0 insertions(+), 192 deletions(-) diff --git a/net/dump.c b/net/dump.c deleted file mode 100644 index 6db7ecf..0000000 --- a/net/dump.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - * QEMU System Emulator - * - * Copyright (c) 2003-2008 Fabrice Bellard - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (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 "dump.h" -#include "qemu-common.h" -#include "sysemu.h" -#include "qemu-error.h" -#include "qemu-log.h" - -typedef struct DumpState { - VLANClientState nc; - int fd; - int pcap_caplen; -} DumpState; - -#define PCAP_MAGIC 0xa1b2c3d4 - -struct pcap_file_hdr { - uint32_t magic; - uint16_t version_major; - uint16_t version_minor; - int32_t thiszone; - uint32_t sigfigs; - uint32_t snaplen; - uint32_t linktype; -}; - -struct pcap_sf_pkthdr { - struct { - int32_t tv_sec; - int32_t tv_usec; - } ts; - uint32_t caplen; - uint32_t len; -}; - -static ssize_t dump_receive(VLANClientState *nc, const uint8_t *buf, size_t size) -{ - DumpState *s = DO_UPCAST(DumpState, nc, nc); - struct pcap_sf_pkthdr hdr; - int64_t ts; - int caplen; - - /* Early return in case of previous error. */ - if (s->fd < 0) { - return size; - } - - ts = muldiv64(qemu_get_clock(vm_clock), 1000000, get_ticks_per_sec()); - caplen = size > s->pcap_caplen ? s->pcap_caplen : size; - - hdr.ts.tv_sec = ts / 1000000; - hdr.ts.tv_usec = ts % 1000000; - hdr.caplen = caplen; - hdr.len = size; - if (write(s->fd, &hdr, sizeof(hdr)) != sizeof(hdr) || - write(s->fd, buf, caplen) != caplen) { - qemu_log("-net dump write error - stop dump\n"); - close(s->fd); - s->fd = -1; - } - - return size; -} - -static void dump_cleanup(VLANClientState *nc) -{ - DumpState *s = DO_UPCAST(DumpState, nc, nc); - - close(s->fd); -} - -static NetClientInfo net_dump_info = { - .type = NET_CLIENT_TYPE_DUMP, - .size = sizeof(DumpState), - .receive = dump_receive, - .cleanup = dump_cleanup, -}; - -static int net_dump_init(VLANState *vlan, const char *device, - const char *name, const char *filename, int len) -{ - struct pcap_file_hdr hdr; - VLANClientState *nc; - DumpState *s; - int fd; - - fd = open(filename, O_CREAT | O_WRONLY | O_BINARY, 0644); - if (fd < 0) { - error_report("-net dump: can't open %s", filename); - return -1; - } - - hdr.magic = PCAP_MAGIC; - hdr.version_major = 2; - hdr.version_minor = 4; - hdr.thiszone = 0; - hdr.sigfigs = 0; - hdr.snaplen = len; - hdr.linktype = 1; - - if (write(fd, &hdr, sizeof(hdr)) < sizeof(hdr)) { - error_report("-net dump write error: %s", strerror(errno)); - close(fd); - return -1; - } - - nc = qemu_new_net_client(&net_dump_info, vlan, NULL, device, name); - - snprintf(nc->info_str, sizeof(nc->info_str), - "dump to %s (len=%d)", filename, len); - - s = DO_UPCAST(DumpState, nc, nc); - - s->fd = fd; - s->pcap_caplen = len; - - return 0; -} - -int net_init_dump(QemuOpts *opts, Monitor *mon, const char *name, VLANState *vlan) -{ - int len; - const char *file; - char def_file[128]; - - assert(vlan); - - file = qemu_opt_get(opts, "file"); - if (!file) { - snprintf(def_file, sizeof(def_file), "qemu-vlan%d.pcap", vlan->id); - file = def_file; - } - - len = qemu_opt_get_size(opts, "len", 65536); - - return net_dump_init(vlan, "dump", name, file, len); -} diff --git a/net/dump.h b/net/dump.h deleted file mode 100644 index fdc91ad..0000000 --- a/net/dump.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * QEMU System Emulator - * - * Copyright (c) 2003-2008 Fabrice Bellard - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (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 QEMU_NET_DUMP_H -#define QEMU_NET_DUMP_H - -#include "net.h" -#include "qemu-common.h" - -int net_init_dump(QemuOpts *opts, Monitor *mon, - const char *name, VLANState *vlan); - -#endif /* QEMU_NET_DUMP_H */