if (cp->cport || (cp->flags & IP_VS_CONN_F_NO_CPORT)) { 
if (!(cp->flags & IP_VS_CONN_F_TEMPLATE)) { 
static inline void ip_vs_unbind_dest(struct ip_vs_conn *cp){	struct ip_vs_dest *dest = cp->dest;	if (!dest)		return;	IP_VS_DBG(9, "Unbind-dest %s c:%u.%u.%u.%u:%d v:%u.%u.%u.%u:%d "		  "d:%u.%u.%u.%u:%d fwd:%c s:%u flg:%X cnt:%d destcnt:%d\n",		  ip_vs_proto_name(cp->protocol),		  NIPQUAD(cp->caddr), ntohs(cp->cport),		  NIPQUAD(cp->vaddr), ntohs(cp->vport),		  NIPQUAD(cp->daddr), ntohs(cp->dport),		  ip_vs_fwd_tag(cp), cp->state,		  cp->flags, atomic_read(&cp->refcnt),		  atomic_read(&dest->refcnt));	/* Update the connection counters */	if (cp->cport || (cp->flags & IP_VS_CONN_F_NO_CPORT)) {		/* It is a normal connection, so decrease the inactconns		   or activeconns counter */		if (cp->flags & IP_VS_CONN_F_INACTIVE) {			atomic_dec(&dest->inactconns);		} else {			atomic_dec(&dest->activeconns);		}	} else {		/* It is a persistent connection/template, so decrease		   the peristent connection counter */		atomic_dec(&dest->persistconns);	}	if (dest->l_threshold != 0) {		if (ip_vs_dest_totalconns(dest) < dest->l_threshold)			dest->flags &= ~IP_VS_DEST_F_OVERLOAD;	} else if (dest->u_threshold != 0) {		if (ip_vs_dest_totalconns(dest) * 4 < dest->u_threshold * 3)			dest->flags &= ~IP_VS_DEST_F_OVERLOAD;	} else {		if (dest->flags & IP_VS_DEST_F_OVERLOAD)			dest->flags &= ~IP_VS_DEST_F_OVERLOAD;	}	/*	 * Simply decrease the refcnt of the dest, because the	 * dest will be either in service's destination list	 * or in the trash.	 */	atomic_dec(&dest->refcnt);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/87375ab47cd0ba04124c6d3fd80db5c368f5dcb6/ip_vs_conn.c/buggy/net/ipv4/ipvs/ip_vs_conn.c