linux/drivers/s390/net
Lakhvich Dmitriy fe5c802882 s390/qeth: optimize MAC handling in rx_mode callback
In layer2 mode of the qeth driver, MAC address lists
from struct net_device require mapping to the OSA-card.
The existing implementation is inefficient for lists with
more than several MAC addresses, since for every
ndo_set_rx_mode callback it removes all MAC addresses first,
and then registers the current MAC address list.
This patch changes implementation of ndo_set_rx_mode callback
in qeth, only performing hardware registration/removal for
new/deleted addresses. To shorten lookup of MAC addresses
registered addresses are kept in a hashtable instead of a
linear list.

Signed-off-by: Lakhvich Dmitriy <ldmitriy@ru.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Reviewed-by: Eugene Crosser <Eugene.Crosser@ru.ibm.com>
Reviewed-by: Thomas Richter <tmricht@de.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-10-07 04:52:04 -07:00
..
Kconfig s390: remove claw driver 2015-02-28 23:38:29 -05:00
Makefile s390: remove claw driver 2015-02-28 23:38:29 -05:00
ctcm_dbug.c s390/s390dbf: use debug_level_enabled() where applicable 2013-10-24 17:16:54 +02:00
ctcm_dbug.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ctcm_fsms.c s390/ctcm, netiucv: migrate variables to handle y2038 problem 2015-01-17 23:54:59 -05:00
ctcm_fsms.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ctcm_main.c s390/ctcm, netiucv: migrate variables to handle y2038 problem 2015-01-17 23:54:59 -05:00
ctcm_main.h s390/ctcm, netiucv: migrate variables to handle y2038 problem 2015-01-17 23:54:59 -05:00
ctcm_mpc.c s390: remove 31 bit support 2015-03-25 11:49:33 +01:00
ctcm_mpc.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
ctcm_sysfs.c s390/ctcm, netiucv: migrate variables to handle y2038 problem 2015-01-17 23:54:59 -05:00
fsm.c
fsm.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
lcs.c s390/lcs: Fix null-pointer access in msg 2015-05-18 12:14:18 -04:00
lcs.h s390/s390dbf: use debug_level_enabled() where applicable 2013-10-24 17:16:54 +02:00
netiucv.c s390/iucv: do not use arrays as argument 2015-09-21 16:03:04 -07:00
qeth_core.h s390/qeth: optimize MAC handling in rx_mode callback 2015-10-07 04:52:04 -07:00
qeth_core_main.c qeth: add layer 2 RX/TX checksum offloading 2015-09-21 16:03:04 -07:00
qeth_core_mpc.c qeth: OSA version of SETBRIDGEPORT command 2015-05-18 12:14:17 -04:00
qeth_core_mpc.h qeth: OSA version of SETBRIDGEPORT command 2015-05-18 12:14:17 -04:00
qeth_core_sys.c qeth: move OSA portname into deprecated status 2015-09-21 16:03:04 -07:00
qeth_l2.h qeth: bridgeport support - basic control 2014-01-15 14:48:01 -08:00
qeth_l2_main.c s390/qeth: optimize MAC handling in rx_mode callback 2015-10-07 04:52:04 -07:00
qeth_l2_sys.c qeth: no write permission for readonly sysattr 2015-09-21 16:03:04 -07:00
qeth_l3.h qeth: make local functions static in qeth_l3 module 2014-10-26 22:21:39 -04:00
qeth_l3_main.c qeth: add layer 2 RX/TX checksum offloading 2015-09-21 16:03:04 -07:00
qeth_l3_sys.c qeth: sysfs: replace strcmp() with sysfs_streq() 2015-01-17 23:55:00 -05:00
smsgiucv.c s390/iucv: do not use arrays as argument 2015-09-21 16:03:04 -07:00
smsgiucv.h s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
smsgiucv_app.c Driver core: driver_find() drops reference before returning 2012-01-24 16:00:34 -08:00