Re: [PATCH] RDMA/nes: ip address print changes

2011-10-28 Thread Roland Dreier
On Thu, Oct 27, 2011 at 9:10 AM, Faisal Latif faisal.la...@intel.com wrote:
 Fix printing of ip addresses to use %pI4.

Thanks, looks fine, I'll apply this.

But looking at this patch makes me wonder why nes ever stores IPv4
addresses in host order?  Couldn't a ton of swapping be eliminated
by just making eg cm_node-rem_addr etc. be in network order?

 - R.
--
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] RDMA/nes: ip address print changes

2011-10-27 Thread Faisal Latif
Fix printing of ip addresses to use %pI4.

Reported-by: Roland Dreier rol...@purestorage.com
Signed-off-by: Tatyana Nikolova tatyana.e.nikol...@intel.com
Signed-off-by: Faisal Latif faisal.la...@intel.com
---
 drivers/infiniband/hw/nes/nes_cm.c |   96 +++-
 drivers/infiniband/hw/nes/nes_hw.c |6 +-
 2 files changed, 54 insertions(+), 48 deletions(-)

diff --git a/drivers/infiniband/hw/nes/nes_cm.c 
b/drivers/infiniband/hw/nes/nes_cm.c
index dfce9ea..1414168 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -173,6 +173,7 @@ static struct nes_cm_event *create_event(struct nes_cm_node 
*   cm_node,
 enum nes_cm_event_type type)
 {
struct nes_cm_event *event;
+   __be32 tmp_loc_addr, tmp_rem_addr;
 
if (!cm_node-cm_id)
return NULL;
@@ -191,11 +192,14 @@ static struct nes_cm_event *create_event(struct 
nes_cm_node * cm_node,
event-cm_info.loc_port = cm_node-loc_port;
event-cm_info.cm_id = cm_node-cm_id;
 
+   tmp_loc_addr = htonl(cm_node-loc_addr);
+   tmp_rem_addr = htonl(cm_node-rem_addr);
+
nes_debug(NES_DBG_CM, cm_node=%p Created event=%p, type=%u, 
- dst_addr=%08x[%x], src_addr=%08x[%x]\n,
- cm_node, event, type, event-cm_info.loc_addr,
- event-cm_info.loc_port, event-cm_info.rem_addr,
- event-cm_info.rem_port);
+ loc_addr=%pI4[%x], rem_addr=%pI4[%x]\n,
+   cm_node, event, type, tmp_loc_addr,
+   event-cm_info.loc_port, tmp_rem_addr,
+   event-cm_info.rem_port);
 
nes_cm_post_event(event);
return event;
@@ -1335,11 +1339,12 @@ static int nes_addr_resolve_neigh(struct nes_vnic 
*nesvnic, u32 dst_ip, int arpi
int rc = arpindex;
struct net_device *netdev;
struct nes_adapter *nesadapter = nesvnic-nesdev-nesadapter;
+   __be32 rem_addr = htonl(dst_ip);
 
-   rt = ip_route_output(init_net, htonl(dst_ip), 0, 0, 0);
+   rt = ip_route_output(init_net, rem_addr, 0, 0, 0);
if (IS_ERR(rt)) {
-   printk(KERN_ERR %s: ip_route_output_key failed for 0x%08X\n,
-  __func__, dst_ip);
+   printk(KERN_ERR %s: ip_route_output_key failed for %pI4\n,
+  __func__, rem_addr);
return rc;
}
 
@@ -1351,9 +1356,9 @@ static int nes_addr_resolve_neigh(struct nes_vnic 
*nesvnic, u32 dst_ip, int arpi
neigh = neigh_lookup(arp_tbl, rt-rt_gateway, netdev);
if (neigh) {
if (neigh-nud_state  NUD_VALID) {
-   nes_debug(NES_DBG_CM, Neighbor MAC address for 0x%08X
-  is %pM, Gateway is 0x%08X \n, dst_ip,
- neigh-ha, ntohl(rt-rt_gateway));
+   nes_debug(NES_DBG_CM, Neighbor MAC address for %pI4
+  is %pM, Gateway is %pI4\n, rem_addr,
+ neigh-ha, rt-rt_gateway);
 
if (arpindex = 0) {
if 
(!memcmp(nesadapter-arp_table[arpindex].mac_addr,
@@ -1397,6 +1402,7 @@ static struct nes_cm_node *make_cm_node(struct 
nes_cm_core *cm_core,
int arpindex = 0;
struct nes_device *nesdev;
struct nes_adapter *nesadapter;
+   __be32 tmp_rem_addr;
 
/* create an hte and cm_node for this instance */
cm_node = kzalloc(sizeof(*cm_node), GFP_ATOMIC);
@@ -1414,9 +1420,11 @@ static struct nes_cm_node *make_cm_node(struct 
nes_cm_core *cm_core,
cm_node-ird_size = IETF_NO_IRD_ORD;
cm_node-ord_size = IETF_NO_IRD_ORD;
 
+   tmp_rem_addr = htonl(cm_node-rem_addr);
nes_debug(NES_DBG_CM, Make node addresses : loc = %pI4:%x, rem = 
%pI4:%x\n,
- cm_node-loc_addr, cm_node-loc_port,
- cm_node-rem_addr, cm_node-rem_port);
+ nesvnic-local_ipaddr, cm_node-loc_port,
+ tmp_rem_addr, cm_node-rem_port);
+
cm_node-listener = listener;
cm_node-netdev = nesvnic-netdev;
cm_node-cm_id = cm_info-cm_id;
@@ -2198,8 +2206,8 @@ static struct nes_cm_listener *mini_cm_listen(struct 
nes_cm_core *cm_core,
struct nes_cm_listener *listener;
unsigned long flags;
 
-   nes_debug(NES_DBG_CM, Search for 0x%08x : 0x%04x\n,
- cm_info-loc_addr, cm_info-loc_port);
+   nes_debug(NES_DBG_CM, Search for %pI4 : 0x%04x\n,
+ cm_info-loc_addr, cm_info-loc_port);
 
/* cannot have multiple matching listeners */
listener = find_listener(cm_core, htonl(cm_info-loc_addr),
@@ -2248,9 +2256,9 @@ static struct nes_cm_listener *mini_cm_listen(struct 
nes_cm_core *cm_core,
atomic_inc(cm_core-listen_node_cnt);
}
 
-   nes_debug(NES_DBG_CM, Api - listen():