• Zhu Yanjun's avatar
    net/mlx5e: Get the latest values from counters in switchdev mode · dcdf4ce0
    Zhu Yanjun authored
    In the switchdev mode, when running "cat
    /sys/class/net/NIC/statistics/tx_packets", the ppcnt register is
    accessed to get the latest values. But currently this command can
    not get the correct values from ppcnt.
    
    From firmware manual, before getting the 802_3 counters, the 802_3
    data layout should be set to the ppcnt register.
    
    When the command "cat /sys/class/net/NIC/statistics/tx_packets" is
    run, before updating 802_3 data layout with ppcnt register, the
    monitor counters are tested. The test result will decide the
    802_3 data layout is updated or not.
    
    Actually the monitor counters do not support to monitor rx/tx
    stats of 802_3 in switchdev mode. So the rx/tx counters change
    will not trigger monitor counters. So the 802_3 data layout will
    not be updated in ppcnt register. Finally this command can not get
    the latest values from ppcnt register with 802_3 data layout.
    
    Fixes: 5c7e8bbb ("net/mlx5e: Use monitor counters for update stats")
    Signed-off-by: default avatarZhu Yanjun <yanjunz@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    dcdf4ce0
en_main.c 140 KB