• Huy Nguyen's avatar
    net/mlx5e: Read ETS settings directly from firmware · 820c2c5e
    Huy Nguyen authored
    Issue description:
    Current implementation saves the ETS settings from user in
    a temporal soft copy and returns this settings when user
    queries the ETS settings.
    
    With the new DCBX firmware, the ETS settings can be changed
    by firmware when the DCBX is in firmware controlled mode. Therefore,
    user will obtain wrong values from the temporal soft copy.
    
    Solution:
    1. Read the ETS settings directly from firmware.
    2. For tc_tsa:
       a. Initialize tc_tsa to vendor IEEE_8021QAZ_TSA_VENDOR at netdev
          creation.
       b. When reading ETS setting from FW, if the traffic class bandwidth
          is less than 100, set tc_tsa to IEEE_8021QAZ_TSA_ETS. This
          implementation solves the scenarios when the DCBX is in FW control
          and willing bit is on which means the ETS setting is dictated
          by remote switch.
    
    Also check ETS capability where needed.
    Signed-off-by: default avatarHuy Nguyen <huyn@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    820c2c5e
en.h 27.4 KB