SOURCES: kernel-zph.patch (NEW) - new from http://zph.bratcheda.org/
dzeus
dzeus at pld-linux.org
Wed May 14 23:45:00 CEST 2008
Author: dzeus Date: Wed May 14 21:45:00 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- new from http://zph.bratcheda.org/
---- Files affected:
SOURCES:
kernel-zph.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/kernel-zph.patch
diff -u /dev/null SOURCES/kernel-zph.patch:1.1
--- /dev/null Wed May 14 23:45:00 2008
+++ SOURCES/kernel-zph.patch Wed May 14 23:44:55 2008
@@ -0,0 +1,49 @@
+diff -Nur linux-2.6.25/include/net/inet_sock.h linux-2.6.25-zph/include/net/inet_sock.h
+--- linux-2.6.25/include/net/inet_sock.h 2008-04-16 21:49:44.000000000 -0500
++++ linux-2.6.25-zph/include/net/inet_sock.h 2008-04-23 10:14:10.000000000 -0500
+@@ -142,6 +142,7 @@
+ __be32 addr;
+ struct flowi fl;
+ } cork;
++ __u8 zph_tos; /* ZPH TOS received on connect */
+ };
+
+ #define IPCORK_OPT 1 /* ip-options has been held in ipcork.opt */
+diff -Nur linux-2.6.25/net/ipv4/ip_sockglue.c linux-2.6.25-zph/net/ipv4/ip_sockglue.c
+--- linux-2.6.25/net/ipv4/ip_sockglue.c 2008-04-16 21:49:44.000000000 -0500
++++ linux-2.6.25-zph/net/ipv4/ip_sockglue.c 2008-04-23 10:15:17.000000000 -0500
+@@ -1120,6 +1120,10 @@
+ int hlim = inet->mc_ttl;
+ put_cmsg(&msg, SOL_IP, IP_TTL, sizeof(hlim), &hlim);
+ }
++ if (inet->cmsg_flags&IP_CMSG_TOS) {
++ int hlim = inet->zph_tos;
++ put_cmsg(&msg, SOL_IP, IP_TOS, sizeof(hlim), &hlim);
++ }
+ len -= msg.msg_controllen;
+ return put_user(len, optlen);
+ }
+diff -Nur linux-2.6.25/net/ipv4/tcp_input.c linux-2.6.25-zph/net/ipv4/tcp_input.c
+--- linux-2.6.25/net/ipv4/tcp_input.c 2008-04-16 21:49:44.000000000 -0500
++++ linux-2.6.25-zph/net/ipv4/tcp_input.c 2008-04-23 10:16:35.000000000 -0500
+@@ -4883,6 +4883,8 @@
+ {
+ struct tcp_sock *tp = tcp_sk(sk);
+ struct inet_connection_sock *icsk = inet_csk(sk);
++ struct inet_sock *inet = inet_sk(sk);
++ struct iphdr *iph = ip_hdr(skb);
+ int saved_clamp = tp->rx_opt.mss_clamp;
+
+ tcp_parse_options(skb, &tp->rx_opt, 0);
+@@ -4941,6 +4943,12 @@
+
+ TCP_ECN_rcv_synack(tp, th);
+
++ /* ZPH:
++ * Copy TOS field from the SYNACK packet to zph_tos field
++ * of the af_inet member of sock structure
++ */
++ inet->zph_tos = iph->tos;
++
+ tp->snd_wl1 = TCP_SKB_CB(skb)->seq;
+ tcp_ack(sk, skb, FLAG_SLOWPATH);
================================================================
More information about the pld-cvs-commit
mailing list