Commit 2cafc7dd authored by bol-van's avatar bol-van
Browse files

nfqws: optimize

parent 2daf7647
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1018,7 +1018,7 @@ static bool tcp_orig_send(uint8_t verdict, uint32_t fwmark, const char *ifout, c
		uint8_t ttl_orig, ttl_dup, scale_factor;
		uint16_t flags_dup;
		uint32_t *timestamps;
		bool sack, DF;
		bool sack, DF, bTF;

		extract_endpoints(dis->ip, dis->ip6, dis->tcp, NULL, &src, &dst);
		ttl_orig = dis->ip ? dis->ip->ip_ttl : dis->ip6->ip6_ctlun.ip6_un1.ip6_un1_hlim;
@@ -1029,11 +1029,10 @@ static bool tcp_orig_send(uint8_t verdict, uint32_t fwmark, const char *ifout, c
		{
			ttl_dup = (ctrack && ctrack->dup_autottl) ? ctrack->dup_autottl : (dis->ip6 ? (dp->dup_ttl6 ? dp->dup_ttl6 : ttl_orig) : (dp->dup_ttl ? dp->dup_ttl : ttl_orig));

			if (dp->dup_fooling_mode || dp->dup_tcp_flags_set || dp->dup_tcp_flags_unset || (dis->ip && dp->dup_ip_id_mode!=IPID_SAME))
			{
			flags_dup = dis->tcp->th_flags;
				rewrite_tcp_flags(&flags_dup, dp->dup_tcp_flags_unset, dp->dup_tcp_flags_set, "dup");

			bTF = rewrite_tcp_flags(&flags_dup, dp->dup_tcp_flags_unset, dp->dup_tcp_flags_set, "dup");
			if (bTF || dp->dup_fooling_mode || (dis->ip && dp->dup_ip_id_mode!=IPID_SAME))
			{
				scale_factor = tcp_find_scale_factor(dis->tcp);
				timestamps = tcp_find_timestamps(dis->tcp);
				sack = tcp_has_sack(dis->tcp);