1. 15 Mar, 2013 1 commit
    • nikolay@redhat.com's avatar
      netxen: write IP address to firmware when using bonding · 8a7fbfab
      nikolay@redhat.com authored
      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: default avatarRajesh Borundia <rajesh.borundia@qlogic.com>
      Signed-off-by: default avatarAndy Gospodarek <agospoda@redhat.com>
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a7fbfab
  2. 14 Mar, 2013 23 commits
  3. 13 Mar, 2013 16 commits