linux/drivers/net/ethernet
nikolay@redhat.com 8a7fbfab4b netxen: write IP address to firmware when using bonding
This patch allows LRO aggregation on bonded devices that contain an
NX3031 device. It also adds a for_each_netdev_in_bond_rcu(bond, slave)
macro which executes for each slave that has bond as master.

V3: After testing and discussing this with Rajesh, I decided to keep the
    vlan ip cache and just rename it to ip_cache since it will store bond
    ip addresses too. A new master flag has been added to the ip cache to
    denote that the address has been added because of a master device.
    I've taken care of the enslave/release cases by checking for various
    combinations of events and flags (e.g. netxen has a master, it's a
    bond master and it's not marked as a slave means it is being enslaved
    and is dev_open()ed in bond_enslave).
    I've changed netxen_free_ip_list() to have a "master" parameter which
    causes all IP addresses marked as master to be deleted (used when a
    netxen is being released). I've made the patch use the new upper
    device API as well. The following cases were tested:
    - bond -> netxen
    - vlan -> netxen
    - vlan -> bond -> netxen

V2: Remove local ip caching, retrieve addresses dynamically and
    restore them if necessary.

Note: Tested with NX3031 adapter.

Tested-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Andy Gospodarek <agospoda@redhat.com>
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-03-15 08:22:20 -04:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-01-29 15:32:13 -05:00
8390 Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
adaptec drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
adi drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
aeroflex net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
alteon drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
amd ethernet: amd: use PTR_RET instead of IS_ERR + PTR_ERR 2013-03-12 06:57:22 -04:00
apple
atheros drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
broadcom bnx2x: use list_move instead of list_del/list_add 2013-03-12 08:04:08 -04:00
brocade bna: fix declaration mismatch 2013-03-09 16:09:17 -05:00
cadence drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
calxeda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-01-29 15:32:13 -05:00
chelsio RDMA/cxgb4: Use DSGLs for fastreg and adapter memory writes for T5. 2013-03-14 11:35:59 -04:00
cirrus drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
cisco enic: change sprintf() to snprintf() 2013-01-18 14:34:48 -05:00
davicom ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
dec Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
dlink drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-03-12 05:52:22 -04:00
faraday net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
freescale fec: Use devm_request_and_ioremap() 2013-03-12 08:04:09 -04:00
fujitsu drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
hp drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
i825xx drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
ibm drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
icplus drivers/net/ethernet/icplus: remove depends on CONFIG_EXPERIMENTAL 2013-01-22 12:01:33 -08:00
intel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-03-12 05:52:22 -04:00
marvell mv643xx_eth with 88E1318S: support Wake on LAN 2013-03-12 11:40:54 -04:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-03-12 05:52:22 -04:00
micrel ks8851_mll: basic ethernet statistics 2013-03-12 11:49:31 -04:00
microchip Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
myricom ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
natsemi drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
neterion remove init of dev->perm_addr in drivers 2013-01-08 18:00:48 -08:00
nuvoton drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
nvidia drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
nxp net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
octeon ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
oki-semi
packetengines Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
pasemi net/pasemi: Fix missing coding style 2013-02-24 21:22:47 -05:00
qlogic netxen: write IP address to firmware when using bonding 2013-03-15 08:22:20 -04:00
rdc drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
realtek drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
renesas ethernet: Remove unnecessary alloc/OOM messages, alloc cleanups 2013-02-04 13:22:33 -05:00
seeq drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
sfc sfc: remove duplicated include from efx.c 2013-03-13 11:31:57 -04:00
sgi ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
silan Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sis drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
smsc drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
stmicro Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
sun drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
tehuti drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
ti drivers: net: ethernet: cpsw: implement get phy_id via ioctl 2013-03-13 04:38:20 -04:00
tile net: remove unnecessary NET_ADDR_RANDOM "bitclean" 2013-01-03 22:37:36 -08:00
toshiba net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
tundra
via Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-02-05 14:12:20 -05:00
wiznet net: remove unnecessary NET_ADDR_RANDOM "bitclean" 2013-01-03 22:37:36 -08:00
xilinx drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
xircom drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
xscale net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
dnet.h
ethoc.c ethoc: Cleanup driver format 2013-01-29 14:07:05 -05:00
fealnx.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
jme.c
jme.h
Kconfig drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
korina.c ethtool: fix drvinfo strings set in drivers 2013-01-06 21:06:31 -08:00
lantiq_etop.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00
Makefile drivers/net: delete old 8 bit ISA Racal ni5010 support. 2013-01-22 10:39:52 -05:00
netx-eth.c drivers:net: Remove unnecessary OOM messages after netdev_alloc_skb 2013-03-09 16:09:19 -05:00
s6gmac.c net: phy: remove flags argument from phy_{attach, connect, connect_direct} 2013-01-14 15:11:50 -05:00