lswl, DCCP_SKB_CB(skb)->dccpd_seq, dp->dccps_swh, 
(unsigned long long) lswl, (unsigned long long) DCCP_SKB_CB(skb)->dccpd_seq, (unsigned long long) dp->dccps_swh, 
static int dccp_check_seqno(struct sock *sk, struct sk_buff *skb){	const struct dccp_hdr *dh = dccp_hdr(skb);	struct dccp_sock *dp = dccp_sk(sk);	u64 lswl, lawl;	/*	 *   Step 5: Prepare sequence numbers for Sync	 *     If P.type == Sync or P.type == SyncAck,	 *	  If S.AWL <= P.ackno <= S.AWH and P.seqno >= S.SWL,	 *	     / * P is valid, so update sequence number variables	 *		 accordingly.  After this update, P will pass the tests	 *		 in Step 6.  A SyncAck is generated if necessary in	 *		 Step 15 * /	 *	     Update S.GSR, S.SWL, S.SWH	 *	  Otherwise,	 *	     Drop packet and return	 */	if (dh->dccph_type == DCCP_PKT_SYNC || 	    dh->dccph_type == DCCP_PKT_SYNCACK) {		if (between48(DCCP_SKB_CB(skb)->dccpd_ack_seq,			      dp->dccps_awl, dp->dccps_awh) &&		    !before48(DCCP_SKB_CB(skb)->dccpd_seq, dp->dccps_swl))			dccp_update_gsr(sk, DCCP_SKB_CB(skb)->dccpd_seq);		else			return -1;	}		/*	 *   Step 6: Check sequence numbers	 *      Let LSWL = S.SWL and LAWL = S.AWL	 *      If P.type == CloseReq or P.type == Close or P.type == Reset,	 *	  LSWL := S.GSR + 1, LAWL := S.GAR	 *      If LSWL <= P.seqno <= S.SWH	 *	     and (P.ackno does not exist or LAWL <= P.ackno <= S.AWH),	 *	  Update S.GSR, S.SWL, S.SWH	 *	  If P.type != Sync,	 *	     Update S.GAR	 *      Otherwise,	 *	  Send Sync packet acknowledging P.seqno	 *	  Drop packet and return	 */	lswl = dp->dccps_swl;	lawl = dp->dccps_awl;	if (dh->dccph_type == DCCP_PKT_CLOSEREQ ||	    dh->dccph_type == DCCP_PKT_CLOSE ||	    dh->dccph_type == DCCP_PKT_RESET) {		lswl = dp->dccps_gsr;		dccp_inc_seqno(&lswl);		lawl = dp->dccps_gar;	}	if (between48(DCCP_SKB_CB(skb)->dccpd_seq, lswl, dp->dccps_swh) &&	    (DCCP_SKB_CB(skb)->dccpd_ack_seq == DCCP_PKT_WITHOUT_ACK_SEQ ||	     between48(DCCP_SKB_CB(skb)->dccpd_ack_seq,		       lawl, dp->dccps_awh))) {		dccp_update_gsr(sk, DCCP_SKB_CB(skb)->dccpd_seq);		if (dh->dccph_type != DCCP_PKT_SYNC &&		    (DCCP_SKB_CB(skb)->dccpd_ack_seq !=		     DCCP_PKT_WITHOUT_ACK_SEQ))			dp->dccps_gar = DCCP_SKB_CB(skb)->dccpd_ack_seq;	} else {		LIMIT_NETDEBUG(KERN_WARNING "DCCP: Step 6 failed for %s packet, "					    "(LSWL(%llu) <= P.seqno(%llu) <= S.SWH(%llu)) and "					    "(P.ackno %s or LAWL(%llu) <= P.ackno(%llu) <= S.AWH(%llu), "					    "sending SYNC...\n",			       dccp_packet_name(dh->dccph_type),			       lswl, DCCP_SKB_CB(skb)->dccpd_seq, dp->dccps_swh,			       (DCCP_SKB_CB(skb)->dccpd_ack_seq ==			        DCCP_PKT_WITHOUT_ACK_SEQ) ? "doesn't exist" : "exists",			       lawl, DCCP_SKB_CB(skb)->dccpd_ack_seq, dp->dccps_awh);		dccp_send_sync(sk, DCCP_SKB_CB(skb)->dccpd_seq, DCCP_PKT_SYNC);		return -1;	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/58e45131dc269eff0983c6d44494f9e687686900/input.c/clean/net/dccp/input.c