From patchwork Thu Jan 21 09:42:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tonghao Zhang X-Patchwork-Id: 1429697 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=hemlock.osuosl.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.a=rsa-sha256 header.s=20161025 header.b=U+FKwpdS; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLyCp4BBWz9sWV for ; Thu, 21 Jan 2021 20:44:37 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id AF543871B5; Thu, 21 Jan 2021 09:44:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZoYVaMWPQGlh; Thu, 21 Jan 2021 09:44:33 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by hemlock.osuosl.org (Postfix) with ESMTP id A244E85C8C; Thu, 21 Jan 2021 09:44:33 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 80EF1C088B; Thu, 21 Jan 2021 09:44:33 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 57E0FC013A for ; Thu, 21 Jan 2021 09:44:32 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3D94886BE9 for ; Thu, 21 Jan 2021 09:44:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LiQ+-Vfpxunv for ; Thu, 21 Jan 2021 09:44:31 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-vs1-f47.google.com (mail-vs1-f47.google.com [209.85.217.47]) by whitealder.osuosl.org (Postfix) with ESMTPS id 6F7CA86C22 for ; Thu, 21 Jan 2021 09:44:31 +0000 (UTC) Received: by mail-vs1-f47.google.com with SMTP id p20so704656vsq.7 for ; Thu, 21 Jan 2021 01:44:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=mB/i3wOx6AK+PKDjbmW25nXtSqfqYnPuU+3tBuL2H+U=; b=U+FKwpdSgJhHNgsy9QaF+6705/0A2ow/xrVwjC8eU4+e3E0HqxVaMWFnS8gWteQs9d UpUC/hU0wk2U0vp6BbpJCbDkHvnp5cupGNdUHjI+8+fjwYqcVqM9QTcKlXNVputIvv+i 3Zkn5nNwCn0IpSKKXkeALyqC5g/jZuQZPuhw912oWzueP8frB+kG2APR8A+MkfeVjtc2 XVbUOb1AyYXGK9RWjr03kR5hyR5GR0lWuv4bdwA4fDyIdb2Rzm0B3JtM4VuzqCgx4lV/ LZGOCZzixjfHASDTY4IieWoinFmQt5WpZ+osQT6gQ6aUmxgntKMfaV7OrwTFN6Da01I+ 7HRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=mB/i3wOx6AK+PKDjbmW25nXtSqfqYnPuU+3tBuL2H+U=; b=GKUBpX6wNLo3kHk6vPd47AzDNMpMmJUt0oOX+LXV5Vc9lk8AmL9nQwW6zRv3pcpSkX eAm5vFig7XKwU49y3EHkmJOFnqzrWqw+7OUBL7O817FuzWOAqUESrbMtBZFY6VGTsmfj +emQ+jag2y8Bcy76OW7tcRfBVUNcVghWxdB5v0RWcSYDg+xML6a1C1l4nEVep5rUgK3N h6JJKSny5eGeI0bEUX5Fb26H38FhFGqgC6n8PvNPVw9/+Q+3hCD0rM71zj4UDPRAX98/ PSZxv2+lbJVhw6b4yR/YBG129rayVI/2LdyXw8RFSpxw/BcXUvIm9nUz1tXcg1bkqu1j D/FA== X-Gm-Message-State: AOAM532rmyFNHPBju2+zAMPMDnqupAIKnL+iLHhLb+77ev/f0XQbq5RB +Nvay51kVAlaISMLi0uVeJ8= X-Google-Smtp-Source: ABdhPJxP1K2/YIoEJxOG+di/LGeN1wqB5jTmTzvNl1q6eYSe5flO43YyPX2JD1lCksHYGIphUg2BRA== X-Received: by 2002:a67:e412:: with SMTP id d18mr8121771vsf.59.1611222270493; Thu, 21 Jan 2021 01:44:30 -0800 (PST) Received: from localhost.localdomain ([50.236.19.102]) by smtp.gmail.com with ESMTPSA id 84sm688230vkz.34.2021.01.21.01.44.24 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jan 2021 01:44:29 -0800 (PST) From: xiangxia.m.yue@gmail.com To: i.maximets@ovn.org, blp@ovn.org, pshelar@ovn.org Date: Thu, 21 Jan 2021 17:42:08 +0800 Message-Id: <20210121094210.55038-1-xiangxia.m.yue@gmail.com> X-Mailer: git-send-email 2.15.0 Cc: dev@openvswitch.org Subject: [ovs-dev] [PATCH ovs v2 1/3] dpif-netdev: Fix the meter buckets overflow. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Tonghao Zhang When setting the meter rate to 4.3+Gbps, there is an overflow, the meters don't work as expected. $ ovs-ofctl -O OpenFlow13 add-meter br-int "meter=1 kbps stats bands=type=drop rate=4294968" Before the patch, the buckets of meters was stored in its burst_size of ofputil_meter_band. It was overflow when we set the rate to 4294968. This patch don't change the public API and structure. This patch remove the "up" from dp_meter_band, and introduce the type, rate to datapath's meter bands. Then datapath don't depend upper layer. Signed-off-by: Tonghao Zhang --- lib/dpif-netdev.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index e3fd0a07f..c281f9ac6 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -279,8 +279,10 @@ static bool dpcls_lookup(struct dpcls *cls, ( 1 << OFPMBT13_DROP ) struct dp_meter_band { - struct ofputil_meter_band up; /* type, prec_level, pad, rate, burst_size */ - uint32_t bucket; /* In 1/1000 packets (for PKTPS), or in bits (for KBPS) */ + uint16_t type; + uint32_t rate; + uint32_t burst_size; + uint64_t bucket; /* In 1/1000 packets (for PKTPS), or in bits (for KBPS) */ uint64_t packet_count; uint64_t byte_count; }; @@ -6199,12 +6201,14 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_, /* Update all bands and find the one hit with the highest rate for each * packet (if any). */ for (int m = 0; m < meter->n_bands; ++m) { - band = &meter->bands[m]; + uint64_t max_bucket_size; + band = &meter->bands[m]; /* Update band's bucket. */ - band->bucket += delta_t * band->up.rate; - if (band->bucket > band->up.burst_size) { - band->bucket = band->up.burst_size; + max_bucket_size = band->rate * 1000ULL; + band->bucket += (uint64_t)delta_t * band->rate; + if (band->bucket > max_bucket_size) { + band->bucket = max_bucket_size; } /* Drain the bucket for all the packets, if possible. */ @@ -6222,8 +6226,8 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_, * (Only one band will be fired by a packet, and that * can be different for each packet.) */ for (int i = band_exceeded_pkt; i < cnt; i++) { - if (band->up.rate > exceeded_rate[i]) { - exceeded_rate[i] = band->up.rate; + if (band->rate > exceeded_rate[i]) { + exceeded_rate[i] = band->rate; exceeded_band[i] = m; } } @@ -6242,8 +6246,8 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_, /* Update the exceeding band for the exceeding packet. * (Only one band will be fired by a packet, and that * can be different for each packet.) */ - if (band->up.rate > exceeded_rate[i]) { - exceeded_rate[i] = band->up.rate; + if (band->rate > exceeded_rate[i]) { + exceeded_rate[i] = band->rate; exceeded_band[i] = m; } } @@ -6320,21 +6324,15 @@ dpif_netdev_meter_set(struct dpif *dpif, ofproto_meter_id meter_id, for (i = 0; i < config->n_bands; ++i) { uint32_t band_max_delta_t; - /* Set burst size to a workable value if none specified. */ - if (config->bands[i].burst_size == 0) { - config->bands[i].burst_size = config->bands[i].rate; - } - - meter->bands[i].up = config->bands[i]; - /* Convert burst size to the bucket units: */ - /* pkts => 1/1000 packets, kilobits => bits. */ - meter->bands[i].up.burst_size *= 1000; - /* Initialize bucket to empty. */ - meter->bands[i].bucket = 0; + meter->bands[i].type = config->bands[i].type; + meter->bands[i].rate = config->bands[i].rate; + meter->bands[i].burst_size = config->bands[i].burst_size; + /* Start with a full bucket. */ + meter->bands[i].bucket = meter->bands[i].rate * 1000ULL; /* Figure out max delta_t that is enough to fill any bucket. */ band_max_delta_t - = meter->bands[i].up.burst_size / meter->bands[i].up.rate; + = meter->bands[i].bucket / meter->bands[i].rate; if (band_max_delta_t > meter->max_delta_t) { meter->max_delta_t = band_max_delta_t; } From patchwork Thu Jan 21 09:42:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tonghao Zhang X-Patchwork-Id: 1429698 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=hemlock.osuosl.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.a=rsa-sha256 header.s=20161025 header.b=Zoa7VQSX; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLyCr1Hkzz9sWV for ; Thu, 21 Jan 2021 20:44:40 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8A4CF86FE5; Thu, 21 Jan 2021 09:44:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zOASch0Ju3GH; Thu, 21 Jan 2021 09:44:37 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by hemlock.osuosl.org (Postfix) with ESMTP id E0D33871C1; Thu, 21 Jan 2021 09:44:36 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id C089BC088B; Thu, 21 Jan 2021 09:44:36 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id CF39FC088B for ; Thu, 21 Jan 2021 09:44:35 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C09E886C22 for ; Thu, 21 Jan 2021 09:44:35 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UNJqTyqtbGON for ; Thu, 21 Jan 2021 09:44:35 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-vk1-f180.google.com (mail-vk1-f180.google.com [209.85.221.180]) by whitealder.osuosl.org (Postfix) with ESMTPS id D653286C25 for ; Thu, 21 Jan 2021 09:44:34 +0000 (UTC) Received: by mail-vk1-f180.google.com with SMTP id d23so373457vkf.3 for ; Thu, 21 Jan 2021 01:44:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=1WgMe88Xc5Ar2hNf35u5tN7OdPOx0iN4yX+kRsdF9DY=; b=Zoa7VQSXtKdLWS0GgPAMY9qJsMdxyfsX5wJHN0riCaqFjZd5yOoRteMzPIgJWgGU5f 97J6qlq1JWZEPlFUppXnjtIaVpAbIc6Yy04aDVVQ3ubz2ERtxl+4a8H3W95Rdh/C0Axv e80kzw+aB0GUSoULMBtV4DMqMjrtWELMEpLMMHHGcqFjtsn5LMS4hIzwLUZFmRlzc/k1 QWyFd7YUDLK3jXPtFxfavjYOeTzI6D9CM3HNTEvUy3cAzdB+VTE+lX3nU7+3YKugoxMT Tcou9UeCf7YiHDqS4vNdKipwNb3nwkoM6eDh0houyUMnOT1Fh9yhfqow0IKx9kB4YiXD 1wLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=1WgMe88Xc5Ar2hNf35u5tN7OdPOx0iN4yX+kRsdF9DY=; b=s38RSPHXl546DJvdWLxbP+37PV3gfl9k178rzPzJUdVvDWXVe+RMWK/HRgqTjLM90K ZZclAoebfqnYh9G/sZegikfjMjpvSDG4KElCM7N6UkF/tOfBMXxfTv53akOpSDQQkSeh NstxgxPjMG8W5Pi8/HVdmWEVuFEZRfiUEOPuSDsfJ7jngRNo72o78ubDhJajCFQGevpy tSlvoltfuFIo05EGgRA2wKw/xN22r8ddmngxHeZ22g0OeUIUnhf4RZFxET4txgFTzd+/ 6/9fQGpfoJIwwY0G3h4J9Ar1w/qOTRfNwPBw01CEKHPD7OmsiOsD2NH+lcbal0JEtO2D pOIw== X-Gm-Message-State: AOAM5338Zhc3vjrF+7aa1M6/8jAUG7e9m/pY7PescNKwUTNPuPlF2F1a sztucvSVSACEWLF+DHxDujs= X-Google-Smtp-Source: ABdhPJzJOtguvGup/adRy5QtSQadVTXog5EfOSCdHKRWWIse1lWru6uTD1N79+qlK3MkP3jamkJGwA== X-Received: by 2002:a1f:ab0a:: with SMTP id u10mr9743585vke.6.1611222273922; Thu, 21 Jan 2021 01:44:33 -0800 (PST) Received: from localhost.localdomain ([50.236.19.102]) by smtp.gmail.com with ESMTPSA id 84sm688230vkz.34.2021.01.21.01.44.30 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jan 2021 01:44:33 -0800 (PST) From: xiangxia.m.yue@gmail.com To: i.maximets@ovn.org, blp@ovn.org, pshelar@ovn.org Date: Thu, 21 Jan 2021 17:42:09 +0800 Message-Id: <20210121094210.55038-2-xiangxia.m.yue@gmail.com> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20210121094210.55038-1-xiangxia.m.yue@gmail.com> References: <20210121094210.55038-1-xiangxia.m.yue@gmail.com> Cc: dev@openvswitch.org Subject: [ovs-dev] [PATCH ovs v2 2/3] dpif-netdev: Add the burst size to buckets. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Tonghao Zhang For now, the meter of the userspace datapath, don't include the bucket burst size to buckets. This patch includes it now. $ ovs-ofctl -O OpenFlow13 add-meter br0 \ 'meter=1 pktps burst stats bands=type=drop rate=10000 burst_size=2000' Signed-off-by: Tonghao Zhang --- lib/dpif-netdev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index c281f9ac6..ee1619695 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -6205,7 +6205,7 @@ dp_netdev_run_meter(struct dp_netdev *dp, struct dp_packet_batch *packets_, band = &meter->bands[m]; /* Update band's bucket. */ - max_bucket_size = band->rate * 1000ULL; + max_bucket_size = (band->burst_size + band->rate) * 1000ULL; band->bucket += (uint64_t)delta_t * band->rate; if (band->bucket > max_bucket_size) { band->bucket = max_bucket_size; @@ -6328,7 +6328,8 @@ dpif_netdev_meter_set(struct dpif *dpif, ofproto_meter_id meter_id, meter->bands[i].rate = config->bands[i].rate; meter->bands[i].burst_size = config->bands[i].burst_size; /* Start with a full bucket. */ - meter->bands[i].bucket = meter->bands[i].rate * 1000ULL; + meter->bands[i].bucket = + (meter->bands[i].burst_size + meter->bands[i].rate) * 1000ULL; /* Figure out max delta_t that is enough to fill any bucket. */ band_max_delta_t From patchwork Thu Jan 21 09:42:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tonghao Zhang X-Patchwork-Id: 1429699 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.133; helo=hemlock.osuosl.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.a=rsa-sha256 header.s=20161025 header.b=vXalfy87; dkim-atps=neutral Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLyD20KwWz9sTD for ; Thu, 21 Jan 2021 20:44:50 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 9D58A871AF; Thu, 21 Jan 2021 09:44:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gNQKlFM82c0B; Thu, 21 Jan 2021 09:44:47 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by hemlock.osuosl.org (Postfix) with ESMTP id B6539871C4; Thu, 21 Jan 2021 09:44:47 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 9E239C088B; Thu, 21 Jan 2021 09:44:47 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id A1FCAC088B for ; Thu, 21 Jan 2021 09:44:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 9E19A86BE9 for ; Thu, 21 Jan 2021 09:44:45 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7cLYx3KvQpL5 for ; Thu, 21 Jan 2021 09:44:40 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) by whitealder.osuosl.org (Postfix) with ESMTPS id 8347986CEB for ; Thu, 21 Jan 2021 09:44:38 +0000 (UTC) Received: by mail-vs1-f51.google.com with SMTP id o186so719527vso.1 for ; Thu, 21 Jan 2021 01:44:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oNNWJGqXWSRH3sBYqTCDhdZPPWEMNqogBaoI461WgLI=; b=vXalfy87P7ngTGl5t8rKd7ezxcdIkEZQ3/xkwCnz9SqRg2loNkY3prwF+NuFCdtFiS /yd8r0WcSB90h8U/lsMxjasGE3cw3mj0MudiAj/htaM9qnBLTNzDlnr4VllUoAI6BmXt z4mHsRDpMOFgP21n99IYAr4ogMqHmWGTnMuB6e+AYCwd41YS7+vic2UiEa/lHhECKxnA y+wy/qSYdAneHc7KGmfmDE01CtJggLmjgDExNkkLjnNZmVUrqLfrS6fvED8h+g/ZUhpK wepZr3jktbl2POArAv01IRIq6COMTxUayBkP5AHAxabqk02B9gECKD1a9sWA9JqOthjc fD7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=oNNWJGqXWSRH3sBYqTCDhdZPPWEMNqogBaoI461WgLI=; b=l81tda/2NJV6h6RWVolj7umbr45qyNlQB5Rzm0cJYvbhmHVKtxbD5pE2Ot+PX0F7Gn 1gEW4pTlQzQaDiOM4eZJCFzG0mezNLLFozc8FE/zjcFKvzpPP1GE9p946e6jkaY1dTJK jRg9ok2V61+Eyt+RzelPKAcKgfJA+PTRT+WXDsETH1Md4nYoEw17sasx/V/qFeU7AG3K 4b9ovHkGL3EIqYUCwVMEdQvUe/oqEWvktpyHPFtgMdrpxL11pq4mz3KD9qugd4qoGYtK p5820hkIVHNcP5lJkOIPKns1VxYx6MdTZKe4k84W0SOnUhdMjJCRhiwqA/v6afy+ppHQ k/6g== X-Gm-Message-State: AOAM533WDdo6r6X9Nnlbw3gLmXALaAVfdABt0RffKZbPxFr3wwXJ1VlB f9A8WrMYjGwecUpcGaVX7kw= X-Google-Smtp-Source: ABdhPJy844cAz9eOt54NTw+ow6E7t5WNLFb1CAzwY4oK9M1ZBsoFuIX3orWSwtHLQL8KxhKCsj30hA== X-Received: by 2002:a05:6102:93:: with SMTP id t19mr9211234vsp.57.1611222277546; Thu, 21 Jan 2021 01:44:37 -0800 (PST) Received: from localhost.localdomain ([50.236.19.102]) by smtp.gmail.com with ESMTPSA id 84sm688230vkz.34.2021.01.21.01.44.34 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jan 2021 01:44:37 -0800 (PST) From: xiangxia.m.yue@gmail.com To: i.maximets@ovn.org, blp@ovn.org, pshelar@ovn.org Date: Thu, 21 Jan 2021 17:42:10 +0800 Message-Id: <20210121094210.55038-3-xiangxia.m.yue@gmail.com> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20210121094210.55038-1-xiangxia.m.yue@gmail.com> References: <20210121094210.55038-1-xiangxia.m.yue@gmail.com> Cc: dev@openvswitch.org Subject: [ovs-dev] [PATCH ovs v2 3/3] tests/dpif-netdev: Update dpif-netdev meter testcase. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" From: Tonghao Zhang The buckets used was changed, and now dpif-netdev support burst_size, change the testcase. Signed-off-by: Tonghao Zhang --- tests/dpif-netdev.at | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/dpif-netdev.at b/tests/dpif-netdev.at index 2862a3c9b..3aa9c0cba 100644 --- a/tests/dpif-netdev.at +++ b/tests/dpif-netdev.at @@ -282,7 +282,7 @@ OVS_VSWITCHD_START( AT_CHECK([ovs-appctl vlog/set dpif:dbg dpif_netdev:dbg]) AT_CHECK([ovs-ofctl -O OpenFlow13 add-meter br0 'meter=1 pktps burst stats bands=type=drop rate=1 burst_size=1']) -AT_CHECK([ovs-ofctl -O OpenFlow13 add-meter br0 'meter=2 kbps burst stats bands=type=drop rate=1 burst_size=2']) +AT_CHECK([ovs-ofctl -O OpenFlow13 add-meter br0 'meter=2 kbps burst stats bands=type=drop rate=1 burst_size=1']) AT_CHECK([ovs-ofctl -O OpenFlow13 add-flow br0 'in_port=1 action=meter:1,7']) AT_CHECK([ovs-ofctl -O OpenFlow13 add-flow br0 'in_port=7 action=meter:2,1']) AT_CHECK([ovs-ofctl add-flow br1 'in_port=2 action=8']) @@ -295,7 +295,7 @@ meter=1 pktps burst stats bands= type=drop rate=1 burst_size=1 meter=2 kbps burst stats bands= -type=drop rate=1 burst_size=2 +type=drop rate=1 burst_size=1 ]) ovs-appctl time/warp 5000 @@ -312,14 +312,14 @@ AT_CHECK([ovs-appctl netdev-dummy/receive p8 'in_port(8),packet_type(ns=0,id=0), sleep 1 # wait for forwarders process packets # Meter 1 is measuring packets, allowing one packet per second with -# bursts of one packet, so 4 out of 5 packets should hit the drop +# bursts of one packet, so 3 out of 5 packets should hit the drop # band. -# Meter 2 is measuring kbps, with burst size 2 (== 2000 bits). 4 packets +# Meter 2 is measuring kbps, with burst size 1 ( = 2000bits). 4 packets # (240 bytes == 1920 bits) pass, but the last packet should hit the drop band. AT_CHECK([ovs-ofctl -O OpenFlow13 meter-stats br0 | strip_timers], [0], [dnl OFPST_METER reply (OF1.3) (xid=0x2): meter:1 flow_count:1 packet_in_count:5 byte_in_count:300 duration:0.0s bands: -0: packet_count:4 byte_count:240 +0: packet_count:3 byte_count:180 meter:2 flow_count:1 packet_in_count:5 byte_in_count:300 duration:0.0s bands: 0: packet_count:1 byte_count:60 @@ -343,13 +343,13 @@ sleep 1 # wait for forwarders process packets # Meter 1 is measuring packets, allowing one packet per second with # bursts of one packet, so all 5 of the new packets should hit the drop # band. -# Meter 2 is measuring kbps, with burst size 2 (== 2000 bits). After 500ms +# Meter 2 is measuring kbps, with burst size 1 (== 2000 bits). After 500ms # there should be space for 80 + 500 bits, so one new 60 byte (480 bit) packet # should pass, remaining 4 should hit the drop band. AT_CHECK([ovs-ofctl -O OpenFlow13 meter-stats br0 | strip_timers], [0], [dnl OFPST_METER reply (OF1.3) (xid=0x2): meter:1 flow_count:1 packet_in_count:10 byte_in_count:600 duration:0.0s bands: -0: packet_count:9 byte_count:540 +0: packet_count:8 byte_count:480 meter:2 flow_count:1 packet_in_count:10 byte_in_count:600 duration:0.0s bands: 0: packet_count:5 byte_count:300 @@ -360,7 +360,7 @@ ovs-appctl time/warp 5000 AT_CHECK([ ovs-appctl coverage/read-counter datapath_drop_meter ], [0], [dnl -14 +13 ]) AT_CHECK([cat ovs-vswitchd.log | filter_flow_install | strip_xout_keep_actions], [0], [dnl