From patchwork Thu Sep 21 07:12:08 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Darrell Ball X-Patchwork-Id: 816711 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pk3FzPDW"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xySYH3gxCz9s7v for ; Thu, 21 Sep 2017 17:14:59 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 273AA9AF; Thu, 21 Sep 2017 07:12:27 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0337396F for ; Thu, 21 Sep 2017 07:12:24 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id B284E14B for ; Thu, 21 Sep 2017 07:12:23 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id g65so2164034pfe.1 for ; Thu, 21 Sep 2017 00:12:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=sxhwZi3dG1uIBI8KD+z53z4fK/kj00ezGT7SjkhXRd4=; b=pk3FzPDWMaajp+8HDLYSNr6EdA9Glh+t5oXKb8UHPGgP5+xK9Zc5192UH6yeZaJ4Yl Y4LJkCJbKx+2tmV8JWSGa+fyMuYjiqEuYUBNKBy4xoVkPfGIJYMMK08mVe38ivfv2Riq orHxrGbOBHL3zXB0mTObZMUB75xcrPiKHmT/DoEARGk6wxyCCCfWOtzDJCnTwycuX14O n25KguXZyRfR+59bGXDRLUA9QJ0Ux9u2mqS82WC+7x0C9PYl8QzRHZWEamoe/gDF3OMc 64/cAhpJMllDXeFia2skEy8TbV7y/9KnoKPGEkxRk1o1wL/Drz/kB3FTSCcBcd1t5W0G CrBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=sxhwZi3dG1uIBI8KD+z53z4fK/kj00ezGT7SjkhXRd4=; b=sBUrJCBmXy6PM9AYm4EanDqrKwhgA1yVtZPzXPHCNyiFatIFFSbigmODgCE6BOGxmN cvAxKHzzCgRVQ+mcUEN/Id18Jo3QeMvDRAHZ4iPIkJx/GFnCg12tfSvQccQ9jfy17jer H43VRv4cF51XzR+XJLwDYbmAtt4CXfCqyGQT+yOW1tWL66Y9WEClC2wJJwQ8r9eBaETd FQK4FDYyg3NN2MoUue496MrXA3V6qXvgafb+ELijA36RgrZ9vm+5c+pECAYvcZWcNZPw dCPTHT4/iBf4a+OBQMTQOycuo2qG3rD5q6UTy7DIWHaf0xYPtGrPDt2JiBSr+5rw37ZR zbkg== X-Gm-Message-State: AHPjjUhzX3RXDh12TkNrYXuWofq5bI40eQQtDu8/MFIRXZJCqZFOpFxC xn4I9IevZBRI97asUPNLAjY= X-Google-Smtp-Source: AOwi7QCZtNW7NFKXzC2BozzuBKOsxflKmG4pSKoWnLZ8m1nzDfP7vtsWmxLrduaN36mC07oIClwPLQ== X-Received: by 10.84.224.13 with SMTP id r13mr4631948plj.137.1505977943379; Thu, 21 Sep 2017 00:12:23 -0700 (PDT) Received: from localhost.localdomain (c-73-162-236-45.hsd1.ca.comcast.net. [73.162.236.45]) by smtp.gmail.com with ESMTPSA id j83sm1475734pfe.133.2017.09.21.00.12.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 21 Sep 2017 00:12:22 -0700 (PDT) From: Darrell Ball To: dlu998@gmail.com, dev@openvswitch.org Date: Thu, 21 Sep 2017 00:12:08 -0700 Message-Id: <1505977929-13284-4-git-send-email-dlu998@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1505977929-13284-1-git-send-email-dlu998@gmail.com> References: <1505977929-13284-1-git-send-email-dlu998@gmail.com> X-Spam-Status: No, score=0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM autolearn=disabled version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [patch v2 4/5] conntrack: Add function print_conn_info(). X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org A new debug function is added and used in a subsequent patch. Signed-off-by: Darrell Ball Acked-by: Antonio Fischetti --- lib/conntrack.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/lib/conntrack.c b/lib/conntrack.c index 2eca38d..8deeec9 100644 --- a/lib/conntrack.c +++ b/lib/conntrack.c @@ -67,6 +67,8 @@ enum ct_alg_mode { CT_TFTP_MODE, }; +void print_conn_info(struct conn *c, char *log_msg); + static bool conn_key_extract(struct conntrack *, struct dp_packet *, ovs_be16 dl_type, struct conn_lookup_ctx *, uint16_t zone); @@ -223,6 +225,57 @@ conn_key_cmp(const struct conn_key *key1, const struct conn_key *key2) return 1; } +void +print_conn_info(struct conn *c, char *log_msg) +{ + VLOG_INFO("%s", log_msg); + if (c->key.dl_type == htons(ETH_TYPE_IP)) { + VLOG_INFO("src addr "IP_FMT " dst addr "IP_FMT + " rev src addr "IP_FMT " rev dst addr "IP_FMT, + IP_ARGS(c->key.src.addr.ipv4_aligned), + IP_ARGS(c->key.dst.addr.ipv4_aligned), + IP_ARGS(c->rev_key.src.addr.ipv4_aligned), + IP_ARGS(c->rev_key.dst.addr.ipv4_aligned)); + } else { + ovs_be32 a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13; + ovs_be32 a14, a15; + memcpy(&a0, &c->key.src.addr.ipv6_aligned.s6_addr[0], sizeof a0); + memcpy(&a1, &c->key.src.addr.ipv6_aligned.s6_addr[4], sizeof a1); + memcpy(&a2, &c->key.src.addr.ipv6_aligned.s6_addr[8], sizeof a2); + memcpy(&a3, &c->key.src.addr.ipv6_aligned.s6_addr[12], sizeof a3); + memcpy(&a4, &c->key.dst.addr.ipv6_aligned.s6_addr[0], sizeof a4); + memcpy(&a5, &c->key.dst.addr.ipv6_aligned.s6_addr[4], sizeof a5); + memcpy(&a6, &c->key.dst.addr.ipv6_aligned.s6_addr[8], sizeof a6); + memcpy(&a7, &c->key.dst.addr.ipv6_aligned.s6_addr[12], sizeof a7); + memcpy(&a8, &c->rev_key.src.addr.ipv6_aligned.s6_addr[0], + sizeof a8); + memcpy(&a9, &c->rev_key.src.addr.ipv6_aligned.s6_addr[4], + sizeof a9); + memcpy(&a10, &c->rev_key.src.addr.ipv6_aligned.s6_addr[8], + sizeof a10); + memcpy(&a11, &c->rev_key.src.addr.ipv6_aligned.s6_addr[12], + sizeof a11); + memcpy(&a12, &c->rev_key.dst.addr.ipv6_aligned.s6_addr[0], + sizeof a12); + memcpy(&a13, &c->rev_key.dst.addr.ipv6_aligned.s6_addr[4], + sizeof a13); + memcpy(&a14, &c->rev_key.dst.addr.ipv6_aligned.s6_addr[8], + sizeof a14); + memcpy(&a15, &c->rev_key.dst.addr.ipv6_aligned.s6_addr[12], + sizeof a15); + + VLOG_INFO("src addr 0x%08x:%08x:%08x:%08x; " + "dst addr 0x%08x:%08x:%08x:%08x; " + "rev src addr 0x%08x:%08x:%08x:%08x; " + "rev dst addr 0x%08x:%08x:%08x:%08x", ntohl(a0), ntohl(a1), + ntohl(a2), ntohl(a3), ntohl(a4), ntohl(a5), ntohl(a6), + ntohl(a7), ntohl(a8), ntohl(a9), ntohl(a10), ntohl(a11), + ntohl(a12), ntohl(a13), ntohl(a14), ntohl(a15)); + } + VLOG_INFO("src/dst ports %d/%d rev src/dst ports %d/%d", c->key.src.port, + c->key.dst.port, c->rev_key.src.port, c->rev_key.dst.port); +} + /* Initializes the connection tracker 'ct'. The caller is responsible for * calling 'conntrack_destroy()', when the instance is not needed anymore */ void