[no subject]

2014-02-05 Thread Western Union Office ©


Congratulation !! Confirm your 500,000,00 Euros. Contact claims office via : 
claimsoffic...@yeah.net
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/1] opensm/osm_node_info_rcv.c: Fix multiple switch discovery during a sweep

2014-02-05 Thread Alex Netes
Because of the race between Get(SwitchInfo) and Get(NodeInfo) to the
same switch, SM will send additional Get(SwitchInfo) before it get a
first reply. In a sequence SM will send many redundant MADs and slow
down the discovery process significantly.
With this fix, when a switch doesn't respond to Get(SwitchInfo) once
during the sweep it will be dropped.

Signed-off-by: Alex Netes ale...@mellanox.com
---
 opensm/osm_node_info_rcv.c |   11 ---
 1 files changed, 0 insertions(+), 11 deletions(-)

diff --git a/opensm/osm_node_info_rcv.c b/opensm/osm_node_info_rcv.c
index c0233f7..b7c20e8 100644
--- a/opensm/osm_node_info_rcv.c
+++ b/opensm/osm_node_info_rcv.c
@@ -573,20 +573,9 @@ static void ni_rcv_process_existing_switch(IN osm_sm_t * 
sm,
/*
   If this switch has already been probed during this sweep,
   then don't bother reprobing it.
-  There is one exception - if the node has been visited, but
-  for some reason we don't have the switch object (this can happen
-  if the SwitchInfo mad didn't reach the SM) then we want
-  to retry to probe the switch.
 */
if (p_node-discovery_count == 1)
ni_rcv_process_switch(sm, p_node, p_madw);
-   else if (!p_node-sw) {
-   /* we don't have the SwitchInfo - retry to get it */
-   OSM_LOG(sm-p_log, OSM_LOG_DEBUG,
-   Retry to get SwitchInfo on node GUID:0x% PRIx64 \n,
-   cl_ntoh64(osm_node_get_node_guid(p_node)));
-   ni_rcv_process_switch(sm, p_node, p_madw);
-   }
 
OSM_LOG_EXIT(sm-p_log);
 }
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH for-3.14 1/5] IB/mlx4: Make sure GID index 0 is always occupied

2014-02-05 Thread Or Gerlitz
From: Moni Shoua mo...@mellanox.co.il

Make sure that for Ethernet ports, the port GID table index 0 is always
occupied with a default GID of the relevant IPv6 link-local adderss.

This provides better user-experience for legacy applications that don't use
the rdma-cm and where working on index 0 prior to the IP addressing change.

Also, as GIDs are generated from IP addresses of the network devices that
are associated with the port, its basically possible that the GID table
will be empty if no IP address was assigned. This doesn't comply to the
IB spec section 4.1.1 GID usage and properties.

Signed-off-by: Moni Shoua mo...@mellanox.co.il
Signed-off-by: Or Gerlitz ogerl...@mellanox.com
---
 drivers/infiniband/hw/mlx4/main.c |   92 +++--
 1 files changed, 68 insertions(+), 24 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
index d7a0619..06978cd 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1357,6 +1357,21 @@ static struct device_attribute *mlx4_class_attributes[] 
= {
dev_attr_board_id
 };
 
