linux_dsm_epyc7002/drivers/net/ethernet/ti
Ivan Khoronzhuk 83fcad0c98 net: ethernet: ti: cpsw: add .ndo to set per-queue rate
This patch allows to rate limit queues tx queues for cpsw interface.
The rate is set in absolute Mb/s units and cannot be more a speed
an interface is connected with.

The rate for a tx queue can be tested with:

ethtool -L eth0 rx 4 tx 4

echo 100 > /sys/class/net/eth0/queues/tx-0/tx_maxrate
echo 200 > /sys/class/net/eth0/queues/tx-1/tx_maxrate
echo 50 > /sys/class/net/eth0/queues/tx-2/tx_maxrate
echo 30 > /sys/class/net/eth0/queues/tx-3/tx_maxrate

tc qdisc add dev eth0 root handle 1: multiq

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip\
dport 5001 0xffff action skbedit queue_mapping 0

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip\
dport 5002 0xffff action skbedit queue_mapping 1

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip\
dport 5003 0xffff action skbedit queue_mapping 2

tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip\
dport 5004 0xffff action skbedit queue_mapping 3

iperf -c 192.168.2.1 -b 110M -p 5001 -f m -t 60
iperf -c 192.168.2.1 -b 215M -p 5002 -f m -t 60
iperf -c 192.168.2.1 -b 55M -p 5003 -f m -t 60
iperf -c 192.168.2.1 -b 32M -p 5004 -f m -t 60

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-30 14:37:14 -05:00
..
cpmac.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
cpsw_ale.c net: cpsw: remove two unused global functions 2015-05-25 18:19:09 -04:00
cpsw_ale.h net: cpsw: remove two unused global functions 2015-05-25 18:19:09 -04:00
cpsw-common.c net: cpsw: Fix ethernet regression for dm814x 2015-11-20 10:46:33 -05:00
cpsw-phy-sel.c net: ethernet: ti: cpsw: fix device and of_node leaks 2016-11-07 13:17:30 -05:00
cpsw.c net: ethernet: ti: cpsw: add .ndo to set per-queue rate 2016-11-30 14:37:14 -05:00
cpsw.h net: ethernet: ti: cpsw: remove rx_descs property 2016-06-17 21:27:57 -07:00
cpts.c ptp: cpts: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
cpts.h time: move the timecounter/cyclecounter code into its own file. 2014-12-30 18:29:25 -05:00
davinci_cpdma.c net: ethernet: ti: davinci_cpdma: add set rate for a channel 2016-11-30 14:37:13 -05:00
davinci_cpdma.h net: ethernet: ti: davinci_cpdma: add set rate for a channel 2016-11-30 14:37:13 -05:00
davinci_emac.c net: ethernet: ti: davinci_emac: fix device reference leak 2016-11-07 13:17:30 -05:00
davinci_mdio.c drivers: net: davinci_mdio: enable pm runtime auto for ti cpsw-mdio 2016-06-28 08:57:19 -04:00
Kconfig net: cpsw: make TI_CPSW_PHY_SEL invisible 2016-07-16 21:27:43 -07:00
Makefile drivers: net: cpsw: make cpsw_ale.c a module to allow re-use on Keystone 2015-01-31 17:33:07 -08:00
netcp_core.c net: netcp: replace IS_ERR_OR_NULL by IS_ERR 2016-11-16 23:26:36 -05:00
netcp_ethss.c net: ti: netcp_ethss: use new api ethtool_{get|set}_link_ksettings 2016-10-12 01:40:25 -04:00
netcp_sgmii.c net: netcp: Fixes SGMII reset on network interface shutdown 2015-07-27 01:14:26 -07:00
netcp_xgbepcsr.c net: netcp: Enhance GBE driver to support 10G Ethernet 2015-01-19 15:07:39 -05:00
netcp.h netcp: add more __le32 annotations 2015-12-11 19:34:39 -05:00
tlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-14 10:00:27 -04:00
tlan.h tlan: Don't scream if no link 2014-07-07 17:06:52 -07:00