1. 30 3月, 2006 1 次提交
  2. 25 3月, 2006 1 次提交
    • L
      IPoIB: P_Key change event handling · 7a343d4c
      Leonid Arsh 提交于
      This patch causes the network interface to respond to P_Key change
      events correctly.  As a result, you'll see a child interface in the
      "RUNNING" state (netif_carrier_on()) only when the corresponding P_Key
      is configured by the SM.  When SM removes a P_Key, the "RUNNING" state
      will be disabled for the corresponding network interface.  To
      implement this, I added IB_EVENT_PKEY_CHANGE event handling.  To
      prevent flushing the device before the device is open by the "delay
      open" mechanism, I added an additional device flag called
      IPOIB_FLAG_INITIALIZED.
      
      This also prevents the child network interface from trying to join to
      multicast groups until the PKEY is configured.  We used to get error
      messages like:
      
          ib0.f2f2: couldn't attach QP to multicast group ff12:401b:f2f2:0:0:0:ffff:ffff
      
      in this case.  To fix this, I just check IPOIB_FLAG_OPER_UP flag in
      ipoib_set_mcast_list().
      Signed-off-by: NLeonid Arsh <leonida@voltaire.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      7a343d4c
  3. 21 3月, 2006 3 次提交
    • M
      [NET]: Move destructor from neigh->ops to neigh_params · c5ecd62c
      Michael S. Tsirkin 提交于
      struct neigh_ops currently has a destructor field, which no in-kernel
      drivers outside of infiniband use.  The infiniband/ulp/ipoib in-tree
      driver stashes some info in the neighbour structure (the results of
      the second-stage lookup from ARP results to real link-level path), and
      it uses neigh->ops->destructor to get a callback so it can clean up
      this extra info when a neighbour is freed.  We've run into problems
      with this: since the destructor is in an ops field that is shared
      between neighbours that may belong to different net devices, there's
      no way to set/clear it safely.
      
      The following patch moves this field to neigh_parms where it can be
      safely set, together with its twin neigh_setup.  Two additional
      patches in the patch series update ipoib to use this new interface.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c5ecd62c
    • R
      IPoIB: Get rid of useless test of queue length · bfef73fa
      Roland Dreier 提交于
      In neigh_add_path(), the queue of delayed packets can never be full,
      because the queue is always freshly created and cannot be found by any
      other code path.  In fact, the test of the queue length is worse than
      useless: if somehow the test ever triggered and path_rec_start() also
      failed, then dev_kfree_skb_any() will be called twice on the same skb.
      Fix this by deleting the useless test.  Pointed out by Michael
      S. Tsirkin <mst@mellanox.co.il>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bfef73fa
    • J
      IPoIB: Move ipoib_ib_dev_flush() to ipoib workqueue · 0b3ea082
      Jack Morgenstein 提交于
      Move ipoib_ib_dev_flush() to ipoib's workqueue.  This keeps it ordered
      with respect to other work scheduled by the ipoib driver.  This fixes
      problems with races, for example:
       - ipoib_ib_dev_flush() has started running because of an IB event
       - user does ifconfig ib0 down
       - ipoib_mcast_stop_thread() gets called twice and waits for the same
         completion twice
      Signed-off-by: NJack Morgenstein <jackm@mellanox.co.il>
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      0b3ea082
  4. 18 1月, 2006 1 次提交
  5. 14 1月, 2006 1 次提交
  6. 04 1月, 2006 1 次提交
  7. 30 11月, 2005 2 次提交
  8. 29 11月, 2005 1 次提交
  9. 11 11月, 2005 1 次提交
    • R
      [IPoIB] add path record information in debugfs · 1732b0ef
      Roland Dreier 提交于
      Add ibX_path files to debugfs that contain information about the IPoIB
      path cache.  IPoIB ARP only gives GIDs, which the IPoIB driver must
      resolve to real IB paths through the ib_sa module.  For debugging,
      when the ARP table looks OK but traffic isn't flowing, it's useful to
      be able to see if the resolution from GID to path worked.
      
      Also clean up the formatting of the existing _mcg debugfs files.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1732b0ef
  10. 03 11月, 2005 1 次提交
  11. 02 11月, 2005 1 次提交
  12. 30 10月, 2005 1 次提交
  13. 29 10月, 2005 1 次提交
    • R
      [IPoIB] Drop RX packets when out of memory · 1993d683
      Roland Dreier 提交于
      Change the way IPoIB handles RX packets when it can't allocate a new
      receive skbuff.  If the allocation of a new receive skb fails, we now
      drop the packet we just received and repost the original receive skb.
      This means that the receive ring always stays full and we don't have
      to monkey around with trying to schedule a refill task for later.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1993d683
  14. 19 10月, 2005 1 次提交
  15. 29 9月, 2005 1 次提交
  16. 19 9月, 2005 1 次提交
  17. 08 9月, 2005 1 次提交
  18. 27 8月, 2005 6 次提交
  19. 29 7月, 2005 1 次提交
  20. 17 4月, 2005 3 次提交