aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2007-04-11 00:04:22 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:25:26 -0400
commitaa8223c7bb0b05183e1737881ed21827aa5b9e73 (patch)
tree05c9832326edfeb878472f15cf8133ed9f014cdf /net/ipv6/tcp_ipv6.c
parentab6a5bb6b28a970104a34f0f6959b73cf61bdc72 (diff)
[SK_BUFF]: Introduce tcp_hdr(), remove skb->h.th
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r--net/ipv6/tcp_ipv6.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index c573353f21cd..4a55da079f5f 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -117,8 +117,8 @@ static __u32 tcp_v6_init_sequence(struct sk_buff *skb)
117{ 117{
118 return secure_tcpv6_sequence_number(ipv6_hdr(skb)->daddr.s6_addr32, 118 return secure_tcpv6_sequence_number(ipv6_hdr(skb)->daddr.s6_addr32,
119 ipv6_hdr(skb)->saddr.s6_addr32, 119 ipv6_hdr(skb)->saddr.s6_addr32,
120 skb->h.th->dest, 120 tcp_hdr(skb)->dest,
121 skb->h.th->source); 121 tcp_hdr(skb)->source);
122} 122}
123 123
124static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, 124static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
@@ -509,7 +509,7 @@ static int tcp_v6_send_synack(struct sock *sk, struct request_sock *req,
509 509
510 skb = tcp_make_synack(sk, dst, req); 510 skb = tcp_make_synack(sk, dst, req);
511 if (skb) { 511 if (skb) {
512 struct tcphdr *th = skb->h.th; 512 struct tcphdr *th = tcp_hdr(skb);
513 513
514 th->check = tcp_v6_check(th, skb->len, 514 th->check = tcp_v6_check(th, skb->len,
515 &treq->loc_addr, &treq->rmt_addr, 515 &treq->loc_addr, &treq->rmt_addr,
@@ -838,7 +838,7 @@ static int tcp_v6_inbound_md5_hash (struct sock *sk, struct sk_buff *skb)
838 __u8 *hash_location = NULL; 838 __u8 *hash_location = NULL;
839 struct tcp_md5sig_key *hash_expected; 839 struct tcp_md5sig_key *hash_expected;
840 struct ipv6hdr *ip6h = ipv6_hdr(skb); 840 struct ipv6hdr *ip6h = ipv6_hdr(skb);
841 struct tcphdr *th = skb->h.th; 841 struct tcphdr *th = tcp_hdr(skb);
842 int length = (th->doff << 2) - sizeof (*th); 842 int length = (th->doff << 2) - sizeof (*th);
843 int genhash; 843 int genhash;
844 u8 *ptr; 844 u8 *ptr;
@@ -946,7 +946,7 @@ static struct timewait_sock_ops tcp6_timewait_sock_ops = {
946static void tcp_v6_send_check(struct sock *sk, int len, struct sk_buff *skb) 946static void tcp_v6_send_check(struct sock *sk, int len, struct sk_buff *skb)
947{ 947{
948 struct ipv6_pinfo *np = inet6_sk(sk); 948 struct ipv6_pinfo *np = inet6_sk(sk);
949 struct tcphdr *th = skb->h.th; 949 struct tcphdr *th = tcp_hdr(skb);
950 950
951 if (skb->ip_summed == CHECKSUM_PARTIAL) { 951 if (skb->ip_summed == CHECKSUM_PARTIAL) {
952 th->check = ~csum_ipv6_magic(&np->saddr, &np->daddr, len, IPPROTO_TCP, 0); 952 th->check = ~csum_ipv6_magic(&np->saddr, &np->daddr, len, IPPROTO_TCP, 0);
@@ -967,7 +967,7 @@ static int tcp_v6_gso_send_check(struct sk_buff *skb)
967 return -EINVAL; 967 return -EINVAL;
968 968
969 ipv6h = ipv6_hdr(skb); 969 ipv6h = ipv6_hdr(skb);
970 th = skb->h.th; 970 th = tcp_hdr(skb);
971 971
972 th->check = 0; 972 th->check = 0;
973 th->check = ~csum_ipv6_magic(&ipv6h->saddr, &ipv6h->daddr, skb->len, 973 th->check = ~csum_ipv6_magic(&ipv6h->saddr, &ipv6h->daddr, skb->len,
@@ -979,7 +979,7 @@ static int tcp_v6_gso_send_check(struct sk_buff *skb)
979 979
980static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb) 980static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
981{ 981{
982 struct tcphdr *th = skb->h.th, *t1; 982 struct tcphdr *th = tcp_hdr(skb), *t1;
983 struct sk_buff *buff; 983 struct sk_buff *buff;
984 struct flowi fl; 984 struct flowi fl;
985 int tot_len = sizeof(*th); 985 int tot_len = sizeof(*th);
@@ -1079,7 +1079,7 @@ static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb)
1079static void tcp_v6_send_ack(struct tcp_timewait_sock *tw, 1079static void tcp_v6_send_ack(struct tcp_timewait_sock *tw,
1080 struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 ts) 1080 struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 ts)
1081{ 1081{
1082 struct tcphdr *th = skb->h.th, *t1; 1082 struct tcphdr *th = tcp_hdr(skb), *t1;
1083 struct sk_buff *buff; 1083 struct sk_buff *buff;
1084 struct flowi fl; 1084 struct flowi fl;
1085 int tot_len = sizeof(struct tcphdr); 1085 int tot_len = sizeof(struct tcphdr);
@@ -1195,7 +1195,7 @@ static void tcp_v6_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req)
1195static struct sock *tcp_v6_hnd_req(struct sock *sk,struct sk_buff *skb) 1195static struct sock *tcp_v6_hnd_req(struct sock *sk,struct sk_buff *skb)
1196{ 1196{
1197 struct request_sock *req, **prev; 1197 struct request_sock *req, **prev;
1198 const struct tcphdr *th = skb->h.th; 1198 const struct tcphdr *th = tcp_hdr(skb);
1199 struct sock *nsk; 1199 struct sock *nsk;
1200 1200
1201 /* Find possible connection requests. */ 1201 /* Find possible connection requests. */
@@ -1275,7 +1275,7 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
1275 treq = inet6_rsk(req); 1275 treq = inet6_rsk(req);
1276 ipv6_addr_copy(&treq->rmt_addr, &ipv6_hdr(skb)->saddr); 1276 ipv6_addr_copy(&treq->rmt_addr, &ipv6_hdr(skb)->saddr);
1277 ipv6_addr_copy(&treq->loc_addr, &ipv6_hdr(skb)->daddr); 1277 ipv6_addr_copy(&treq->loc_addr, &ipv6_hdr(skb)->daddr);
1278 TCP_ECN_create_request(req, skb->h.th); 1278 TCP_ECN_create_request(req, tcp_hdr(skb));
1279 treq->pktopts = NULL; 1279 treq->pktopts = NULL;
1280 if (ipv6_opt_accepted(sk, skb) || 1280 if (ipv6_opt_accepted(sk, skb) ||
1281 np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || 1281 np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo ||
@@ -1528,14 +1528,14 @@ out:
1528static __sum16 tcp_v6_checksum_init(struct sk_buff *skb) 1528static __sum16 tcp_v6_checksum_init(struct sk_buff *skb)
1529{ 1529{
1530 if (skb->ip_summed == CHECKSUM_COMPLETE) { 1530 if (skb->ip_summed == CHECKSUM_COMPLETE) {
1531 if (!tcp_v6_check(skb->h.th, skb->len, &ipv6_hdr(skb)->saddr, 1531 if (!tcp_v6_check(tcp_hdr(skb), skb->len, &ipv6_hdr(skb)->saddr,
1532 &ipv6_hdr(skb)->daddr, skb->csum)) { 1532 &ipv6_hdr(skb)->daddr, skb->csum)) {
1533 skb->ip_summed = CHECKSUM_UNNECESSARY; 1533 skb->ip_summed = CHECKSUM_UNNECESSARY;
1534 return 0; 1534 return 0;
1535 } 1535 }
1536 } 1536 }
1537 1537
1538 skb->csum = ~csum_unfold(tcp_v6_check(skb->h.th, skb->len, 1538 skb->csum = ~csum_unfold(tcp_v6_check(tcp_hdr(skb), skb->len,
1539 &ipv6_hdr(skb)->saddr, 1539 &ipv6_hdr(skb)->saddr,
1540 &ipv6_hdr(skb)->daddr, 0)); 1540 &ipv6_hdr(skb)->daddr, 0));
1541 1541
@@ -1601,7 +1601,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1601 1601
1602 if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ 1602 if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
1603 TCP_CHECK_TIMER(sk); 1603 TCP_CHECK_TIMER(sk);
1604 if (tcp_rcv_established(sk, skb, skb->h.th, skb->len)) 1604 if (tcp_rcv_established(sk, skb, tcp_hdr(skb), skb->len))
1605 goto reset; 1605 goto reset;
1606 TCP_CHECK_TIMER(sk); 1606 TCP_CHECK_TIMER(sk);
1607 if (opt_skb) 1607 if (opt_skb)
@@ -1632,7 +1632,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1632 } 1632 }
1633 1633
1634 TCP_CHECK_TIMER(sk); 1634 TCP_CHECK_TIMER(sk);
1635 if (tcp_rcv_state_process(sk, skb, skb->h.th, skb->len)) 1635 if (tcp_rcv_state_process(sk, skb, tcp_hdr(skb), skb->len))
1636 goto reset; 1636 goto reset;
1637 TCP_CHECK_TIMER(sk); 1637 TCP_CHECK_TIMER(sk);
1638 if (opt_skb) 1638 if (opt_skb)
@@ -1698,7 +1698,7 @@ static int tcp_v6_rcv(struct sk_buff **pskb)
1698 if (!pskb_may_pull(skb, sizeof(struct tcphdr))) 1698 if (!pskb_may_pull(skb, sizeof(struct tcphdr)))
1699 goto discard_it; 1699 goto discard_it;
1700 1700
1701 th = skb->h.th; 1701 th = tcp_hdr(skb);
1702 1702
1703 if (th->doff < sizeof(struct tcphdr)/4) 1703 if (th->doff < sizeof(struct tcphdr)/4)
1704 goto bad_packet; 1704 goto bad_packet;
@@ -1709,7 +1709,7 @@ static int tcp_v6_rcv(struct sk_buff **pskb)
1709 tcp_v6_checksum_init(skb))) 1709 tcp_v6_checksum_init(skb)))
1710 goto bad_packet; 1710 goto bad_packet;
1711 1711
1712 th = skb->h.th; 1712 th = tcp_hdr(skb);
1713 TCP_SKB_CB(skb)->seq = ntohl(th->seq); 1713 TCP_SKB_CB(skb)->seq = ntohl(th->seq);
1714 TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + 1714 TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin +
1715 skb->len - th->doff*4); 1715 skb->len - th->doff*4);