From patchwork Thu Oct 21 08:01:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Mi X-Patchwork-Id: 1544208 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=XSS4RsH4; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HZg1D40rzz9sR4 for ; Thu, 21 Oct 2021 19:01:52 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 461CD4083A; Thu, 21 Oct 2021 08:01:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zps8gHTBox_4; Thu, 21 Oct 2021 08:01:48 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id DE9EB407F9; Thu, 21 Oct 2021 08:01:46 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id A6B38C0033; Thu, 21 Oct 2021 08:01:46 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 16D0FC0033 for ; Thu, 21 Oct 2021 08:01:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 4BAB8405F7 for ; Thu, 21 Oct 2021 08:01:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=nvidia.com Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Em5ryaIO_OVA for ; Thu, 21 Oct 2021 08:01:31 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2049.outbound.protection.outlook.com [40.107.93.49]) by smtp2.osuosl.org (Postfix) with ESMTPS id 0B99F405F6 for ; Thu, 21 Oct 2021 08:01:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y3AoL4e7vleSanE7VRPJJlOJY36DvgPGPs0A7EJsaKF91R+5oh6R0tkqR+OyC9NZCT7E5AzhbwcJFVX8Cc/5j9orJq0prHD6A3/r2nXZSnrRlGLBQ4peybCCjcnB+5jo8A3soaFQlk+2HPIdTn/jLN/rsEfFalgXw+rBSpqfRMufrxQZwEWGnvcGhPyTPCFdS6MaNrWu0OTBF4oPGFvYF1Cao+nuKrrZ6bwnz3ajXgAimbow5pNDw8ghz17vYJAlfppQlGPW2g6EN77aWTvdfizN1cRW1IR/oXz23qOmGdcDJpTbmsB6e6pXduAAJqGOnQ3lo63iFk9x/mJtz/9w2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wKkv+Vkw/gK+yRsKZHIMNJ/xFhEQuZrbYa4gulvv0GY=; b=AmLarS++T2e989y61zGXwTXzVyDCrDlB092jlRVbTPT+R20sbsOOhNRlK1r6A03JcG1/gL5KLoCe0vSvVTvBKX/L/JHNdv0wM8Z1ZdvWHrXULioMu2JM7S/dAVwv4hosLt7JrJupBpBX8hcXzuQK6Abr+FBV4lMvXea1Wzqkg3zsT7bu23yPf+4EtL50c8ExfhwHZwLbjScj3QsAf2AUd98N4gV7PIhCv4V+s15bg6KaIQ0jSmQUmfWT0NAWtvM1YOhOhLwZW3XauFtkF5xaxmVHzSV7pM5lPTD4og9QgRmW7Q+n04XpbOtyEaydToJXRQjm0mRL8DYowTdHlEvBqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=ovn.org smtp.mailfrom=nvidia.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wKkv+Vkw/gK+yRsKZHIMNJ/xFhEQuZrbYa4gulvv0GY=; b=XSS4RsH4TpYRWkcniU7adxP5N7YKK4MdT3+2WyFmYyiwPqgymOLidy9yx+PiyWTngoEta0ub5sRvWv8XnhJ/glJ1vzC6emF/UqtilNWlh62fLW2OfDaMDgSoS1wjEyoTFkUX9Tu4z4fXSItavXlZr3gidUMn8OM0mKf4ssRicRuIRyA8HPpYTINzDjWtnfxTBztnEIXesEvjxze8yJbnYf67tKWbUrTE6mumT1wRVVTyXvUzBxFo3IsUqXExCfXN02ZQdbX9f8DjOYfKMocuZEgA2MtpKXjPZoW44W2BXh6LoQAXaSMu8/g/sA1BtFi539tLD5l+fcPvsgX87nNROQ== Received: from MWHPR20CA0009.namprd20.prod.outlook.com (2603:10b6:300:13d::19) by BN8PR12MB3586.namprd12.prod.outlook.com (2603:10b6:408:47::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.15; Thu, 21 Oct 2021 08:01:27 +0000 Received: from CO1NAM11FT017.eop-nam11.prod.protection.outlook.com (2603:10b6:300:13d:cafe::9d) by MWHPR20CA0009.outlook.office365.com (2603:10b6:300:13d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16 via Frontend Transport; Thu, 21 Oct 2021 08:01:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; ovn.org; dkim=none (message not signed) header.d=none;ovn.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by CO1NAM11FT017.mail.protection.outlook.com (10.13.175.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4628.16 via Frontend Transport; Thu, 21 Oct 2021 08:01:26 +0000 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Thu, 21 Oct 2021 08:01:25 +0000 Received: from dev-r630-03.lab.mtl.com (172.20.187.6) by mail.nvidia.com (172.20.187.15) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Thu, 21 Oct 2021 01:01:23 -0700 To: Date: Thu, 21 Oct 2021 16:01:03 +0800 Message-ID: <20211021080103.657675-9-cmi@nvidia.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20211021080103.657675-1-cmi@nvidia.com> References: <20211021080103.657675-1-cmi@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7eac1472-4d05-40e0-58ab-08d99468fbc0 X-MS-TrafficTypeDiagnostic: BN8PR12MB3586: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6NDJz76k+ADZ1TZzaeNUJJrKGpAyQ7nyeZsJW8zrtGHzjTbY2lEpAEA08gOuaFxv2Y7UP9g9Z7V+8Ul01BbF7D1p1CPV70YdaoENzvd0zAuKcFa4PvlH21wRFE6j4R3CVnHytgc334Cdt/gN7LPQXkjYesRiRV3YNj0e4K9NI++6hwl3PyyE2FRyQ8UbM42r6h2LkPUUrGWpmBtSEgnEVOQebIE6vRuH7I2ntWngrZWXdOXEQL10HBXIrxnUvwLpThq35J0oqqM+TqWGMA6laLnW3fBWCndrISPr60g227TfMAVBSd9V98ondFZtk9gdbnjWE5blxQtgkwUyq3MtprkRsHUReg9ei0HmAy34PXdbCAB9yPNYg0TG3lnPsas3GSBirfGHFtLhhcM4jKYqjm0h+zg5K8bWZ/VVc7hkGDr0wI1j1vWOQM8EdhJ6ix+URMA1zQLry1E1jpnpuS0EGe/efRBylflG2X3WW6X+98NxEcTMqgCko1rAz8bryOhVt4iU0EcW8CwRrPyhKXzn+AmclYgklvU8HbkGXq9eA/h7s2KCwT+uFNFWW1fVzt70pncM1wlf7bqMLwOvdunT313xO6vwSBfK/k8dtAwmIteaPMb+FvurSPDwkRdXZ4r2WxcD4WGwkVtaWEGzCw72/hJA+brF8m7ilfUKb9x/o1tookHIU+/Xi1EIU1Z6GG/YhaLD/JyLmBcJFxb0FJA2dg== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(5660300002)(4326008)(107886003)(70586007)(36860700001)(1076003)(7636003)(70206006)(47076005)(356005)(2906002)(426003)(83380400001)(336012)(8676002)(6666004)(316002)(36906005)(82310400003)(508600001)(8936002)(54906003)(6916009)(186003)(2616005)(86362001)(36756003)(26005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2021 08:01:26.5685 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7eac1472-4d05-40e0-58ab-08d99468fbc0 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT017.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR12MB3586 Cc: elibr@nvidia.com, simon.horman@netronome.com, roniba@nvidia.com, i.maximets@ovn.org Subject: [ovs-dev] [PATCH v17 8/8] system-offloads-traffic.at: Add sFlow offload test cases 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: , X-Patchwork-Original-From: Chris Mi via dev From: Chris Mi Reply-To: Chris Mi Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Add two sFlow offload test caes: 3: sflow offloads with sampling=1 - ping between two ports - offloads enabled ok 4: sflow offloads with sampling=2 - ping between two ports - offloads enabled ok Signed-off-by: Chris Mi Acked-by: Eelco Chaudron --- tests/system-offloads-traffic.at | 101 +++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) diff --git a/tests/system-offloads-traffic.at b/tests/system-offloads-traffic.at index be63057bb..5068fcae2 100644 --- a/tests/system-offloads-traffic.at +++ b/tests/system-offloads-traffic.at @@ -71,6 +71,107 @@ AT_CHECK([ovs-appctl upcall/show | grep -E "offloaded flows : [[1-9]]"], [0], [i OVS_TRAFFIC_VSWITCHD_STOP AT_CLEANUP +AT_SETUP([sflow offloads with sampling=1 - ping between two ports - offloads enabled]) +OVS_TRAFFIC_VSWITCHD_START() + +on_exit 'kill `cat test-sflow.pid`' +AT_CHECK([ovstest test-sflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > sflow.log], [0], [], [ignore]) +AT_CAPTURE_FILE([sflow.log]) +PARSE_LISTENING_PORT([test-sflow.log], [SFLOW_PORT]) + +AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:hw-offload=true]) + +AT_CHECK([ovs-appctl -t ovsdb-server exit]) +AT_CHECK([ovs-appctl -t ovs-vswitchd exit]) +AT_CHECK([rm -f ovsdb-server.pid]) +AT_CHECK([rm -f ovs-vswitchd.pid]) +AT_CHECK([ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock], [0], [], [stderr]) +AT_CHECK([ovs-vswitchd --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl], [0], [], [stderr]) +on_exit "kill `cat ovsdb-server.pid`" +on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`" + +AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) + +ADD_NAMESPACES(at_ns0, at_ns1) + +ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24") +ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24") +AT_CHECK([ovs-appctl dpctl/dump-flows], [0], [ignore]) + +NS_CHECK_EXEC([at_ns0], [ping -c 10 -w 12 10.1.1.2 | FORMAT_PING], [0], [dnl +10 packets transmitted, 10 received, 0% packet loss, time 0ms +]) +AT_CHECK([ovs-vsctl -- --id=@sflow create sflow agent=lo target=\"127.0.0.1:$SFLOW_PORT\" header=128 sampling=1 polling=100 -- set bridge br0 sflow=@sflow], [0], [ignore]) +NS_CHECK_EXEC([at_ns0], [ping -c 10 -w 12 10.1.1.2 | FORMAT_PING], [0], [dnl +10 packets transmitted, 10 received, 0% packet loss, time 0ms +]) + +m4_define([DUMP_SFLOW], [sed -e "s/used:[[0-9]].[[0-9]]*s/used:0.001s/;s/eth(src=[[a-z0-9:]]*,dst=[[a-z0-9:]]*)/eth(macs)/;s/pid=[[0-9]]*/pid=1/;s/output=$P1_IFINDEX/output=1/"]) +P1_IFINDEX=$(cat /sys/class/net/ovs-p1/ifindex) +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep "in_port(2)" | grep "eth_type(0x0800)" | grep "actions:userspace" | grep "sFlow" | DUMP_SFLOW], [0], [dnl +recirc_id(0),in_port(2),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:10, bytes:840, used:0.001s, actions:userspace(pid=1,sFlow(vid=0,pcp=0,output=1),actions),3 +]) + +m4_define([DUMP_SFLOW], [sed -e "s/used:[[0-9]].[[0-9]]*s/used:0.001s/;s/eth(src=[[a-z0-9:]]*,dst=[[a-z0-9:]]*)/eth(macs)/;s/pid=[[0-9]]*/pid=1/;s/output=$P0_IFINDEX/output=1/"]) +P0_IFINDEX=$(cat /sys/class/net/ovs-p0/ifindex) +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep "in_port(3)" | grep "eth_type(0x0800)" | grep "actions:userspace" | grep "sFlow" | DUMP_SFLOW], [0], [dnl +recirc_id(0),in_port(3),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:10, bytes:840, used:0.001s, actions:userspace(pid=1,sFlow(vid=0,pcp=0,output=1),actions),2 +]) + +OVS_TRAFFIC_VSWITCHD_STOP +OVS_APP_EXIT_AND_WAIT([test-sflow]) +count=`cat sflow.log | wc -l` +AT_CHECK([[[[ $count -le 22 && $count -ge 18 ]]]]) +AT_CLEANUP + +AT_SETUP([sflow offloads with sampling=2 - ping between two ports - offloads enabled]) +OVS_TRAFFIC_VSWITCHD_START() + +on_exit 'kill `cat test-sflow.pid`' +AT_CHECK([ovstest test-sflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > sflow.log], [0], [], [ignore]) +AT_CAPTURE_FILE([sflow.log]) +PARSE_LISTENING_PORT([test-sflow.log], [SFLOW_PORT]) + +AT_CHECK([ovs-vsctl set Open_vSwitch . other_config:hw-offload=true]) + +AT_CHECK([ovs-appctl -t ovsdb-server exit]) +AT_CHECK([ovs-appctl -t ovs-vswitchd exit]) +AT_CHECK([rm -f ovsdb-server.pid]) +AT_CHECK([rm -f ovs-vswitchd.pid]) +AT_CHECK([ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock], [0], [], [stderr]) +AT_CHECK([ovs-vswitchd --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl], [0], [], [stderr]) +on_exit "kill `cat ovsdb-server.pid`" +on_exit "kill_ovs_vswitchd `cat ovs-vswitchd.pid`" + +AT_CHECK([ovs-ofctl add-flow br0 "actions=normal"]) + +ADD_NAMESPACES(at_ns0, at_ns1) + +ADD_VETH(p0, at_ns0, br0, "10.1.1.1/24") +ADD_VETH(p1, at_ns1, br0, "10.1.1.2/24") +AT_CHECK([ovs-appctl dpctl/dump-flows], [0], [ignore]) + +AT_CHECK([ovs-vsctl -- --id=@sflow create sflow agent=lo target=\"127.0.0.1:$SFLOW_PORT\" header=128 sampling=2 polling=100 -- set bridge br0 sflow=@sflow], [0], [ignore]) +NS_CHECK_EXEC([at_ns0], [ping -c 1000 -i 0.01 -w 12 10.1.1.2], [0], [ignore]) + +P1_IFINDEX=$(cat /sys/class/net/ovs-p1/ifindex) +m4_define([DUMP_SFLOW], [sed -e "s/packets:[[0-9]]*/packets:1/;s/bytes:[[0-9]]*/bytes:1/;s/used:[[0-9]].[[0-9]]*s/used:0.001s/;s/eth(src=[[a-z0-9:]]*,dst=[[a-z0-9:]]*)/eth(macs)/;s/pid=[[0-9]]*/pid=1/;s/output=$P1_IFINDEX/output=1/"]) +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep "in_port(2)" | grep "eth_type(0x0800)" | grep "actions:sample" | grep "sFlow" | DUMP_SFLOW], [0], [dnl +recirc_id(0),in_port(2),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:1, bytes:1, used:0.001s, actions:sample(sample=50.0%,actions(userspace(pid=1,sFlow(vid=0,pcp=0,output=1),actions))),3 +]) + +P0_IFINDEX=$(cat /sys/class/net/ovs-p0/ifindex) +m4_define([DUMP_SFLOW], [sed -e "s/packets:[[0-9]]*/packets:1/;s/bytes:[[0-9]]*/bytes:1/;s/used:[[0-9]].[[0-9]]*s/used:0.001s/;s/eth(src=[[a-z0-9:]]*,dst=[[a-z0-9:]]*)/eth(macs)/;s/pid=[[0-9]]*/pid=1/;s/output=$P0_IFINDEX/output=1/"]) +AT_CHECK([ovs-appctl dpctl/dump-flows type=tc,offloaded | grep "in_port(3)" | grep "eth_type(0x0800)" | grep "actions:sample" | grep "sFlow" | DUMP_SFLOW], [0], [dnl +recirc_id(0),in_port(3),eth(macs),eth_type(0x0800),ipv4(frag=no), packets:1, bytes:1, used:0.001s, actions:sample(sample=50.0%,actions(userspace(pid=1,sFlow(vid=0,pcp=0,output=1),actions))),2 +]) + +OVS_TRAFFIC_VSWITCHD_STOP +OVS_APP_EXIT_AND_WAIT([test-sflow]) +count=`cat sflow.log | wc -l` +AT_CHECK([[[[ $count -le 1100 && $count -ge 900 ]]]]) +AT_CLEANUP + AT_SETUP([offloads - set ingress_policing_rate and ingress_policing_burst - offloads disabled]) AT_KEYWORDS([ingress_policing]) AT_SKIP_IF([test $HAVE_TC = "no"])