+static void mlx4_addrconf_ifid_eui48(u8 *eui, u16 vlan_id,
+struct net_device *dev)
+{
+   memcpy(eui, dev-dev_addr, 3);
+   memcpy(eui + 5, dev-dev_addr + 3, 3);
+   if (vlan_id  0x1000) {
+   eui[3] = vlan_id  8;
+   eui[4] = vlan_id  0xff;
+   } else {
+   eui[3] = 0xff;
+   eui[4] = 0xfe;
+   }
+   eui[0] ^= 2;
+}
+
 static void update_gids_task(struct work_struct *work)
 {
struct update_gid_work *gw = container_of(work, struct update_gid_work, 
work);
@@ -1425,7 +1440,8 @@ free:
 }
 
 static int update_gid_table(struct mlx4_ib_dev *dev, int port,
-   union ib_gid *gid, int clear)
+   union ib_gid *gid, int clear,
+   int default_gid)
 {
struct update_gid_work *work;
int i;
@@ -1434,26 +1450,31 @@ static int update_gid_table(struct mlx4_ib_dev *dev, 
int port,
int found = -1;
int max_gids;
 
-   max_gids = dev-dev-caps.gid_table_len[port];
-   for (i = 0; i  max_gids; ++i) {
-   if (!memcmp(dev-iboe.gid_table[port - 1][i], gid,
-   sizeof(*gid)))
-   found = i;
-
-   if (clear) {
-   if (found = 0) {
-   need_update = 1;
-   dev-iboe.gid_table[port - 1][found] = zgid;
-   break;
-   }
-   } else {
-   if (found = 0)
-   break;
-
-   if (free  0 
-   !memcmp(dev-iboe.gid_table[port - 1][i], zgid,
+   if (default_gid) {
+   free = 0;
+   } else {
+   max_gids = dev-dev-caps.gid_table_len[port];
+   for (i = 1; i  max_gids; ++i) {
+   if (!memcmp(dev-iboe.gid_table[port - 1][i], gid,
sizeof(*gid)))
-   free = i;
+   found = i;
+
+   if (clear) {
+   if (found = 0) {
+   need_update = 1;
+   dev-iboe.gid_table[port - 1][found] =
+   zgid;
+   break;
+   }
+   } else {
+   if (found = 0)
+   break;
+
+   if (free  0 
+   !memcmp(dev-iboe.gid_table[port - 1][i],
+   zgid, sizeof(*gid)))
+   free = i;
+   }
}
}
 
@@ -1478,6 +1499,13 @@ static int update_gid_table(struct mlx4_ib_dev *dev, int 
port,
return 0;
 }
 
+static void mlx4_make_default_gid(struct  net_device *dev, union ib_gid *gid)
+{
+   gid-global.subnet_prefix = cpu_to_be64(0xfe80LL);
+   mlx4_addrconf_ifid_eui48(gid-raw[8], 0x, dev);
+}
+
+
 static int reset_gid_table(struct mlx4_ib_dev *dev)
 {
struct update_gid_work *work;
@@ -1502,6 +1530,12 @@ static int mlx4_ib_addr_event(int event, struct 
net_device *event_netdev,
struct net_device *real_dev = rdma_vlan_dev_real_dev(event_netdev) ?
rdma_vlan_dev_real_dev(event_netdev) :
event_netdev;
+   union ib_gid default_gid;
+
+   mlx4_make_default_gid(real_dev, default_gid);
+
+   if (!memcmp(gid, default_gid, sizeof(*gid)))
+   return 0;
 
if (event != NETDEV_DOWN  event != NETDEV_UP)
  

[PATCH for-3.14 2/5] IB/mlx4: Move rtnl locking to the right location

2014-02-05 Thread Or Gerlitz
From: Moni Shoua mo...@mellanox.co.il

On the one hand, the invocation of netdev_master_upper_dev_get() within
mlx4_ib_scan_netdevs() must be done with rtnl lock held. On the other
hand, it's wrong to call rtnl_lock() from within this function since its
also called by our netdev notifier callback. As such, remove the
locking to take place in mlx4_ib_add() such that both cases are covered.

Signed-off-by: Moni Shoua mo...@mellanox.co.il
Signed-off-by: Or Gerlitz ogerl...@mellanox.com
---
 drivers/infiniband/hw/mlx4/main.c |4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
index 06978cd..e05f888 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1707,10 +1707,8 @@ static void mlx4_ib_scan_netdevs(struct mlx4_ib_dev 
*ibdev)
iboe-netdevs[port - 1], port);
if (iboe-netdevs[port - 1] 
netif_is_bond_slave(iboe-netdevs[port - 1])) {
-   rtnl_lock();
iboe-masters[port - 1] = netdev_master_upper_dev_get(
iboe-netdevs[port - 1]);
-   rtnl_unlock();
}
curr_master = iboe-masters[port - 1];
 
@@ -2100,7 +2098,9 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
}
}
 #endif
+   rtnl_lock();
mlx4_ib_scan_netdevs(ibdev);
+   rtnl_unlock();
mlx4_ib_init_gid_table(ibdev);
}
 
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH for-3.14 0/5] mlx4 IP addressing fixes

2014-02-05 Thread Or Gerlitz
Hi Roland, 

This batch contain few small fixes to the mlx4 logic that deals with 
managing the RoCE ports GID table management under IP addressing, which
needs to go into 3.14 along with the other two patches I sent you earlier
this week.

Or.

Moni Shoua (5):
  IB/mlx4: Make sure GID index 0 is always occupied
  IB/mlx4: Move rtnl locking to the right location
  IB/mlx4: Do IBoE locking earlier when initializing the GID table
  IB/mlx4: Do IBoE GID table resets in port based manner
  IB/mlx4: Build the port IBoE GID table properly under bonding

 drivers/infiniband/hw/mlx4/main.c |  176 ++--
 1 files changed, 127 insertions(+), 49 deletions(-)

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH for-3.14 3/5] IB/mlx4: Do IBoE locking earlier when initializing the GID table

2014-02-05 Thread Or Gerlitz
From: Moni Shoua mo...@mellanox.co.il

Updating the GID table under IBoE requires read/write from/to shared
data structures. These data structures are protected with the device
iboe lock. The flows that modify the GID table start from

1. Initializing the GID table
2. NETDEV events
3. INET or INET6 events

This patch makes sure that the flow of initializing the GID table is
consistent with the other two flow w.r.t on what step the lock is taken.

Signed-off-by: Moni Shoua mo...@mellanox.co.il
Signed-off-by: Or Gerlitz ogerl...@mellanox.com
---
 drivers/infiniband/hw/mlx4/main.c |6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
index e05f888..00a1651 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1570,7 +1570,6 @@ static u8 mlx4_ib_get_dev_port(struct net_device *dev,
rdma_vlan_dev_real_dev(dev) : dev;
 
iboe = ibdev-iboe;
-   spin_lock(iboe-lock);
 
for (port = 1; port = MLX4_MAX_PORTS; ++port)
if ((netif_is_bond_master(real_dev) 
@@ -1579,8 +1578,6 @@ static u8 mlx4_ib_get_dev_port(struct net_device *dev,
 (real_dev == iboe-netdevs[port - 1])))
break;
 
-   spin_unlock(iboe-lock);
-
if ((port == 0) || (port  MLX4_MAX_PORTS))
return 0;
else
@@ -1672,11 +1669,13 @@ static void mlx4_ib_set_default_gid(struct mlx4_ib_dev 
*ibdev,
 static int mlx4_ib_init_gid_table(struct mlx4_ib_dev *ibdev)
 {
struct  net_device *dev;
+   struct mlx4_ib_iboe *iboe = ibdev-iboe;
 
if (reset_gid_table(ibdev))
return -1;
 
read_lock(dev_base_lock);
+   spin_lock(iboe-lock);
 
for_each_netdev(init_net, dev) {
u8 port = mlx4_ib_get_dev_port(dev, ibdev);
@@ -1684,6 +1683,7 @@ static int mlx4_ib_init_gid_table(struct mlx4_ib_dev 
*ibdev)
mlx4_ib_get_dev_addr(dev, ibdev, port);
}
 
+   spin_unlock(iboe-lock);
read_unlock(dev_base_lock);
 
return 0;
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH for-3.14 5/5] IB/mlx4: Build the port IBoE GID table properly under bonding

2014-02-05 Thread Or Gerlitz
From: Moni Shoua mo...@mellanox.co.il

When scanning netdevices we need to check few more conditions and cases
to build the IBoE GID table properly. For example, under a bonding use-case
we must make sure that when a port is down, the bond IP address isn't
programmed there as GID, since not doing so will cause failure with IB core
flows that selects ports by GID.

Signed-off-by: Moni Shoua mo...@mellanox.co.il
Signed-off-by: Or Gerlitz ogerl...@mellanox.com
---
 drivers/infiniband/hw/mlx4/main.c |   41 +---
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
index 85fbb41..e81c554 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1507,7 +1507,6 @@ static int reset_gid_table(struct mlx4_ib_dev *dev, u8 
port)
 {
struct update_gid_work *work;
 
-
work = kzalloc(sizeof(*work), GFP_ATOMIC);
if (!work)
return -ENOMEM;
@@ -1699,25 +1698,57 @@ static void mlx4_ib_scan_netdevs(struct mlx4_ib_dev 
*ibdev)
 
spin_lock(iboe-lock);
mlx4_foreach_ib_transport_port(port, ibdev-dev) {
+   enum ib_port_state  port_state = IB_PORT_NOP;
struct net_device *old_master = iboe-masters[port - 1];
+   struct net_device *curr_netdev;
struct net_device *curr_master;
+
iboe-netdevs[port - 1] =
mlx4_get_protocol_dev(ibdev-dev, MLX4_PROT_ETH, port);
if (iboe-netdevs[port - 1])
mlx4_ib_set_default_gid(ibdev,
iboe-netdevs[port - 1], port);
+   curr_netdev = iboe-netdevs[port - 1];
+
if (iboe-netdevs[port - 1] 
netif_is_bond_slave(iboe-netdevs[port - 1])) {
iboe-masters[port - 1] = netdev_master_upper_dev_get(
iboe-netdevs[port - 1]);
+   } else {
+   iboe-masters[port - 1] = NULL;
}
curr_master = iboe-masters[port - 1];
 
+   if (curr_netdev) {
+   port_state = (netif_running(curr_netdev)  
netif_carrier_ok(curr_netdev)) ?
+   IB_PORT_ACTIVE : IB_PORT_DOWN;
+   mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
+   } else {
+   reset_gid_table(ibdev, port);
+   }
+   /* if using bonding/team and a slave port is down, we don't the 
bond IP
+* based gids in the table since flows that select port by gid 
may get
+* the down port.
+*/
+   if (curr_master  (port_state == IB_PORT_DOWN)) {
+   reset_gid_table(ibdev, port);
+   mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
+   }
/* if bonding is used it is possible that we add it to masters
-   only after IP address is assigned to the net bonding
-   interface */
-   if (curr_master  (old_master != curr_master))
+* only after IP address is assigned to the net bonding
+* interface.
+   */
+   if (curr_master  (old_master != curr_master)) {
+   reset_gid_table(ibdev, port);
+   mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
mlx4_ib_get_dev_addr(curr_master, ibdev, port);
+   }
+
+   if (!curr_master  (old_master != curr_master)) {
+   reset_gid_table(ibdev, port);
+   mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
+   mlx4_ib_get_dev_addr(curr_netdev, ibdev, port);
+   }
}
 
spin_unlock(iboe-lock);
@@ -2099,6 +2130,8 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
}
}
 #endif
+   for (i = 1 ; i = ibdev-num_ports ; ++i)
+   reset_gid_table(ibdev, i);
rtnl_lock();
mlx4_ib_scan_netdevs(ibdev);
rtnl_unlock();
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH for-3.14 4/5] IB/mlx4: Do IBoE GID table resets in port based manner

2014-02-05 Thread Or Gerlitz
From: Moni Shoua mo...@mellanox.co.il

The IBoE code used to reset the GID table did it for all Ethernet ports
of the device. Since the whole architecture of generating GIDs and responding
to events is port based, this is inefficient and can lead to wrong content
in the GID table. Change the reset flow to act accordingly.

Signed-off-by: Moni Shoua mo...@mellanox.co.il
Signed-off-by: Or Gerlitz ogerl...@mellanox.com
---
 drivers/infiniband/hw/mlx4/main.c |   35 ++-
 1 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/drivers/infiniband/hw/mlx4/main.c 
b/drivers/infiniband/hw/mlx4/main.c
index 00a1651..85fbb41 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -1408,7 +1408,6 @@ static void reset_gids_task(struct work_struct *work)
struct mlx4_cmd_mailbox *mailbox;
union ib_gid *gids;
int err;
-   int i;
struct mlx4_dev *dev = gw-dev-dev;
 
mailbox = mlx4_alloc_cmd_mailbox(dev);
@@ -1420,18 +1419,16 @@ static void reset_gids_task(struct work_struct *work)
gids = mailbox-buf;
memcpy(gids, gw-gids, sizeof(gw-gids));
 
-   for (i = 1; i  gw-dev-num_ports + 1; i++) {
-   if (mlx4_ib_port_link_layer(gw-dev-ib_dev, i) ==
-   IB_LINK_LAYER_ETHERNET) {
-   err = mlx4_cmd(dev, mailbox-dma,
-  MLX4_SET_PORT_GID_TABLE  8 | i,
-  1, MLX4_CMD_SET_PORT,
-  MLX4_CMD_TIME_CLASS_B,
-  MLX4_CMD_WRAPPED);
-   if (err)
-   pr_warn(KERN_WARNING
-   set port %d command failed\n, i);
-   }
+   if (mlx4_ib_port_link_layer(gw-dev-ib_dev, gw-port) ==
+   IB_LINK_LAYER_ETHERNET) {
+   err = mlx4_cmd(dev, mailbox-dma,
+  MLX4_SET_PORT_GID_TABLE  8 | gw-port,
+  1, MLX4_CMD_SET_PORT,
+  MLX4_CMD_TIME_CLASS_B,
+  MLX4_CMD_WRAPPED);
+   if (err)
+   pr_warn(KERN_WARNING
+   set port %d command failed\n, gw-port);
}
 
mlx4_free_cmd_mailbox(dev, mailbox);
@@ -1506,7 +1503,7 @@ static void mlx4_make_default_gid(struct  net_device 
*dev, union ib_gid *gid)
 }
 
 
-static int reset_gid_table(struct mlx4_ib_dev *dev)
+static int reset_gid_table(struct mlx4_ib_dev *dev, u8 port)
 {
struct update_gid_work *work;
 
@@ -1514,10 +1511,12 @@ static int reset_gid_table(struct mlx4_ib_dev *dev)
work = kzalloc(sizeof(*work), GFP_ATOMIC);
if (!work)
return -ENOMEM;
-   memset(dev-iboe.gid_table, 0, sizeof(dev-iboe.gid_table));
+
+   memset(dev-iboe.gid_table[port - 1], 0, sizeof(work-gids));
memset(work-gids, 0, sizeof(work-gids));
INIT_WORK(work-work, reset_gids_task);
work-dev = dev;
+   work-port = port;
queue_work(wq, work-work);
return 0;
 }
@@ -1670,9 +1669,11 @@ static int mlx4_ib_init_gid_table(struct mlx4_ib_dev 
*ibdev)
 {
struct  net_device *dev;
struct mlx4_ib_iboe *iboe = ibdev-iboe;
+   int i;
 
-   if (reset_gid_table(ibdev))
-   return -1;
+   for (i = 1; i = ibdev-num_ports; ++i)
+   if (reset_gid_table(ibdev, i))
+   return -1;
 
read_lock(dev_base_lock);
spin_lock(iboe-lock);
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH for-3.14 1/5] IB/mlx4: Make sure GID index 0 is always occupied

2014-02-05 Thread Or Gerlitz

On 05/02/2014 15:12, Or Gerlitz wrote:

From: Moni Shouamo...@mellanox.co.il

Make sure that for Ethernet ports, the port GID table index 0 is always
occupied with a default GID of the relevant IPv6 link-local adderss.

This provides better user-experience for legacy applications that don't use
the rdma-cm and where working on index 0 prior to the IP addressing change.
Roland, I see here small typo where instead of were, care to fix 
that yourself?

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [ceph-users] Help needed porting Ceph to RSockets

2014-02-05 Thread Gandalf Corvotempesta
2013-10-31 Hefty, Sean sean.he...@intel.com:
 Can you please try the attached patch in place of all previous patches?

Any updates on ceph with rsockets?
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] opensm: Rename ib_switch_info_set_state_change function in ib_types.h

2014-02-05 Thread Alex Netes
Function name collides with a function defined ibutils package.
New name: ib_switch_info_state_change_set

Signed-off-by: Alex Netes ale...@mellanox.com
---
 include/iba/ib_types.h |6 +++---
 opensm/osm_state_mgr.c |2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/iba/ib_types.h b/include/iba/ib_types.h
index 249ee16..a0bb31c 100644
--- a/include/iba/ib_types.h
+++ b/include/iba/ib_types.h
@@ -6507,9 +6507,9 @@ ib_switch_info_clear_state_change(IN ib_switch_info_t * 
const p_si)
 * SEE ALSO
 */
 
-/f* IBA Base: Types/ib_switch_info_set_state_change
+/f* IBA Base: Types/ib_switch_info_state_change_set
 * NAME
-*  ib_switch_info_set_state_change
+*  ib_switch_info_state_change_set
 *
 * DESCRIPTION
 *  Clears the switch's state change bit.
@@ -6517,7 +6517,7 @@ ib_switch_info_clear_state_change(IN ib_switch_info_t * 
const p_si)
 * SYNOPSIS
 */
 static inline void OSM_API
-ib_switch_info_set_state_change(IN ib_switch_info_t * const p_si)
+ib_switch_info_state_change_set(IN ib_switch_info_t * const p_si)
 {
p_si-life_state = (uint8_t) ((p_si-life_state  ~IB_SWITCH_PSC) | 
IB_SWITCH_PSC);
 }
diff --git a/opensm/osm_state_mgr.c b/opensm/osm_state_mgr.c
index 5080b22..f9b20e2 100644
--- a/opensm/osm_state_mgr.c
+++ b/opensm/osm_state_mgr.c
@@ -559,7 +559,7 @@ static void state_mgr_reset_state_change_bit(IN 
cl_map_item_t * obj,
 
si = p_sw-switch_info;
 
-   ib_switch_info_set_state_change(si);
+   ib_switch_info_state_change_set(si);
 
OSM_LOG(sm-p_log, OSM_LOG_DEBUG,
Resetting PortStateChange on switch GUID 0x%016 PRIx64 \n,
-- 
1.7.1

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


ipoib - problems with offloading checksums

2014-02-05 Thread Hebenstreit, Michael
Problem - offloading checksumms does not work, although the Kernel 
documentation indicates it should

   [root@eha001 ~]# ethtool -K ib0 tx on
   Cannot set device tx-checksumming settings: Operation not supported

IPoIB connected mode is switched of:

   SET_IPOIB_CM=no

This problem exists on both Mellanox/Qlogic cards with either SW stack 
mentioned. Could anyone advise on this problem?


Hardware: Intel EP server with 2x Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
IB cards:  QLogic Corp. IBA7322 QDR InfiniBand HCA (rev 02) , Mellanox 
Technologies MT27500 Family [ConnectX-3]

OS: Redhat 6.4, kernel updated to latest RH supplied kernel via KSplice 
technology 
InfiniBand Software: tried IntelIB-IFS.RHEL6-x86_64.7.2.1.1.22 (based on OFED 
1.5.4.1) or OFED-3.5-MIC-alpha1


Many thanks
Michael



Michael Hebenstreit Senior Cluster Architect
Intel Corporation, MS: RR1-105/H14  Software and Services Group/DCE
4100 Sara Road  Tel.:   +1 505-794-3144 
Rio Rancho, NM 87124
UNITED STATES   E-mail: michael.hebenstr...@intel.com

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] opensm/osm_node_info_rcv.c: Fix multiple switch discovery during a sweep

2014-02-05 Thread Hal Rosenstock
On 2/5/2014 5:08 AM, Alex Netes wrote:
 Because of the race between Get(SwitchInfo) and Get(NodeInfo) to the
 same switch, SM will send additional Get(SwitchInfo) before it get a
 first reply. In a sequence SM will send many redundant MADs and slow
 down the discovery process significantly.
 With this fix, when a switch doesn't respond to Get(SwitchInfo) once
 during the sweep it will be dropped.
 
 Signed-off-by: Alex Netes ale...@mellanox.com

Thanks. Applied.

-- Hal
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] opensm: Rename ib_switch_info_set_state_change function in ib_types.h

2014-02-05 Thread Hal Rosenstock
On 2/5/2014 7:25 AM, Alex Netes wrote:
 Function name collides with a function defined ibutils package.
 New name: ib_switch_info_state_change_set
 
 Signed-off-by: Alex Netes ale...@mellanox.com

Thanks. Applied.

-- Hal
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] libibumad 1.3.9 release

2014-02-05 Thread Hal Rosenstock
There is a new 1.3.9 release of libibumad.

Tarball is available in:
http://www.openfabrics.org/downloads/management/
(listed in http://www.openfabrics.org/downloads/management/latest.txt)

md5sum:
52a81356906f4faf29a6cf9583161aa8  libibumad-1.3.9.tar.gz

Alex Netes (1):
  libibumad: Fix memory leak in resolve_ca_port

Hal Rosenstock (2):
  libibumad: update shared library version
  libibumad: package version update for 1.3.9 release

Ilya Nelkenbaum (1):
  libibumad/umad.c: In resolve_ca_port, skip ethernet link layer ports

Ira Weiny (3):
  libibumad: fix umad_register man page
  libibumad: update umad_[send|recv] man pages to document how rmpp is 
handled
  libibumad: document the setting of errno for umad_send and umad_recv
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[ANNOUNCE] librdmacm 1.0.18 release

2014-02-05 Thread Hefty, Sean
There is a new 1.0.18 release of the librdmacm available.  It may be downloaded 
from:

http://www.openfabrics.org/downloads/rdmacm/

md5sum
786b76ce5f1da97d2b0fd8d787a7add0  librdmacm-1.0.18.tar.gz

The following changes were made between 1.0.17 and 1.0.18.

Bart Van Assche (6):
  Add foreign option to AM_INIT_AUTOMAKE
  Makefile.am: Fix an automake warning
  [1/4] acm: Remove the unused variable 'pri_path'
  [2/4] cma: Remove the unused variable 'id_priv'
  [3/4] rsocket: Remove the unused variable 'ret'
  [4/4] Declare 'server_port' as an unsigned variable

Guy Shapiro (1):
  librdmacm: Some fixes to man pages

Hal Rosenstock (4):
  [librdmacm] man/rdma_create_id.3: Add RDMA_PS_IB port space description
  [librdmacm] rstream.c: Indicate when specified address family is unknown
  [librdmacm] man/rstream.1: Update man page to be consistent with rstream -
  [librdmacm] Makefile.am: Add missing riostream man page to man_MANS

Jeff Squyres (1):
  autogen.sh: Use autoreconf in autogen.sh

Or Gerlitz (1):
  librdmacm: Add directives on binding to IPv6 any address to man pages

Sean Hefty (22):
  rsocket: Merge usage of wr_id between stream and datagram svcs
  rsocket: Add support for iWarp
  lib: Rename configure.in to configure.ac
  cmatose: Allow user to specify address format
  acm: Define needed ACM protocol messages
  init: Remove USE_IB_ACM configuration option
  rsockets: Support native IB addressing on connected rsockets
  examples: Add support for native IB addressing to samples
  rsockets: Add ability to set the IB route directly
  rsocket: Return 0 on success for SOL_RDMA options
  rstream: Use rsocket option to set route directly
  cmtime: Add example program that times rdma cm calls
  cmtime: Add ability to time rdma_bind_addr calls
  cmtime: Allow user to specify timeout values
  cmtime: Add retry support for address and route resolution
  rsocket: Update rsocket man page
  rsockets: Handle race between rshutdown and rpoll
  Retrieve SGID after calling rdma_bind_addr
  rping: Fix server reporting error on exit
  librdmacm: Check 'init' under mutex
  udaddy: Remove support for port space IB
  librdmacm 1.0.18

Susan K. Coulter (1):
  rsocket: Add keepalive logic

Yan Droneaud (1):
  examples: Add cmtime to .gitignore

Yann Droneaud (5):
  configure: Apply updates proposed by autoupdate
  configure: Use automake's option subdir-objects
  Add .gitignore rules
  Open files with close on exec flag
  Remove executable mode bit on text files
--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] IB: Refactor umem to use linear SG table

2014-02-05 Thread Upinder Malhi (umalhi)

On Feb 2, 2014, at 11:30 PM, Shachar Raindel rain...@mellanox.com wrote:

Follow up.
 You can probably offer a patch to ib_umem_get, passing a flag to it 
 identifying if
 it should also do the DMA mapping, and use the same code base as the rest of 
 the
 IB drivers.
The usnic memory management stuff is entirely freed of ib objects.  If we were 
to move to using ib_umem_get, the code would get corrupted with ib objects.  
There are also other subtle minor differences.  The overlap with ib_umem_get is 
minor, so I am not going to port this code over to use ib_umem_get.
 
 A better solution would be to fix Intel's IOMMU code such that it works 
 properly if
 the page is mapped using both dma_map_sg and the IOMMU API.
 
 
 
 Any particular reason that the code in usNIC that walks the chunk sg's isn't
 ported to the linear SG table?
 
 As your code didn't use the API which we changed, we preferred avoiding 
 changing
 it, to avoid introducing issues into the code, especially when we don't have 
 the
 needed hardware to test your code on.
 
 You are more than welcome to implement a similar change in your code, or port
 your code to use the ib_umem_get API.
I will submit a patch for this.

--
To unsubscribe from this list: send the line unsubscribe linux-rdma in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html