[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dpdk-dts
Subject:    [dts][PATCH V5 1/2] test_plans/telemetry:add cases to check laser power in dpdk
From:       Zhimin Huang <zhiminx.huang () intel ! com>
Date:       2022-09-28 14:35:50
Message-ID: 20220928225253.20539-1-zhiminx.huang () intel ! com
[Download RAW message or body]

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 <zhiminx.huang@intel.com>
Acked-by: Peng, Yuan <yuan.peng@intel.com>
---
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,<port number>
+
+      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
-- 
2.17.1


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic