[openib-general] Re: [PATCH] [kdapl] More minor AT changes

James Lentini jlentini at netapp.com
Tue May 17 14:30:55 PDT 2005


Committed in revision 2373.

On Tue, 17 May 2005, Hal Rosenstock wrote:

halr> More minor AT changes
halr> Integrate a couple more changes from shahar-ibat branch
halr> 
halr> Signed-off-by: Hal Rosenstock <halr at voltaire.com>
halr> 
halr> Index: at.c
halr> ===================================================================
halr> --- at.c	(revision 2371)
halr> +++ at.c	(working copy)
halr> @@ -454,8 +454,8 @@
halr>  	struct path_req *pa = container_of(a, struct path_req, pend);
halr>  	struct path_req *pb = container_of(b, struct path_req, pend);
halr>  
halr> -	return !memcmp(&pa->rt.sgid, &pa->rt.sgid, sizeof(pa->rt.sgid)) &&
halr> -	       !memcmp(&pa->rt.sgid, &pa->rt.sgid, sizeof(pa->rt.sgid)) &&
halr> +	return !memcmp(&pa->rt.sgid, &pb->rt.sgid, sizeof(pa->rt.sgid)) &&
halr> +	       !memcmp(&pa->rt.dgid, &pb->rt.dgid, sizeof(pa->rt.dgid)) &&
halr>  	       pa->rt.out_dev == pb->rt.out_dev &&
halr>  	       pa->rt.out_port == pb->rt.out_port &&
halr>  	       pa->rt.attr.pkey == pb->rt.attr.pkey &&
halr> @@ -590,18 +590,18 @@
halr>  		return;
halr>  	}
halr>  
halr> +	req->pend.sa_query = NULL;
halr> +
halr>  	if (status) {
halr>  		DEBUG("status %d - check if should retry", status);
halr>  		if (status == -ETIMEDOUT &&
halr>  		    jiffies - req->pend.start < IB_AT_REQ_TIMEOUT)
halr>  			resolve_path(req);
halr>  		else
halr> -			req_end(&req->pend, -ETIMEDOUT, &pending_reqs);
halr> +			req_end(&req->pend, status, &pending_reqs);
halr>  		return;
halr>  	}
halr>  
halr> -	req->pend.sa_query = NULL;
halr> -
halr>  	req->pend.nelem = path_req_output(req, resp, 1,
halr>  					  req->pend.data, req->pend.nelem);
halr>  
halr> @@ -737,13 +737,13 @@
halr>  
halr>  	arp = (struct ib_arp *)skb->nh.raw;
halr>  
halr> -	DEBUG("Process IB ARP ip <%d.%d.%d.%d> gid <0x%016llx%016llx>",
halr> -	      (arp->src_ip & 0x000000ff),
halr> -	      (arp->src_ip & 0x0000ff00) >> 8,
halr> -	      (arp->src_ip & 0x00ff0000) >> 16,
halr> -	      (arp->src_ip & 0xff000000) >> 24,
halr> -	      be64_to_cpu(arp->src_gid.global.subnet_prefix),
halr> -	      be64_to_cpu(arp->src_gid.global.interface_id));
halr> +	WARN("Process IB ARP ip <%d.%d.%d.%d> gid <0x%016llx%016llx>",
halr> +	     (arp->src_ip & 0x000000ff),
halr> +	     (arp->src_ip & 0x0000ff00) >> 8,
halr> +	     (arp->src_ip & 0x00ff0000) >> 16,
halr> +	     (arp->src_ip & 0xff000000) >> 24,
halr> +	     be64_to_cpu(arp->src_gid.global.subnet_prefix),
halr> +	     be64_to_cpu(arp->src_gid.global.interface_id));
halr>  
halr>  	spin_lock_irqsave(&q->lock, flags);
halr>  	for (a = q->next; a != q; a = a->next) {
halr> @@ -811,6 +811,9 @@
halr>  	struct async *parent;
halr>  	int r;
halr>  
halr> +	if (flags & IB_AT_ROUTE_FORCE_ATS)
halr> +		return -EINVAL; /* for now */
halr> +
halr>  	if (!ib_route || !dst_ip)
halr>  		return -EINVAL;
halr>  
halr> @@ -875,6 +878,7 @@
halr>  
halr>  	/* TODO: cache lookup
halr>  	if (in_cache) {
halr> +		DEBUG("!in_cache free req %p", preq);
halr>  		kmem_cache_free(path_req_cache, preq);
halr>  		return path_req_output(preq, cached_arr, n, path_arr, npath);
halr>  	}
halr> @@ -883,6 +887,7 @@
halr>  	/* TODO: resolve outdev if not given
halr>  	r = resolve_outdev(&preq->rt);
halr>  	if (r < 0) {
halr> +		DEBUG("resolve_outdev r < 0 free req %p", preq);
halr>  		kmem_cache_free(path_req_cache, preq);
halr>  		return r;
halr>  	}
halr> @@ -1029,7 +1034,7 @@
halr>  
halr>  	/*
halr>  	 * install device for receiving ARP packets in parallel to the normal
halr> -	 * Linux ARP, this will be the SDP notifier that an ARP request has
halr> +	 * Linux ARP, this will be the notifier that an ARP request has
halr>  	 * completed.
halr>  	 */
halr>  	dev_add_pack(&ib_at_arp_type);
halr> 
halr> 
halr> 



More information about the general mailing list