From patchwork Wed Sep 28 22:52:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 117065 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7C4E8A00C4; Wed, 28 Sep 2022 16:41:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 78C914113C; Wed, 28 Sep 2022 16:41:07 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id EE9D9410FA for ; Wed, 28 Sep 2022 16:41:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664376066; x=1695912066; h=from:to:cc:subject:date:message-id; bh=9BddlYQTmT6MoWUqpxyay0PWziAErM/zJE7mXJ4sm94=; b=YO/fZVkooRp1Wqv+8CKVFhAUrXPnsjHSSs98fK5ypjKHiizhjvkZ4OsO 40W+rmFcK37QgG84/QFWY60mqgR1vIqWhPi/SGQMBVCtb5xk6sYCOpFl0 WnCx7si7GiN+dSbNkVXY+MJL3CclebiRuhF9qmxrQ/csUgv3MKMT/CSdC 0nk3rjliPmP+WZvOcVvPqxZXLW5+g4cYVqa4ykW/u4PwkaU9fEfCoMkEC q0EyNYBPhE6hPmXU+NeYrCBbhmvtvJGZp8FKn7ucnhz+htN8Top9wj4No jTXyadpy3bCXlgZibmUUOX9ofsBCQdKUVicmcoXcrkQQIwoVWBeiEyl8A Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="387900548" X-IronPort-AV: E=Sophos;i="5.93,352,1654585200"; d="scan'208";a="387900548" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2022 07:41:04 -0700 X-IronPort-AV: E=McAfee;i="6500,9779,10484"; a="747452165" X-IronPort-AV: E=Sophos;i="5.93,352,1654585200"; d="scan'208";a="747452165" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2022 07:41:03 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V5 1/2] test_plans/telemetry:add cases to check laser power in dpdk Date: Thu, 29 Sep 2022 06:52:52 +0800 Message-Id: <20220928225253.20539-1-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org the customer need to get the laser power values in dpdk. so a new telemtry command '/ethdev/module_eeprom' to show module EEPROM for each port in dpdk22.07. we add new test cases to check laser power value. 1.check the laser power values same as that of 'ethtool -m'. 2.check different/same optical modules have different/same laser power values. Signed-off-by: Zhimin Huang Acked-by: Peng, Yuan --- v5: -add command '/ethdev/module_eeprom' output in testplan v4: -optimized code in testcase. v3: -detail subject and comments. test_plans/telemetry_test_plan.rst | 107 ++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 1 deletion(-) diff --git a/test_plans/telemetry_test_plan.rst b/test_plans/telemetry_test_plan.rst index 16568cd3..949280e0 100644 --- a/test_plans/telemetry_test_plan.rst +++ b/test_plans/telemetry_test_plan.rst @@ -200,4 +200,109 @@ Test case: Stats of 4 ports for testpmd and telemetry with different type nic a. Ensure # of ports stats being returned == # of ports b. Ensure packet counts (eg rx_good_packets) is 0 c. Ensure extended NIC stats are shown (depends on PMD used for testing, refer to ixgbe/i40e tests for PMD xstats) - d. Ensure extended NIC stats are 0 (eg: rx_q0_packets == 0) \ No newline at end of file + d. Ensure extended NIC stats are 0 (eg: rx_q0_packets == 0) + +Test case: read nic Laser Power via dpdk +======================================== + +1.Bind ports to dpdk:: + + ./usertools/dpdk-devbind.py --bind=vfio-pci 18:00.0 18.00.1 + +2.Launch the dpdk testpmd with teltmetry:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd --telemetry -- -i + +3.Launch the telemetry client:: + + python ./usertools/dpdk-telemetry.py + +4.Excute command in telemtry client:: + + --> /ethdev/module_eeprom, + + take a example:/ethdev/module_eeprom,0 + {"/ethdev/module_eeprom": {"Identifier": "0x03 (SFP)", "Extended identifier": "0x04 (GBIC/SFP defined by 2-wire + interface ID)", "Connector": "0x07 (LC)", "Transceiver codes": "0x10 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00", + "Transceiver type": "10G Ethernet: 10G Base-SR; Ethernet: 1000BASE-SX", "Encoding": "0x06 (64B/66B)", "BR, + Nominal": "10300MBd", "Rate identifier": "0x00 (unspecified)", "Length (SMF,km)": "0km", "Length (SMF)": + "0m", "Length (50um)": "80m", "Length (62.5um)": "30m", "Length (Copper)": "0m", "Length (OM3)": "300m", + "Laser wavelength": "850nm", "Vendor name": "Intel Corp", "Vendor OUI": "00:1b:21", "Vendor PN": + "AFBR-703SDZ-IN2", "Vendor rev": "G2.3", "Option values": "0x00 0x3a", "Option": "RX_LOS implemented; + TX_FAULT implemented; TX_DISABLE implemented; RATE_SELECT implemented", "BR margin, max": "0%", "BR margin, + min": "0%", "Vendor SN": "AD1345A04JR", "Date code": "131108", "Optical diagnostics support": "Yes", "Laser + bias current": "5.942 mA", "Laser output power": "0.6703 mW / -1.74 dBm", "Receiver signal average optical + power": "0.8002 mW / -0.97 dBm", "Module temperature": "38.50 degrees C / 101.30 degrees F", "Module + voltage": "3.3960 V", "Alarm/warning flags implemented": "Yes", "Laser bias current high alarm": "Off", + "Laser bias current low alarm": "Off", "Laser bias current high warning": "Off", "Laser bias current low + warning": "Off", "Laser output power high alarm": "Off", "Laser output power low alarm": "Off", "Laser output + power high warning": "Off", "Laser output power low warning": "Off", "Module temperature high alarm": "Off", + "Module temperature low alarm": "Off", "Module temperature high warning": "Off", "Module temperature low + warning": "Off", "Module voltage high alarm": "Off", "Module voltage low alarm": "Off", "Module voltage + high warning": "Off", "Module voltage low warning": "Off", "Laser rx power high alarm": "Off", "Laser rx + power low alarm": "Off", "Laser rx power high warning": "On", "Laser rx power low warning": "Off", "Laser + bias current high alarm threshold": "10.500 mA", "Laser bias current low alarm threshold": "2.500 mA", + "Laser bias current high warning threshold": "10.500 mA", "Laser bias current low warning threshold": "2 + .500 mA", "Laser output power high alarm threshold": "2.0000 mW / 3.01 dBm", "Laser output power low alarm + threshold": "0.0600 mW / -12.22 dBm", "Laser output power high warning threshold": "0.7900 mW / -1.02 dBm", + "Laser output power low warning threshold": "0.0850 mW / -10.71 dBm", "Module temperature high alarm + threshold": "85.00 degrees C / 185.00 degrees F", "Module temperature low alarm threshold": "-5.00 degrees + C / 23.00 degrees F", "Module temperature high warning threshold": "80.00 degrees C / 176.00 degrees F", + "Module temperature low warning threshold": "0.00 degrees C / 32.00 degrees F", "Module voltage high + alarm threshold": "3.6000 V", "Module voltage low alarm threshold": "3.1300 V", "Module voltage high + warning threshold": "3.4600 V", "Laser rx power high alarm threshold": "2.0000 mW / 3.01 dBm", "Laser rx + power low alarm threshold": "0.0000 mW / -inf dBm", "Laser rx power high warning threshold": "0.7900 mW / + -1.02 dBm", "Laser rx power low warning threshold": "0.0200 mW / -16.99 dBm"}} + +5.check the testpmd and telemetry show info same as 'ethtool -m':: + + ethtool -m ens25f1 | grep 'Laser output power' + Laser output power : 0.6703 mW / -1.74 dBm + +.. note:: + + refer to command 'ethtool -m' of ethtool v5.4 + +Test case: check Laser Power in different optical modules +========================================================= + +1.set port 0 and port 1 with diffent optical modules + +2.Launch the dpdk testpmd with teltmetry:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd --telemetry -- -i + +3.Launch the telemetry client:: + + python ./usertools/dpdk-telemetry.py + +4.Excute command in telemtry client:: + + --> /ethdev/module_eeprom,0 + --> /ethdev/module_eeprom,1 + +5.check port 0 and port 1 have different Laser Power + +Test case: check Laser Power in same optical modules +==================================================== + +1.set port 0 and port 1 with same optical modules + +2.Launch the dpdk testpmd with teltmetry:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd --telemetry -- -i + +3.Launch the telemetry client:: + + python ./usertools/dpdk-telemetry.py + +4.Excute command in telemtry client:: + + --> /ethdev/module_eeprom,0 + --> /ethdev/module_eeprom,1 + +5.check port 0 and port 1 have same Laser Power + +.. note:: + + the laser power will change slightly with the voltage and temperature