aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2006-09-27 21:32:28 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-28 21:02:04 -0400
commit269bd27e66037a7932cee6d6aa7ef7defd0bfe38 (patch)
tree92b1694b00ee61777bd6976d32cb283effdf9172
parent46a97324a5ebdc1e343a0223d993e79551adab0f (diff)
[TCP]: struct tcp_sack_block annotations
Some of the instances of tcp_sack_block are host-endian, some - net-endian. Define struct tcp_sack_block_wire identical to struct tcp_sack_block with u32 replaced with __be32; annotate uses of tcp_sack_block replacing net-endian ones with tcp_sack_block_wire. Change is obviously safe since for cc(1) __be32 is typedefed to u32. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/tcp.h5
-rw-r--r--net/ipv4/netfilter/ip_nat_helper.c2
-rw-r--r--net/ipv4/tcp_input.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 543f06371840..9632aa866de4 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -166,6 +166,11 @@ struct tcp_info
166#include <net/inet_timewait_sock.h> 166#include <net/inet_timewait_sock.h>
167 167
168/* This defines a selective acknowledgement block. */ 168/* This defines a selective acknowledgement block. */
169struct tcp_sack_block_wire {
170 __be32 start_seq;
171 __be32 end_seq;
172};
173
169struct tcp_sack_block { 174struct tcp_sack_block {
170 __u32 start_seq; 175 __u32 start_seq;
171 __u32 end_seq; 176 __u32 end_seq;
diff --git a/net/ipv4/netfilter/ip_nat_helper.c b/net/ipv4/netfilter/ip_nat_helper.c
index 7f6a75984f6c..e9c5187ea5b2 100644
--- a/net/ipv4/netfilter/ip_nat_helper.c
+++ b/net/ipv4/netfilter/ip_nat_helper.c
@@ -283,7 +283,7 @@ sack_adjust(struct sk_buff *skb,
283 struct ip_nat_seq *natseq) 283 struct ip_nat_seq *natseq)
284{ 284{
285 while (sackoff < sackend) { 285 while (sackoff < sackend) {
286 struct tcp_sack_block *sack; 286 struct tcp_sack_block_wire *sack;
287 u_int32_t new_start_seq, new_end_seq; 287 u_int32_t new_start_seq, new_end_seq;
288 288
289 sack = (void *)skb->data + sackoff; 289 sack = (void *)skb->data + sackoff;
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index b3def0df14fb..46984ffd73cd 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -935,7 +935,7 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_
935 const struct inet_connection_sock *icsk = inet_csk(sk); 935 const struct inet_connection_sock *icsk = inet_csk(sk);
936 struct tcp_sock *tp = tcp_sk(sk); 936 struct tcp_sock *tp = tcp_sk(sk);
937 unsigned char *ptr = ack_skb->h.raw + TCP_SKB_CB(ack_skb)->sacked; 937 unsigned char *ptr = ack_skb->h.raw + TCP_SKB_CB(ack_skb)->sacked;
938 struct tcp_sack_block *sp = (struct tcp_sack_block *)(ptr+2); 938 struct tcp_sack_block_wire *sp = (struct tcp_sack_block_wire *)(ptr+2);
939 int num_sacks = (ptr[1] - TCPOLEN_SACK_BASE)>>3; 939 int num_sacks = (ptr[1] - TCPOLEN_SACK_BASE)>>3;
940 int reord = tp->packets_out; 940 int reord = tp->packets_out;
941 int prior_fackets; 941 int prior_fackets;