PERFORCE change 136915 for review

Paolo Pisati piso at FreeBSD.org
Wed Mar 5 14:59:08 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=136915

Change 136915 by piso at piso_ferret on 2008/03/05 14:58:42

	Don't pass down the entire packet: GetDeltaAckIn and GetDeltaSeqOut.

Affected files ...

.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#64 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#28 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#21 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#23 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#29 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#25 edit
.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#21 edit

Differences ...

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias.c#64 (text+ko) ====

@@ -924,7 +924,8 @@
 		if (GetAckModified(lnk) == 1) {
 			int delta;
 
-			delta = GetDeltaAckIn(pip, lnk);
+			tc = (struct tcphdr *)ip_next(pip);
+			delta = GetDeltaAckIn(tc->th_ack, lnk);
 			if (delta != 0) {
 				accumulate += twowords(&tc->th_ack);
 				tc->th_ack = htonl(ntohl(tc->th_ack) - delta);
@@ -1048,8 +1049,9 @@
 /* Modify sequence number if necessary */
 		if (GetAckModified(lnk) == 1) {
 			int delta;
-
-			delta = GetDeltaSeqOut(pip, lnk);
+			
+			tc = (struct tcphdr *)ip_next(pip);
+			delta = GetDeltaSeqOut(tc->th_seq, lnk);
 			if (delta != 0) {
 				accumulate += twowords(&tc->th_seq);
 				tc->th_seq = htonl(ntohl(tc->th_seq) + delta);

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_db.c#28 (text+ko) ====

@@ -2007,7 +2007,7 @@
 
 // XXX ip free
 int
-GetDeltaAckIn(struct ip *pip, struct alias_link *lnk)
+GetDeltaAckIn(u_long ack, struct alias_link *lnk)
 {
 /*
 Find out how much the ACK number has been altered for an incoming
@@ -2016,12 +2016,7 @@
 */
 
 	int i;
-	struct tcphdr *tc;
 	int delta, ack_diff_min;
-	u_long ack;
-
-	tc = ip_next(pip);
-	ack = tc->th_ack;
 
 	delta = 0;
 	ack_diff_min = -1;
@@ -2051,7 +2046,7 @@
 
 // XXX ip free
 int
-GetDeltaSeqOut(struct ip *pip, struct alias_link *lnk)
+GetDeltaSeqOut(u_long seq, struct alias_link *lnk)
 {
 /*
 Find out how much the sequence number has been altered for an outgoing
@@ -2060,12 +2055,7 @@
 */
 
 	int i;
-	struct tcphdr *tc;
 	int delta, seq_diff_min;
-	u_long seq;
-
-	tc = ip_next(pip);
-	seq = tc->th_seq;
 
 	delta = 0;
 	seq_diff_min = -1;

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_ftp.c#21 (text+ko) ====

@@ -734,7 +734,8 @@
 			int delta;
 
 			SetAckModified(lnk);
-			delta = GetDeltaSeqOut(pip, lnk);
+			tc = (struct tcphdr *)ip_next(pip);				
+			delta = GetDeltaSeqOut(tc->th_seq, lnk);
 			AddSeq(pip, lnk, delta + slen - dlen);
 		}
 

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_irc.c#23 (text+ko) ====

@@ -432,7 +432,8 @@
 			int delta;
 
 			SetAckModified(lnk);
-			delta = GetDeltaSeqOut(pip, lnk);
+			tc = (struct tcphdr *)ip_next(pip);				
+			delta = GetDeltaSeqOut(tc->th_seq, lnk);
 			AddSeq(pip, lnk, delta + copyat + iCopy - dlen);
 		}
 

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#29 (text+ko) ====

@@ -298,8 +298,8 @@
 void		SetProxyPort(struct alias_link *_lnk, u_short _port);
 void		SetAckModified(struct alias_link *_lnk);
 int		GetAckModified(struct alias_link *_lnk);
-int		GetDeltaAckIn(struct ip *_pip, struct alias_link *_lnk);
-int		GetDeltaSeqOut(struct ip *_pip, struct alias_link *_lnk);
+int		GetDeltaAckIn(u_long, struct alias_link *_lnk);
+int             GetDeltaSeqOut(u_long, struct alias_link *lnk);
 void		AddSeq    (struct ip *_pip, struct alias_link *_lnk, int _delta);
 void		SetExpire (struct alias_link *_lnk, int _expire);
 void		ClearCheckNewLink(struct libalias *la);

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_proxy.c#25 (text+ko) ====

@@ -453,7 +453,8 @@
 		int delta;
 
 		SetAckModified(lnk);
-		delta = GetDeltaSeqOut(pip, lnk);
+		tc = (struct tcphdr *)ip_next(pip);			
+		delta = GetDeltaSeqOut(tc->th_seq, lnk);
 		AddSeq(pip, lnk, delta + slen);
 	}
 

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_smedia.c#21 (text+ko) ====

@@ -404,7 +404,8 @@
 	memcpy(data, newdata, new_dlen);
 
 	SetAckModified(lnk);
-	delta = GetDeltaSeqOut(pip, lnk);
+	tc = (struct tcphdr *)ip_next(pip);
+	delta = GetDeltaSeqOut(tc->th_seq, lnk);
 	AddSeq(pip, lnk, delta + new_dlen - dlen);
 
 	new_len = htons(hlen + new_dlen);


More information about the p4-projects mailing list