linux/drivers/net/ethernet
Ido Schimmel 87259f1877 mlxsw: spectrum_buffers: Limit size of pools
The shared buffer pools are containers whose size is used to calculate
the maximum usage for packets from / to a specific port / {port, PG/TC},
when dynamic threshold is employed.

While it's perfectly fine for the sum of the pools to exceed the maximum
size of the shared buffer, a single pool cannot.

Add a check when the pool size is set and forbid sizes larger than the
maximum size of the shared buffer.

Without the patch:
$ devlink sb pool set pci/0000:03:00.0 pool 0 size 999999999 thtype
dynamic
// No error is returned

With the patch:
$ devlink sb pool set pci/0000:03:00.0 pool 0 size 999999999 thtype
dynamic
devlink answers: Invalid argument

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-29 20:48:51 -05:00
..
3com net: 3com: typhoon: fix typhoon_get_link_ksettings 2016-11-09 13:25:14 -05:00
8390 net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
adaptec net: adaptec: starfire: use new api ethtool_{get|set}_link_ksettings 2016-11-09 13:25:12 -05:00
adi net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
aeroflex net: phy: expose phy_aneg_done API for use by drivers 2016-11-13 00:56:26 -05:00
agere ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
allwinner net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order 2016-11-15 22:05:54 -05:00
alteon net: alteon: acenic: use new api ethtool_{get|set}_link_ksettings 2016-11-09 13:25:12 -05:00
altera net: eth: altera: Fix error return code in altera_tse_probe() 2016-10-26 17:21:59 -04:00
amazon net: ena: use setup_timer() and mod_timer() 2016-10-26 17:21:59 -04:00
amd amd-xgbe: Update connection validation for backplane mode 2016-11-18 12:28:09 -05:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
apple net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
arc net: arc_emac: add dependencies on associated arches and compile test 2016-11-29 18:57:36 -05:00
atheros alx: enable multiple tx queues 2016-11-15 22:46:30 -05:00
aurora net: nb8800: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-26 23:42:21 -05:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
calxeda ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
cavium net: thunderx: Pause frame support 2016-11-25 20:21:17 -05:00
chelsio cxgb4: fix memory leak on txq_info 2016-11-25 16:09:50 -05:00
cirrus net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
cisco enic: set skb->hash type properly 2016-11-02 15:32:53 -04:00
davicom net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dec net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dlink ethernet/dlink: use core min/max MTU checking 2016-10-18 11:34:20 -04:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
ezchip net: nps_enet: Fix module autoload 2016-10-17 13:03:02 -04:00
faraday net/faraday: Stop NCSI device on shutdown 2016-10-04 02:11:51 -04:00
freescale ptp: gianfar: Use high resolution frequency method. 2016-11-27 15:26:15 -05:00
fujitsu net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
hp net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
i825xx net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-26 23:42:21 -05:00
intel ptp: igb: Use the high resolution frequency method. 2016-11-09 21:19:53 -05:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-26 23:42:21 -05:00
mediatek net: ethernet: mediatek: use dev_kfree_skb_any instead of dev_kfree_skb 2016-10-20 14:47:52 -04:00
mellanox mlxsw: spectrum_buffers: Limit size of pools 2016-11-29 20:48:51 -05:00
micrel ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
microchip net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
moxa net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
myricom myri10ge: fix typo in parameter description 2016-10-20 14:47:53 -04:00
natsemi net: ns83820: use dev_kfree_skb_irq instead of kfree_skb 2016-10-26 17:21:59 -04:00
neterion ethernet/neterion: use core min/max MTU checking 2016-10-18 11:34:20 -04:00
netronome bpf: drop unnecessary context cast from BPF_PROG_RUN 2016-11-27 20:38:47 -05:00
nuvoton net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
nvidia ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
nxp net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
oki-semi ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
packetengines net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
pasemi ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
qualcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
rdc net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-30 12:42:58 -04:00
renesas net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
rocker Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-30 12:42:58 -04:00
samsung ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
seeq net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
sfc sfc: remove unneeded variable 2016-11-27 20:30:13 -05:00
sgi net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
silan net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
sis net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
smsc net: ethernet: smsc9420: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
stmicro stmmac: fix comments, make debug output consistent 2016-11-29 19:53:22 -05:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
synopsys Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-26 23:42:21 -05:00
tehuti ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
tile ethernet/tile: use core min/max MTU checking 2016-10-18 11:34:21 -04:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
tundra net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
via ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
wiznet net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
xilinx net: ethernet: ll_temac: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
xircom net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dnet.h net: ethernet: dnet: use phydev from struct net_device 2016-06-28 05:10:26 -04:00
ec_bhf.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ethoc.c net: ethoc: Implement ethtool::nway_reset 2016-11-16 13:44:00 -05:00
fealnx.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
jme.c ethernet: use net core MTU range checking in more drivers 2016-10-20 14:51:08 -04:00
jme.h
Kconfig net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
korina.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
lantiq_etop.c net: ethernet: lantiq_etop: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
Makefile net: ena: Add a driver for Amazon Elastic Network Adapters (ENA) 2016-08-12 17:12:08 -07:00
netx-eth.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00