1. 16 10月, 2007 13 次提交
    • M
      net/bonding: Delay sending of gratuitous ARP to avoid failure · 1053f62c
      Moni Shoua 提交于
      Delay sending a gratuitous_arp when LINK_STATE_LINKWATCH_PENDING bit
      in dev->state field is on. This improves the chances for the arp packet to
      be transmitted.
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1053f62c
    • M
      net/bonding: Handlle wrong assumptions that slave is always an Ethernet device · 3158bf7d
      Moni Shoua 提交于
      bonding sometimes uses Ethernet constants (such as MTU and address length) which
      are not good when it enslaves non Ethernet devices (such as InfiniBand).
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3158bf7d
    • M
      net/bonding: Enable IP multicast for bonding IPoIB devices · 6b1bf096
      Moni Shoua 提交于
      Allow to enslave devices when the bonding device is not up. Over the discussion
      held at the previous post this seemed to be the most clean way to go, where it
      is not expected to cause instabilities.
      
      Normally, the bonding driver is UP before any enslavement takes place.
      Once a netdevice is UP, the network stack acts to have it join some multicast groups
      (eg the all-hosts 224.0.0.1). Now, since ether_setup() have set the bonding device
      type to be ARPHRD_ETHER and address len to be ETHER_ALEN, the net core code
      computes a wrong multicast link address. This is b/c ip_eth_mc_map() is called
      where for multicast joins taking place after the enslavement another ip_xxx_mc_map()
      is called (eg ip_ib_mc_map() when the bond type is ARPHRD_INFINIBAND)
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      6b1bf096
    • M
      net/bonding: Enable bonding to enslave netdevices not supporting set_mac_address() · 2ab82852
      Moni Shoua 提交于
      This patch allows for enslaving netdevices which do not support
      the set_mac_address() function. In that case the bond mac address is the one
      of the active slave, where remote peers are notified on the mac address
      (neighbour) change by Gratuitous ARP sent by bonding when fail-over occurs
      (this is already done by the bonding code).
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2ab82852
    • M
      net/bonding: Enable bonding to enslave non ARPHRD_ETHER · 872254dd
      Moni Shoua 提交于
      This patch changes some of the bond netdevice attributes and functions
      to be that of the active slave for the case of the enslaved device not being
      of ARPHRD_ETHER type. Basically it overrides those setting done by ether_setup(),
      which are netdevice **type** dependent and hence might be not appropriate for
      devices of other types. It also enforces mutual exclusion on bonding slaves
      from dissimilar ether types, as was concluded over the v1 discussion.
      
      IPoIB (see Documentation/infiniband/ipoib.txt) MAC address is made of a 3 bytes
      IB QP (Queue Pair) number and 16 bytes IB port GID (Global ID) of the port this
      IPoIB device is bounded to. The QP is a resource created by the IB HW and the
      GID is an identifier burned into the HCA (i have omitted here some details which
      are not important for the bonding RFC).
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      872254dd
    • M
      IB/ipoib: Verify address handle validity on send · 200d1713
      Moni Shoua 提交于
      When the bonding device senses a carrier loss of its active slave it replaces
      that slave with a new one. In between the times when the carrier of an IPoIB
      device goes down and ipoib_neigh is destroyed, it is possible that the
      bonding driver will send a packet on a new slave that uses an old ipoib_neigh.
      This patch detects and prevents this from happenning.
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NRoland Dreier <rdreier@cisco.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      200d1713
    • M
      IB/ipoib: Bound the net device to the ipoib_neigh structue · 732a2170
      Moni Shoua 提交于
      IPoIB uses a two layer neighboring scheme, such that for each struct neighbour
      whose device is an ipoib one, there is a struct ipoib_neigh buddy which is
      created on demand at the tx flow by an ipoib_neigh_alloc(skb->dst->neighbour)
      call.
      
      When using the bonding driver, neighbours are created by the net stack on behalf
      of the bonding (master) device. On the tx flow the bonding code gets an skb such
      that skb->dev points to the master device, it changes this skb to point on the
      slave device and calls the slave hard_start_xmit function.
      
      Under this scheme, ipoib_neigh_destructor assumption that for each struct
      neighbour it gets, n->dev is an ipoib device and hence netdev_priv(n->dev)
      can be casted to struct ipoib_dev_priv is buggy.
      
      To fix it, this patch adds a dev field to struct ipoib_neigh which is used
      instead of the struct neighbour dev one, when n->dev->flags has the
      IFF_MASTER bit set.
      
      Signed-off-by: Moni Shoua <monis at voltaire.com>
      Signed-off-by: Or Gerlitz <ogerlitz at voltaire.com>
      Acked-by: NRoland Dreier <rdreier@cisco.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      732a2170
    • M
      natsemi: Check return value for pci_enable_device() · a8a935da
      Mark Brown 提交于
      pci_enable_device() is __must_check so do that in natsemi_resume().
      Signed-off-by: NMark Brown <broonie@sirena.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      a8a935da
    • M
      natsemi: Use round_jiffies() for slow timers · 0e5d5442
      Mark Brown 提交于
      Unless we have failed to fill the RX ring the timer used by the natsemi
      driver is not particularly urgent and can use round_jiffies() to allow
      grouping with other timers.
      Signed-off-by: NMark Brown <broonie@sirena.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      0e5d5442
    • L
      Merge git://git.linux-nfs.org/pub/linux/nfs-2.6 · f4921aff
      Linus Torvalds 提交于
      * git://git.linux-nfs.org/pub/linux/nfs-2.6: (131 commits)
        NFSv4: Fix a typo in nfs_inode_reclaim_delegation
        NFS: Add a boot parameter to disable 64 bit inode numbers
        NFS: nfs_refresh_inode should clear cache_validity flags on success
        NFS: Fix a connectathon regression in NFSv3 and NFSv4
        NFS: Use nfs_refresh_inode() in ops that aren't expected to change the inode
        SUNRPC: Don't call xprt_release in call refresh
        SUNRPC: Don't call xprt_release() if call_allocate fails
        SUNRPC: Fix buggy UDP transmission
        [23/37] Clean up duplicate includes in
        [2.6 patch] net/sunrpc/rpcb_clnt.c: make struct rpcb_program static
        SUNRPC: Use correct type in buffer length calculations
        SUNRPC: Fix default hostname created in rpc_create()
        nfs: add server port to rpc_pipe info file
        NFS: Get rid of some obsolete macros
        NFS: Simplify filehandle revalidation
        NFS: Ensure that nfs_link() returns a hashed dentry
        NFS: Be strict about dentry revalidation when doing exclusive create
        NFS: Don't zap the readdir caches upon error
        NFS: Remove the redundant nfs_reval_fsid()
        NFSv3: Always use directory post-op attributes in nfs3_proc_lookup
        ...
      
      Fix up trivial conflict due to sock_owned_by_user() cleanup manually in
      net/sunrpc/xprtsock.c
      f4921aff
    • L
      Merge branch 'v2.6.24-lockdep' of... · 419217cb
      Linus Torvalds 提交于
      Merge branch 'v2.6.24-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep
      
      * 'v2.6.24-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep:
        lockdep: annotate dir vs file i_mutex
        lockdep: per filesystem inode lock class
        lockdep: annotate kprobes irq fiddling
        lockdep: annotate rcu_read_{,un}lock{,_bh}
        lockdep: annotate journal_start()
        lockdep: s390: connect the sysexit hook
        lockdep: x86_64: connect the sysexit hook
        lockdep: i386: connect the sysexit hook
        lockdep: syscall exit check
        lockdep: fixup mutex annotations
        lockdep: fix mismatched lockdep_depth/curr_chain_hash
        lockdep: Avoid /proc/lockdep & lock_stat infinite output
        lockdep: maintainers
      419217cb
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 · 4937ce87
      Linus Torvalds 提交于
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
        [IA64] update sn2_defconfig
        [IA64] Fix kernel hangup in kdump on INIT
        [IA64] Fix kernel panic in kdump on INIT
        [IA64] Remove vector from ia64_machine_kexec()
        [IA64] Fix race when multiple cpus go through MCA
        [IA64] Remove needless delay in MCA rendezvous
        [IA64] add driver for ACPI methods to call native firmware
        [IA64] abstract SAL_CALL wrapper to allow other firmware entry points
        [IA64] perfmon: Remove exit_pfm_fs()
        [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations
      4937ce87
    • L
      Get rid of unused variable warning in drivers/pci/hotplug/pci_hotplug_core.c · 4271e0f7
      Linus Torvalds 提交于
      Commit 5a7ad7f0 removed all uses of
      'retval', but didn't remove the variable itself.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4271e0f7
  2. 15 10月, 2007 27 次提交