• Przemyslaw Patynowski's avatar
    iavf: Fix max_rate limiting · ec60d54c
    Przemyslaw Patynowski authored
    Fix max_rate option in TC, check for proper quanta boundaries.
    Check for minimum value provided and if it fits expected 50Mbps
    quanta.
    
    Without this patch, iavf could send settings for max_rate limiting
    that would be accepted from by PF even the max_rate option is less
    than expected 50Mbps quanta. It results in no rate limiting
    on traffic as rate limiting will be floored to 0.
    
    Example:
    tc qdisc add dev $vf root mqprio num_tc 3 map 0 2 1 queues \
    2@0 2@2 2@4 hw 1 mode channel shaper bw_rlimit \
    max_rate 50Mbps 500Mbps 500Mbps
    
    Should limit TC0 to circa 50 Mbps
    
    tc qdisc add dev $vf root mqprio num_tc 3 map 0 2 1 queues \
    2@0 2@2 2@4 hw 1 mode channel shaper bw_rlimit \
    max_rate 0Mbps 100Kbit 500Mbps
    
    Should return error
    
    Fixes: d5b33d02 ("i40evf: add ndo_setup_tc callback to i40evf")
    Signed-off-by: default avatarPrzemyslaw Patynowski <przemyslawx.patynowski@intel.com>
    Signed-off-by: default avatarJun Zhang <xuejun.zhang@intel.com>
    Tested-by: default avatarBharathi Sreenivas <bharathi.sreenivas@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    ec60d54c
iavf.h 20.5 KB